sort by:
Revision Author Date Message Commit Date
a476c28 [Coverage] Fix function mapping record emission We emit an extra byte in the name field of function mapping records. The extra null byte confuses llvm InstrProfReader, resulting in a loss of coverage information. We need execution tests to prevent this sort of issue from arising in the future. Before that can happen, swift needs to start maintaining its own branches of compiler-rt (this is SR-601). Swift PR 1051, rdar://problem/24267336 25 January 2016, 21:55:48 UTC
5104d4b Eliminate external dependencies from this testcase. 25 January 2016, 21:50:10 UTC
180c70d [vim] support for more keywords Support for a newly introduced `associatedtype` as well as `final`, `override` etc. `get`/`set`, nil`, `as` and `??` will get highlighted too. 25 January 2016, 18:55:46 UTC
14d665b mention the 'associatedtype' change. 25 January 2016, 18:55:45 UTC
f2cd3f0 [stdlib] Switch keywords from 'typealias' to 'associatedtype' in stdlib Fixes deprecation warnings arising from addition of new ‘associatedtype’ keyword in sr-511. 25 January 2016, 18:55:45 UTC
9d802c4 Reinstate "[SR-511][Parse] Add 'associatedtype' keyword and fixit" This reverts commit ce7b2bcf094a17fec1a3f3cfa713995f3ced1ef3, tweaking a few validation tests appropriately (1 crasher fixed, two -verify tests that needed updating). 25 January 2016, 18:55:44 UTC
f959494 Merge pull request #1086 from tanadeau/sr-538-2.2-backport [SR-538][Stdlib][2.2] Updated constraints and docs for popFirst/popLast. Added tests. 25 January 2016, 00:20:39 UTC
ad78f9a Updated constraints and docs for popFirst/popLast. Added tests. 24 January 2016, 18:38:03 UTC
5320294 SILGen: Fix materializeForSet for observing accessors The following patch introduced a regression where materializeForSet did not invoke didSet/willSet for stored properties with observers: <https://github.com/apple/swift/commit/249242b08df1c9adc75ea5571ee1be7593945ed4> The old SILGen materializeForSet was only used for witness thunks, where it used Ordinary access semantics for the storage. When I switched over to using the new materializeForSet implementation for static thunks too, I added some logic to use DirectToStorage access semantics where appropriate, however this was wrong for observable properties, which need DirectToAccessor semantics. Fixes <rdar://problem/24315392>. 24 January 2016, 08:21:50 UTC
32ea32b Swift 3 migration: correct annotation for deinitializePointee() 23 January 2016, 02:27:15 UTC
c5a5f62 [sourcekit] Introduce 'sourcekitd_variant_json_description_copy' for getting a json format out of a variant object. rdar://24280139 22 January 2016, 23:09:47 UTC
0102470 [sourcekit/test] Remove absolute paths for the test output of SourceKit/DocSupport/doc_clang_module.swift. 22 January 2016, 23:09:16 UTC
aaac6b4 [sourcekit] When printing requests/responses make sure to escape the strings. This makes it more clear what the response string contains, plus you can copy the printed request directly for passing to sourcekitd_request_create_from_yaml. 22 January 2016, 21:52:39 UTC
b964b03 Use /// instead of /** for doxygen documentation comments. 22 January 2016, 21:52:26 UTC
c5f0f16 Swift 3 migration: annotations for MirrorPathType 22 January 2016, 10:31:49 UTC
fffd931 Swift 3 migration: add more annotations 22 January 2016, 10:07:17 UTC
203a272 Swift 3 migration: undo the count -> length change 22 January 2016, 10:06:20 UTC
ec702ab Update @swift3_migration attributes in the standard library to use renamedToProperty. 22 January 2016, 05:39:41 UTC
d660aa8 [Swift 3 migration] Add renamedToProperty="propName" support to the attribute. When a function is renamed to a property, we can now express this transformation with @swift3_migration(renamedToProperty="propName"). Update the migration to handle rewriting declarations and use sites for this change. 22 January 2016, 05:39:41 UTC
7d2b4d8 Sema: Better fix for duplicate emission of accessors When compiling a module with multiple FileUnits (eg, while running swiftc without -whole-module-optimization), we emit all decls in the ExternalDeclarations list for every FileUnit, leading to duplicate symbols if any of those decls were public. Joe's workaround skipped decls on ExternalDefinitions that were already emitted in the current FileUnit, but that was not sufficient; the right fix is to not put stuff on ExternalDeclarations at all, if we're going to emit it as part of a decl inside our file. In this case, the synthesized _code accessors for an ErrorType conformance do not belong in ExternalDefinitions, because they're part of an ExtensionDecl that is in the current FileUnit. Finally add some tests for this stuff, because it appears our existing coverage was insufficient. 22 January 2016, 04:15:05 UTC
64be9eb SILGen: Minimal workaround for multiple-emission bug with Clang-importer-synthesized properties on enums. If you extend a C/ObjC enum type to conform to ErrorType, then the synthesized _code getter ends up registered as an external decl, but appears to already get synthesized due to @slavapestov's changes. I'm not sure whether this is reliable enough that we can simply stop registering the external decls, so just to keep the build from crashing, insert a check in emitExternalDecls that we didn't already emit the decl and skip emission. Low-risk workaround for rdar://problem/24287125. 22 January 2016, 03:05:19 UTC
3a630b5 [sourcekit] Add the version to the XPC service identifier so that it can be distinct amongst multiple toolchains. rdar://24292112 22 January 2016, 02:44:02 UTC
3ca266a Build fix: missing include in Version.h This was breaking the LLDB build, but was coincidentally building fine in Swift due to other header includes. 22 January 2016, 02:00:20 UTC
176abf9 Swift 3 migration: undo the count -> length change 22 January 2016, 01:21:06 UTC
9b6f99a Add changelog entry for SE-0020 implementation in Swift 2.2. 22 January 2016, 01:08:06 UTC
31dc8e7 SE-0020: Swift Language Version Build Configuration Introduce a new "swift" build configuration that guards declarations and statements with a language version - if the current language version of the compiler is at least that version, the block will parse as normal. For inactive blocks, the code will not be parsed an no diagnostics will be emitted there. Example: #if swift(>=2.2) print("Active") #else this code will not parse or emit diagnostics #endif https://github.com/apple/swift-evolution/blob/master/proposals/0020-if-swift-version.md rdar://problem/19823607 22 January 2016, 00:31:52 UTC
ce767b8 build presets: install libclang headers correctly in the OS X preset 21 January 2016, 22:30:05 UTC
4a74e2e Swift 3 migration: add annotations for EnumerateSequence 21 January 2016, 22:17:43 UTC
afa32c3 [SourceKit][CodeFormat] Indent case label items of a case statement as siblings. rdar://24279926 21 January 2016, 22:05:20 UTC
f827598 Properly set dylib versions on Darwin for production builds This passes -current_version and -compatibility_version to the Darwin linker when SWIFT_COMPILER_VERSION is set. rdar://problem/23434683 21 January 2016, 21:19:04 UTC
a8d5652 Remove -triple from SourceKit/SourceDocInfo/cursor_overrides test 21 January 2016, 21:18:12 UTC
3084b1f Update availability tests to be independent of the actual deployment target Use fictional version numbers in the 10.50..10.99 range. 21 January 2016, 21:18:06 UTC
0969455 [SyntaxModel] Highlight '/*: ... */', when appearing in playground, as doc comment block. rdar://24234991 21 January 2016, 19:40:38 UTC
a946b25 SIL: Targeted fix for materializeForSet emission for static generic property This is part of the following commit in the master branch: <https://github.com/apple/swift/commit/c0fb492cc0aec16f4fc91a31fe3daeadb5bc0598> It is needed in conjunction with the following, which was already cherry-picked into swift-2.2-branch: <https://github.com/apple/swift/commit/7edc5db2c19bda835fcb027f651d2f00bb97533a> 21 January 2016, 05:45:38 UTC
819eabc [test] Split an OSX-specific invocation to its own file and make sure to use the mock SDK for a sourcekit test. rdar://24263618 21 January 2016, 04:34:50 UTC
cdc4ab5 Don't add capture arguments to default argument generators. If we ever add the ability for default arguments to refer to enclosing variables, we should promote DefaultArgumentInitializer to be an always-present entity, give it an independent capture list, and make SILDeclRef refer to it directly. In fact, we may want to do that anyway. Until then, it's a weird special case in terms of not really being a reference to the function returned by getAnyFunctionRef(). rdar://24242783 21 January 2016, 02:37:45 UTC
9127dfd [Parser] For accessors, never enclose 'static' keywords as their start locations. This problem is manifested as a SourceKit indentation problem in rdar://24251847. 21 January 2016, 01:42:57 UTC
11313b2 [Sema] Fix assertion building refinement context for synthesized accessors. For VarDecls with synthesized trivial accessors, we may have not a valid location for the end of the braces, which causes an assertion failure when constructing the type refinement context range for underlying storage. This is a quick fix to fall back to using the range of the storage in this case. The right fix here is to update AbstractStorageDecl::addTrivialAccessors() to take brace locations and have callers of that method provide appropriate source locations. rdar://problem/24258839 (cherry picked from commit 523296161d521381ba06b99d5a225e3cec37454a) 21 January 2016, 01:22:15 UTC
42e827e Revert "Revert "Sema: Always synthesize accessors for structs, unless they were imported from Clang"" This reverts commit f6dd24bb68b35292c3663c92c74508e97f247e53. 21 January 2016, 01:22:15 UTC
ac1f5a6 Fix diagnostic type list. 21 January 2016, 01:18:27 UTC
6331ef7 Add SE-0021 to the changelog 21 January 2016, 01:12:36 UTC
a5eeb16 Remove UnresolvedConstructorExpr. UnresolvedConstructorExpr is not providing any value here; it's essentially just UnresolvedDotExpr where the name refers to an initializer, so use that instead. NFC 21 January 2016, 01:12:35 UTC
ab09ef1 [SE-0021] Allow naming of specific initializers via "self.init(foo:bar:)". 21 January 2016, 01:12:35 UTC
4431ee0 Remove all vestiges of UnresolvedSelectorExpr. NFC 21 January 2016, 01:12:34 UTC
af6e196 Start parsing names with argument labels. Basic implementatation of SE-0021, naming functions with argument labels. Handle parsing of compound function names in various unqualified-identifier productions, updating the AST representation of various expressions from Identifiers to DeclNames. The result doesn't capture all of the source locations we want; more on that later. As part of this, remove the parsing code for the "selector-style" method names, since we now have a replacement. The feature was never publicized and doesn't make sense in Swift, so zap it outright. 21 January 2016, 01:12:31 UTC
ca33e31 [Serialization] Name lookup hack for mixed omit-needless-words/non-omit-needless-words. This egregious hack makes it so that we can properly dump APIs using "-enable-omit-needless-words" even when the compiler was built without it. 21 January 2016, 01:01:07 UTC
107f4ee Revert "Revert "[Clang importer] Always record module prefixes for stripping."" This reverts commit 5c4d1cff64c59a45c8585c7e9cbfd974410c50f6. 21 January 2016, 01:01:07 UTC
f5dd311 [Clang importer] Strip the "NS" prefix from entities in Foundation. As part of the improved import of Objective-C APIs into Swift, strip the "NS" prefix from entities defined in the Foundation framework. Addresses rdar://problem/24050011, which is part of SE-0005. Naturally, this is hidden behind -enable-omit-needless-words. 21 January 2016, 01:01:07 UTC
93f88fc [IRGen] Separate Swift and Objective-C class names Prefix stripping will make them differ. 21 January 2016, 01:01:07 UTC
94df20a [Clang importer] Write results into the Swift name lookup table at the end. This copes with rare (and hard-to-reproduce-in-the-small) recursive cases where importing a declaration for a name would then perform name lookup again, and end up not finding anything the second type around. 21 January 2016, 01:01:06 UTC
14ce25d [Omit needless words] Prune redundant "self" type following a verb in the base name. This allows us to prune UIViewController's "dismissViewControllerAnimated" to "dismissAnimated", eliminating unnecessary redundancy. 21 January 2016, 01:01:06 UTC
a101fb3 [Omit needless words] Don't strip just "Error". 21 January 2016, 01:01:06 UTC
dd6f7c2 Revert "[Clang importer] Strip the "NS" prefix from entities in Foundation" This reverts commit b5cb8252d0657fc91528ea46bfb73074f203e643. 21 January 2016, 01:01:06 UTC
c702b9d Revert "[Clang importer] Always record module prefixes for stripping." This reverts commit 07b2c88d8b04815fac1eaefc26cdd431980e2780. 21 January 2016, 01:01:06 UTC
44be782 [ClangImporter] Don't drop "Ref" from a CF types if it creates a conflict. https://bugs.swift.org/browse/SR-545 (cherry picked from commit 621edeb6640397958d80bd75bf97348265ddeaa7) 20 January 2016, 23:31:13 UTC
7202828 Debug Info: Make sure to enter a new SILDebugScope before generating weak copies for capture list variables. Other wise two variables with identical names will end up in the same scope. This fixes a crash in the compiler. rdar://problem/24150188 SR-526 (cherry picked from commit f1315f8b5c2a5ab2506fed0b0760c60213942f37) 20 January 2016, 23:21:38 UTC
e129b6f Add dummy Optional declaration to MicroStdlib.swift test This broke when we switched on materializeForSet emission for all stored properties of structs. 20 January 2016, 23:15:17 UTC
ce7f06c SILGen: Fix materializeForSet emission for static computed properties of generic types The original implementation of SILGenMaterializeForSet.cpp did not support the case where SelfInterfaceType contained a generic parameter. Recent changes to switch SILGen to always open-code materializeForSet, and Sema to always emit accessors, exposed this in validation-tests. 20 January 2016, 23:15:16 UTC
7d4131f Swift 3 migration: improve annotations on MutableSliceable 20 January 2016, 23:14:49 UTC
b29f84e Swift 3 migration: correct annotations on IndexingGenerator 20 January 2016, 23:14:49 UTC
f6dd24b Revert "Sema: Always synthesize accessors for structs, unless they were imported from Clang" This reverts commit 8cbc026e8dfc6fffea120b14b8be32fb1a87469b. 20 January 2016, 20:51:20 UTC
01a3983 [Clang importer] Eliminate retain cycle involving the Clang importer implementation. The Clang importer implementation held on to a Clang instance, which held a list of module file extensions, which included the Clang importer implementation... break the cycle by separating out the module file extension from the Clang importer. Fixes SR-562 / rdar://problem/24225173. 20 January 2016, 19:51:45 UTC
ff57c68 [SourceKit][CodeFormat] When indent to siblings, respect tuple elements' names. rdar://24251847 20 January 2016, 19:43:11 UTC
8cbc026 Sema: Always synthesize accessors for structs, unless they were imported from Clang This fixes the issue that "SILGen: Correctly emit accessors synthesized to witness protocol requirements" was meant to solve, but in a simpler way. A better fix would be to first address the issue where @_transparent function bodies are not serialized in some cases, and then only emit synthesized accessors as needed, in the original version of this patch. To fix the duplicate symbol issues, we would emit the synthesized accessors with shared linkage, which would always work once serialized bodies were available. For resilient structs of course, we'll always need to emit accessors anyway. 20 January 2016, 08:55:12 UTC
fc8ddcf Sema: Fix for setter->isMutating() check before setter was type checked With an upcoming patch we would call setMutating() on materializeForSet before computing the setter's isMutating() in the case where a setter was explicitly declared 'nonmutating'. Fix that by replacing the setter->isMutating() call with a direct computation of the expected result. It seems that the materializeForSet of protocol protocol requirements has to be mutating, even if the protocol is a class protocol or the property is nonmutating -- I need to investigate why and fix SILGen to not make this assumption, but in the meantime, opt-out of the new logic with protocol requirements to avoid more breakage. 20 January 2016, 08:55:05 UTC
1ba8f45 SILGen: Targeted fix for MaterializeForSet use If we're accessing a field of a struct, ignore materializeForSet; it will only have been synthesized if the struct conforms to a protocol, and we don't want the presence of a conformance to affect generated code. A more principled fix would change the SILGen logic to use a materializeForSet if it would have been synthesized anyway, asserting that it was synthesized in that case. I'll clean this up in the 'master' branch once these fixes settle. 20 January 2016, 08:55:05 UTC
87fed07 Sema: Fix checkMutating() for stored properties that had accessors synthesized for them already Otherwise, a struct's static property cannot witness two different protocol requirements, because the second one thinks it is mutating. Probably we should push the isInstanceMember() check up into the code that computes isMutating(). A more principled cleanup for this code is coming soon. 20 January 2016, 08:55:05 UTC
61d5657 Tweak some -parse-stdlib tests While making some changes that resulted in materializeForSet getting synthesized more often, I noticed that some tests started failing because they could not find the Optional type, which appears in the type of materializeForSet. Fix these tests by defining an Optional and passing in '-module-name Swift' so that we can find it. This feels a little bit gross, but Dmitri says it is preferrable to importing Swift from a test. 20 January 2016, 08:55:04 UTC
9fd2957 Adjust tests for new deprecation annotations 20 January 2016, 05:01:10 UTC
4105067 Swift 3 migration: standardize annotations for to-property migration 20 January 2016, 03:47:24 UTC
9df25b5 Swift 3 migration: use the same annotations on all init()s for unsafe pointers 20 January 2016, 03:45:10 UTC
82ca8f8 Add migration attributes for Swift 3 20 January 2016, 03:45:10 UTC
88cedc3 [test] Add explicit targets to Driver/filelists.swift. These checks depend on Darwin-style linker invocations. 20 January 2016, 01:36:12 UTC
1641d7b [Driver] Write per-job filelists even under -save-temps. Same as the previous commit; here's a test case that triggers it. Last bit of https://bugs.swift.org/browse/SR-280. 20 January 2016, 01:36:12 UTC
93e68e9 Teach the frontend about -output-filelist. Finishes up https://bugs.swift.org/browse/SR-280. At this point, nothing should be passing O(N) arguments on the command line, where N is the number of input source files, unless N is small. (There are other inputs which are passed through to subtools, and these are not put into filelists. That's fine.) 20 January 2016, 01:36:12 UTC
8fb064c [Driver] Use filelists for the *output* of a threaded WMO build. This is only the driver side of the work; the frontend doesn't understand this new -output-filelist option yet. Next commit. More https://bugs.swift.org/browse/SR-280. 20 January 2016, 01:36:12 UTC
7523a16 [Driver] Use -filelist for the merge-module step. More https://bugs.swift.org/browse/SR-280. 20 January 2016, 01:36:12 UTC
7cc1638 [Driver] Write the all-sources file even under -save-temps. We optimize subprocess invocation to a simple execve() if there's no cleanup work to do, but that doesn't get us out of doing /setup/ work. 20 January 2016, 01:36:12 UTC
adb5dd9 [Driver] Emit filelists for Jobs that want them (inputs). This is the other half of the previous commit: we can use -filelist for linking on Darwin. More https://bugs.swift.org/browse/SR-280. 20 January 2016, 01:36:12 UTC
1514403 [Driver] Pass -filelist to Darwin 'ld' too. Start sketching out a way for individual jobs to request filelists for their inputs or their outputs. This should cover all the cases mentioned in ad945426. More https://bugs.swift.org/browse/SR-280. 20 January 2016, 01:36:12 UTC
9618eb3 [Driver] Pass around 'const char *' instead of 'const std::string &'. No functionality change -- lifetime extension is handled by the ArgumentList already owned by the Compilation. 20 January 2016, 01:36:12 UTC
8e6f58d Merge pull request #1018 from shahmishal/swift-2.2-branch Remove llbuild, swiftpm, xctest and foundation from preset 20 January 2016, 01:21:42 UTC
b05e392 Remove llbuild, swiftpm, and foundation from preset 20 January 2016, 01:16:33 UTC
f012518 Revert "SILGen: Correctly emit accessors synthesized to witness protocol requirements" This reverts commit 10c8ce824fe6732152b514b03b1c2cc2f37a88e3. 19 January 2016, 22:22:15 UTC
8280bb3 SILGen: Fix materializeForSet emission for static stored properties Lower the metatype instead of brazenly declaring it @thick. This was triggering the SIL verifier with the newly-added test case. 19 January 2016, 22:22:14 UTC
4d903f9 IRGen: Fix emission of conformances for concrete subclasses of generic classes In master, this was fixed by Luke Howard as part of some other changes in the following patch: <https://github.com/apple/swift/commit/b5880f386b814f8b5cb220d1c4e65e74c04eccf4> This patch back-ports the relevant part of the above (checking for a true return value from hasMetadataPattern() vs checking for a BoundGenericType). Fixes <rdar://problem/24183374>. 19 January 2016, 22:22:14 UTC
b971595 [Diagnostics] -suppress-warnings and -warnings-as-errors flags Exposes the global warning suppression and treatment as errors functionality to the Swift driver. Introduces the flags "-suppress-warnings" and "-warnings-as-errors". Test case include. 19 January 2016, 21:53:28 UTC
a139ad4 [Diagnostics] Add in treating warnings as errors 19 January 2016, 21:53:27 UTC
36d706e [Diagnostics] Remove all categories Diagnostic categories are entirely unused and arguably useless as implemented, as they merely denote the sub-component of the compiler. As far as categorizing warnings are concerned, I'm abandoning the effort for now, as the utility is marginal and Swift and the Swift compiler are probalby not ready for these to be nailed down. For the sake of cleanliness, the CATEGORY field is also stripped from WARNINGS. If there's a need for automatic identifying of compiler sub-components for diagnstics in the future, there are better ways to do this. NFC Swift-2.2: resovled merge conflicts, and updated some new diagnostics. 19 January 2016, 21:25:25 UTC
14bd364 [Diagnostics] Refactor and clarify diagnostic behavior rules. Restores StoredDiagnosticInfo, which is useful to help distinguish when the user explicitly modifies the behavior of a diagnostic vs we're just picking up the default kind. Adds some clarifying comments, and lays out the suppression workflow, whereby different types of suppression (per-diagnostic, per-category, etc) have different precedence levels. 19 January 2016, 21:25:25 UTC
6824879 applying swift3_migration attribute to things being renamed in Swift3 19 January 2016, 20:21:12 UTC
07b2c88 [Clang importer] Always record module prefixes for stripping. The Swift 3 migration mode requires us to be able to compute the Swift 3 names for entities even when we aren't in omit-needless-words mode; recording module prefixes unconditionally ensures that we can do prefix stripping under these circumstances. 19 January 2016, 05:28:59 UTC
b5cb825 [Clang importer] Strip the "NS" prefix from entities in Foundation As part of the improved import of Objective-C APIs into Swift, strip the "NS" prefix from entities defined in the Foundation framework. Addresses rdar://problem/24050011, which is part of SE-0005. Naturally, this is hidden behind -enable-omit-needless-words. 19 January 2016, 05:28:59 UTC
651f025 Also map -enable-omit-needless-words to a language option. Although omit-needless-words is almost entirely a Clang importer task, there are a handful of other places in the compiler that will need to query this flag as well. NFC for now; those changes will come soon. 19 January 2016, 05:28:59 UTC
31eaa2b Abstract the set of known Foundation entities into a .def-driven enum. NFC Specifically, we don't want to hard-code the Swift names of these Objective-C entities, because the importer renaming will affect them. 19 January 2016, 05:28:59 UTC
ec881e3 Merge pull request #1007 from tkremenek/fix-swift2.1-regressions Fix two regressions from Swift 2.1 related to parameter parsing. 18 January 2016, 20:12:08 UTC
cb2ffe3 fix SR-573 - Crash with invalid parameter declaration This makes sure to diagnose the error of not having a type on a parameter in the parser, which is what sema expects. # Conflicts: # include/swift/AST/DiagnosticsParse.def 18 January 2016, 20:02:27 UTC
59b9df0 Simplify mapParsedParameters/createParam by passing the ParsedParameter into it, instead of passing a bunch of pieces into it. NFC. 18 January 2016, 19:55:40 UTC
60f624e [SILOpt] Fix speculative devirtualization miscompile. Properly handle limiting the number of speculative checks. This bug dates back to 2015-09-15, Swift 2.1. Fixes rdar:23228386. (cherry picked from commit e8fc64cdaec6e3f0312ada52d653ceb7fa1246a9) 18 January 2016, 02:59:16 UTC
9c08d14 [Swift 3 migration] Infer @swift3_migration for witnesses from requirements. 17 January 2016, 05:10:34 UTC
back to top