sort by:
Revision Author Date Message Commit Date
c9e32b8 [gyb] Force UTF-8 encoding when parsing templates on Linux Python 3 on Linux reads the system locale information to determine what it should use as the default encoding for strings read from files (this is different from OS X which is always UTF-8 by default [1]). Since all the Swift gyb templates are UTF-8 encoded there is effectively no reason to parse them as anything else. This patch forces the gyb template parser to read the template using UTF-8 encoding. It accounts for both reading and writing to a file as well as reading from stdin and writing to stdout. Two changes of note are that it now includes a __future__ import that should make Python 2 behave a little closer to Python 3 in terms of unicode support. Additionally Python 2 can no longer use cStringIO because it does not support unicode [2]. To test this patch I ran these commands before and after the patch. Note: that before the patch if the locale was set to something other than UTF-8, ASCII for instance, the Python 3 runs would fail. See [3] for example failure message. Without stdin/stdout: $ python2 utils/gyb -o Arrays.2.7.swift stdlib/public/core/Arrays.swift.gyb $ python3 utils/gyb -o Arrays.3.5.swift stdlib/public/core/Arrays.swift.gyb $ diff -u Arrays.2.7.swift Arrays.3.5.swift With stdin/stdout: $ cat stdlib/public/core/Arrays.swift.gyb | python2 utils/gyb > Arrays.2.7.stdin.stdout.swift $ cat stdlib/public/core/Arrays.swift.gyb | python3 utils/gyb > Arrays.3.5.stdin.stdout.swift $ diff -u Arrays.2.7.stdin.stdout.swift Arrays.3.5.stdin.stdout.swift [1] https://docs.python.org/3/howto/unicode.html#unicode-filenames [2] https://docs.python.org/2/library/stringio.html#cStringIO.StringIO [3] https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20160111/000780.html 13 January 2016, 01:56:33 UTC
7026909 Refactor SILArgument to use TermKind and refactor a bunch of the code there to use one helper function to find incoming values. This improves the quality of code but more importantly makes it easier to ensure that new terminators are handled in this code since all of the switches are now covered switches. 13 January 2016, 01:24:34 UTC
9e1d3ab [test] Change basic-aa.sil to no longer be dependent on the Swift standard library. 13 January 2016, 01:24:34 UTC
c77f7b6 [test] Convert allocbox_to_stack to no longer depend on the standard library. 13 January 2016, 01:24:34 UTC
21d273e Merge pull request #947 from modocache/build-script [build-script] Remove unused function 13 January 2016, 00:57:04 UTC
e1312f4 [build-script] Remove unused function `is_native_tools_deployment_target` is never used. Remove it. 13 January 2016, 00:54:07 UTC
851f3ab [test] Make earlycodemotion.sil not dependent on the swift standard library. 13 January 2016, 00:53:13 UTC
d1b72c7 [test] Fix test case to account for temporary file names. 13 January 2016, 00:17:27 UTC
7be3eff [Driver] Remove an unused accessor. No one should be accessing the raw input argument list; it's there merely to keep the info about the derived argument list alive. 13 January 2016, 00:17:27 UTC
7552d49 [Driver] Eliminate unused fields from Compilation. No functionality change. 13 January 2016, 00:17:27 UTC
8bac086 My changes fixed this test, and swift-ide-test is returning a successful exit code, I should have removed the "not" as well as the --crash. 13 January 2016, 00:04:40 UTC
f93b855 [gardening] Add some textual flags and organize the code a little bit. NFC. 12 January 2016, 22:43:19 UTC
1b83009 [gardening][rc-id] Move the main RCIdentityRoot analysis entry point into the RCIdentityRoot analysis section. 12 January 2016, 22:31:10 UTC
9a5970d Remove standard library dependency from side-effect.sil. A gift for Dmitri. = ). 12 January 2016, 22:26:46 UTC
5f78d24 [Driver] Make the list of input files available when creating Jobs. Previously jobs had to grovel this information out of the raw argument list, which dropped the types we had inferred on input files. This makes things more consistent across the compiler, though arguably we should be able to designate "primary" and "non-primary" inputs on a per-action basis rather than resorting to "global" state. Use this new information to stop passing object file inputs to the Swift frontend, fixing rdar://problem/23213785. The list wouldn't have to live on the Compilation, but I'm going to use it to fix SR-280 / rdar://problem/23878192 as well. 12 January 2016, 19:52:31 UTC
af8eb37 [Driver] Constify a parameter. No functionality change. 12 January 2016, 19:52:31 UTC
dbd0d47 [Driver] Only JobActions have inputs, not InputActions. Also, cluster the flags on Action into a single word. This probably doesn't make any real difference, but it's the convention. No functionality change. 12 January 2016, 19:52:31 UTC
1890de0 [Driver] Collapse duplicated code. No functionality change. 12 January 2016, 19:52:31 UTC
2d094d0 Merge pull request #944 from practicalswift/swiftc-28200-swift-typebase-getdesugaredtype [swiftc] Add test case for crash triggered in swift::TypeBase::getDesugaredType() 12 January 2016, 19:34:49 UTC
9b81ff9 Merge pull request #945 from EZ-NET/correct_oldstyle_array [docs] Replace old-style array type annotations. 12 January 2016, 19:34:39 UTC
c554308 [sourcekit] Remove unused variable to silence warning 12 January 2016, 19:28:12 UTC
93e3c72 [swift-ide-test] Don't go past the end of input in removeCodeCompletionTokens When matching an incomplete code-completion token #^... 12 January 2016, 19:28:11 UTC
473b156 [docs] Replace old-style array type annotations. 12 January 2016, 19:09:39 UTC
ab78cad [swiftc] Add test case for crash triggered in swift::TypeBase::getDesugaredType() Stack trace: ``` 4 swift 0x0000000001019a40 swift::TypeBase::getDesugaredType() + 32 5 swift 0x0000000000e89d9c swift::constraints::Solution::computeSubstitutions(swift::Type, swift::DeclContext*, swift::Type, swift::constraints::ConstraintLocator*, llvm::SmallVectorImpl<swift::Substitution>&) const + 828 9 swift 0x0000000000f6eb55 swift::Expr::walk(swift::ASTWalker&) + 69 10 swift 0x0000000000e8db66 swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::Expr*, swift::Type, bool, bool, bool) + 502 11 swift 0x0000000000e006ab swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*) + 683 16 swift 0x0000000000ea8d28 swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) + 104 17 swift 0x0000000000ead62e swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) + 4046 18 swift 0x0000000000dfa2a5 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 661 19 swift 0x0000000000e00639 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*) + 569 20 swift 0x0000000000e017b0 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*) + 112 21 swift 0x0000000000e01959 swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int) + 265 26 swift 0x0000000000e1b266 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150 27 swift 0x0000000000de77a2 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int) + 1474 28 swift 0x0000000000c9f042 swift::CompilerInstance::performSema() + 2946 30 swift 0x00000000007645a2 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2482 31 swift 0x000000000075f181 main + 2705 Stack dump: 0. Program arguments: /path/to/build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28200-swift-typebase-getdesugaredtype.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28200-swift-typebase-getdesugaredtype-20fee1.o 1. While type-checking 'S' at validation-test/compiler_crashers/28200-swift-typebase-getdesugaredtype.swift:7:1 2. While type-checking expression at [validation-test/compiler_crashers/28200-swift-typebase-getdesugaredtype.swift:8:7 - line:8:9] RangeText="c<T" 3. While type-checking expression at [validation-test/compiler_crashers/28200-swift-typebase-getdesugaredtype.swift:8:7 - line:8:7] RangeText="c" <unknown>:0: error: unable to execute command: Segmentation fault <unknown>:0: error: compile command failed due to signal (use -v to see invocation) ``` 12 January 2016, 18:04:56 UTC
f82389a Merge pull request #923 from johnlui/master [stdlib] Change C-style for loop to Swift-style for-in loop 12 January 2016, 17:29:50 UTC
e8886a4 Merge pull request #920 from practicalswift/gyb-fixes [gardening] Clean up .gyb-files: Remove unused imports. Non-controversial PEP8 fixes. 12 January 2016, 17:27:48 UTC
755156a Merge pull request #942 from practicalswift/swiftc-28199-swift-constraints-constraintsystem-performmemberlookup [swiftc] Add test case for crash triggered in swift::constraints::ConstraintSystem::performMemberLookup(…) 12 January 2016, 16:50:06 UTC
fab6738 Merge pull request #937 from smikes/bootstrap-ninja-set-make-program [build-script-impl][SR-58] When bootstrapping ninja, set CMAKE_MAKE_COMMAND 12 January 2016, 16:45:41 UTC
206d410 disable an IDE test to unblock the bots 12 January 2016, 16:13:46 UTC
3e4d6c7 Reduce visibility of variables NINJA_BIN doesn't have to be exported, so don't export it PATH doesn't have to be changed, so don't change it 12 January 2016, 14:39:34 UTC
85231a2 Merge pull request #943 from practicalswift/typo-fixes-20160112 [gardening] Fix recently introduced typos 12 January 2016, 07:17:15 UTC
ec113a3 Fix recently introduced typos. 12 January 2016, 06:45:50 UTC
2f78b70 recent diagnostics changes fixed 5 crashers and broke 1. 12 January 2016, 06:43:27 UTC
e30cd93 Fix rdar://20395243 QoI: type variable reconstruction failing for tuple types ASTPrinter of type variables was trying to dig an original type out of the locator and archetype that opened the type variable in the first place. This was prone to failure and never helped, so just always print type vars as _. The affected diagnostics always come out better and this saves a word of storage for each type variable. 12 January 2016, 06:20:19 UTC
4a22cfe enhance diagnoseGeneralConversionFailure to handle conversions between tuple types with mismatched labels better, even if the element types cannot be resolved. 12 January 2016, 06:20:19 UTC
a4a2f96 [swiftc] Add test case for crash triggered in swift::constraints::ConstraintSystem::performMemberLookup(swift::constraints::ConstraintKind, swift::DeclName, swift::Type, swift::constraints::ConstraintLocator*) Stack trace: ``` swift: /path/to/swift/include/swift/AST/Decl.h:2191: swift::Type swift::ValueDecl::getType() const: Assertion `hasType() && "declaration has no type set yet"' failed. 9 swift 0x0000000000edd28f swift::constraints::ConstraintSystem::performMemberLookup(swift::constraints::ConstraintKind, swift::DeclName, swift::Type, swift::constraints::ConstraintLocator*) + 3119 10 swift 0x0000000000ede9fa swift::constraints::ConstraintSystem::simplifyMemberConstraint(swift::constraints::Constraint const&) + 458 11 swift 0x0000000000ee0235 swift::constraints::ConstraintSystem::simplifyConstraint(swift::constraints::Constraint const&) + 69 12 swift 0x0000000000e81d47 swift::constraints::ConstraintSystem::addConstraint(swift::constraints::Constraint*, bool, bool) + 23 15 swift 0x0000000000f6eb55 swift::Expr::walk(swift::ASTWalker&) + 69 16 swift 0x0000000000ec0898 swift::constraints::ConstraintSystem::generateConstraints(swift::Expr*) + 200 17 swift 0x0000000000dfa110 swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 256 18 swift 0x0000000000e00639 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*) + 569 19 swift 0x0000000000e017b0 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*) + 112 20 swift 0x0000000000e01959 swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int) + 265 22 swift 0x0000000000e168a4 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 3876 23 swift 0x000000000100595c swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, unsigned int, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const + 2908 24 swift 0x000000000100436d swift::UnqualifiedLookup::UnqualifiedLookup(swift::DeclName, swift::DeclContext*, swift::LazyResolver*, bool, swift::SourceLoc, bool, bool) + 2269 25 swift 0x0000000000e3ca8b swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 187 28 swift 0x0000000000e6611e swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158 30 swift 0x0000000000e67024 swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 164 31 swift 0x0000000000e6602a swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 42 32 swift 0x0000000000e13b4a swift::TypeChecker::checkInheritanceClause(swift::Decl*, swift::GenericTypeResolver*) + 4890 33 swift 0x0000000000e160a9 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1833 34 swift 0x000000000100595c swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, unsigned int, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const + 2908 35 swift 0x000000000100436d swift::UnqualifiedLookup::UnqualifiedLookup(swift::DeclName, swift::DeclContext*, swift::LazyResolver*, bool, swift::SourceLoc, bool, bool) + 2269 36 swift 0x0000000000e3ca8b swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 187 39 swift 0x0000000000e6611e swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158 41 swift 0x0000000000e67024 swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 164 42 swift 0x0000000000e6602a swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 42 43 swift 0x0000000000e13b4a swift::TypeChecker::checkInheritanceClause(swift::Decl*, swift::GenericTypeResolver*) + 4890 44 swift 0x0000000000e160a9 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1833 49 swift 0x0000000000e1b266 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150 50 swift 0x0000000000de77a2 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int) + 1474 51 swift 0x0000000000c9f042 swift::CompilerInstance::performSema() + 2946 53 swift 0x00000000007645a2 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2482 54 swift 0x000000000075f181 main + 2705 Stack dump: 0. Program arguments: /path/to/build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28199-swift-constraints-constraintsystem-performmemberlookup.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28199-swift-constraints-constraintsystem-performmemberlookup-bedf87.o 1. While type-checking 'A' at validation-test/compiler_crashers/28199-swift-constraints-constraintsystem-performmemberlookup.swift:8:1 2. While resolving type A at [validation-test/compiler_crashers/28199-swift-constraints-constraintsystem-performmemberlookup.swift:9:12 - line:9:12] RangeText="A" 3. While resolving type e at [validation-test/compiler_crashers/28199-swift-constraints-constraintsystem-performmemberlookup.swift:10:9 - line:10:9] RangeText="e" 4. While type-checking expression at [validation-test/compiler_crashers/28199-swift-constraints-constraintsystem-performmemberlookup.swift:9:20 - line:9:22] RangeText="A.e" <unknown>:0: error: unable to execute command: Aborted <unknown>:0: error: compile command failed due to signal (use -v to see invocation) ``` 12 January 2016, 06:13:49 UTC
481fb4c Merge pull request #938 from milseman/suppress_warnings_api API to suppress warnings 12 January 2016, 05:48:30 UTC
10c8ce8 SILGen: Correctly emit accessors synthesized to witness protocol requirements We weren't adding them as external decls unless they were for storage on an imported type, which meant SILGen wasn't emitting them if the conforming type was from a different Swift source file, or in whole-module mode, a different module. This led to linker errors. Instead, always add accessors to the external decl list, but skip them in SILGen if they are contained in the DeclContext we are currently emitting (which is a source file or module). Note that they are still emitted with the wrong linkage, from a resilience perspective. Clients must only ever see public exports for getters, setters and materializeForSet emitted because they are required by resilience or the access pattern; 'accidental' accessors synthesized for protocol conformance should not be public. 12 January 2016, 05:40:25 UTC
80270a9 Incorporate Doug's review suggestions 12 January 2016, 05:30:18 UTC
162becc Merge pull request #941 from apple/revert-244-dev Revert "Remove unnecessary 'visitDecl' default cases." 12 January 2016, 05:07:36 UTC
d1707c0 Revert "Remove unnecessary 'visitDecl' default cases." 12 January 2016, 05:07:21 UTC
bef0657 Merge pull request #244 from mohammadg/dev Remove unnecessary 'visitDecl' default cases. 12 January 2016, 04:48:58 UTC
8d835de My diagnostics fix fixed this test along the way. 12 January 2016, 04:47:47 UTC
a5a988e Fix rdar://22509125 QoI: Error when unable to infer generic archetype lacks greatness Rearrange diagnoseGeneralConversionFailure to diagnose structural problems even if we have some UnresolvedTypes floating around, then reject constraint failures with UnresolvedTypes in them even harder. This keeps us giving good errors about failures where we have a structural problem (with buried irrelevant details) while not complaining about cases that are actually ambiguous. The end result of this is that we produce a lot better error messages in the case of failed archetype inference. This also highlights the poor job we do handling multi-stmt closureexprs... 12 January 2016, 04:45:11 UTC
13d96b3 Spell out these diagnostics more, they are embarassing, but we should fix that not hide it. 12 January 2016, 04:45:11 UTC
3c5c93a Merge pull request #669 from practicalswift/perl-fixes [Perl] Use pragma to restrict unsafe constructs 12 January 2016, 04:42:54 UTC
f0d294b Merge pull request #884 from practicalswift/apostrophes [gardening] Replace left/right quotation marks 12 January 2016, 04:41:24 UTC
1915b06 Merge pull request #781 from JaSpa/highlight-generic-args [Sema] Highlight angle brackets <…> in diagnostics 12 January 2016, 04:39:21 UTC
a9e1fc0 Merge pull request #899 from gregomni/sr-427 [SR-427][AST] Report DoesNotConform for failed substitutions in a bound generic type. 12 January 2016, 04:35:14 UTC
ab35b15 Merge pull request #932 from practicalswift/swiftc-28197-swift-typebase-getdesugaredtype [swiftc] Add test case for crash triggered in swift::TypeBase::getDesugaredType() 12 January 2016, 04:34:32 UTC
0e48b9c [docs] Note that the Lexicon file uses Sphinx-specific features. I don't like this not being viewable on GitHub, but I don't want to reformat it all to use bare definition lists and refs at the moment. 12 January 2016, 04:01:30 UTC
daca24f [docs] Add a "Lexicon" file that defines common Swift jargon terms. Inspired by LLVM's similar file. (Thanks for reminding me about that, Chris!) 12 January 2016, 03:57:19 UTC
5e1d65c SILGen: Remove some Builtins that are no longer needed These were only used by the Sema-synthesized materializeForSet. 12 January 2016, 03:55:46 UTC
249242b SILGen: Always open-code materializeForSet This improves MaterializeForSetEmitter to support emission of static materializeForSet thunks, as well as witnesses. This is now done by passing in a nullptr as the conformance and requirement parameters, and adding some conditional code. Along the way, I fixed a few limitations of the old code, namely weak/unowned and static stored properties weren't completely plumbed through. There was also a memory leak in addressed materializeForSet, the valueBuffer was never freed. Finally, remove the materializeForSet synthesis in Sema since it is no longer needed, which fixes at least one known crash case. 12 January 2016, 03:53:16 UTC
3085094 fix <rdar://problem/23942743> [QoI] Bad diagnostic when errors inside enum constructor On something like this: let x = .Tomato(cloud: .None) we previously emitted a "type of expression is ambiguous without more context" error while pointing to .None. With a previous fix, we now produce the same error pointing to the .Tomato. With this fix, we now produce: error: reference to member 'Tomato' cannot be resolved without a contextual type to really drive the problem home. 12 January 2016, 03:37:12 UTC
26b51bf Fix rdar://19710848 QoI: Friendlier error message for "[] as Set" This makes diagnoseGeneralConversionFailure more conservative: it now never diagnoses a failed conversion when it involves a type that has unresolved type in it. These types could not be resolved, so it is better to let ambiguity resolution handle the problem. On "[] as Set", we would previously get: error: 'Set<_>' is not convertible to 'Set<Element>' now we get: error: generic parameter 'Element' could not be inferred 12 January 2016, 03:19:06 UTC
1dff04e SILGen: Add a new RValue(AbstractionPattern, CanType) constructor 12 January 2016, 02:41:29 UTC
a6de984 Merge pull request #936 from EZ-NET/correct_document_array-type-parameter-name [stdlib] [docs] Modify names of Array's type parameter and Slice in comments. 12 January 2016, 02:22:51 UTC
e4bf75f [stdlib] [docs] Re-wrap some paragraphs to fit within 80 characters. #936 12 January 2016, 02:09:15 UTC
09149ae Fix some validation test failures introduced by b5500b8, by handling UnresolvedType in a couple places I missed. 12 January 2016, 01:33:10 UTC
7b5741d SideEffectAnalysis: consider that @callee_owned calls implicitly release the context. fixes rdar://problem/24112977 12 January 2016, 01:32:15 UTC
41bcdb3 add newline at end of file to silence warning. 12 January 2016, 01:14:27 UTC
b5500b8 Generalize the conditions in which we'll accept an ambiguous solution to a constraint system in "allowFreeTypeVariables" mode. Previously, we only allowed a few specific constraints, now we allow any relational and member constraints. The later one is a big deal because it means that we can allow ".Foo" expressions as ambiguous solutions, which CSDiags can handle well. This unblocks solving 23942743 and enables some minor improvements across the board, including diagnosing things like this better: Optional(.none) // now: generic parameter 'T' could not be inferred That said, it also just permutes some non-awesome diagnostics. 12 January 2016, 01:04:46 UTC
d282fd7 Allow suppressing individual diagnostics. Extend DiagnosticState to track per-diagnostic desired behaviors, allowing users of the APIs to individually suppress diagnostics. 12 January 2016, 00:48:42 UTC
42591f7 SourceKit CMake: use the C compiler and linker flags computed by the Swift build system 12 January 2016, 00:23:54 UTC
08854d1 SourceKit CMake: remove code to handle legacy SDKs 12 January 2016, 00:23:54 UTC
cbd87f8 Fix CMake coding style 12 January 2016, 00:23:54 UTC
1f3b314 Distinguish conformance and superclass generic requirements. As part of this, use a different enum for parsed generic requirements. NFC except that I noticed that ASTWalker wasn't visiting the second type in a conformance constraint; fixing this seems to have no effect beyond producing better IDE annotations. 12 January 2016, 00:07:37 UTC
0b8468d Merge pull request #940 from practicalswift/check-dir-before-rmdir [build-script] Call rmdir(build_dir) only if build_dir exists (-c option) 11 January 2016, 23:54:22 UTC
612196b Merge pull request #939 from practicalswift/two-cases-no-longer-timing-out [swiftc] Add two crash cases (previously timeouts, now assertion failures) 11 January 2016, 23:53:26 UTC
5b1ebe1 Remove the case 'Invalid' from the TermKind enum and just use an unreachable in the ValueKind -> TermKind switch instead. In all of the cases where this is being used, we already immediately perform an unreachable if we find a TermKind::Invalid. So simplify the code and move it into the conversion switch itself. 11 January 2016, 23:44:05 UTC
a2097e6 Call rmdir(build_dir) only if build_dir exists (-c option). 11 January 2016, 23:35:33 UTC
ff0bf80 Remove empty line. 11 January 2016, 23:28:36 UTC
8d81349 fix rdar://24029542 "Postfix '.' is reserved" error message" isn't helpful This adds some heuristics so we can emit a fixit to remove extraneous whitespace after a . and diagnose the case where a member just hasn't been written yet better. This also improves handling of tok::unknown throughout the parser a bit. This is a re-commit of ff4ea54 with an update for a SourceKit test. 11 January 2016, 23:11:20 UTC
d32f31b Add two crash cases. These two cases were previously timeout cases (infinite running time) and hence not included in validation-test/compiler_crashers/ 11 January 2016, 23:08:29 UTC
b58522b Debug info: Emit nested functions in the proper nested scope. rdar://problem/24102282 11 January 2016, 22:47:40 UTC
6a8ab15 [Demangle] Change the demangling text for extensions. Make it clear that this is not a nested type or submodule or anything. Mangled: _TFE9ExtModuleV9DefModule1A4testfT_T_ Before: ext.ExtModule.DefModule.A.test () -> () After: (extension in ExtModule):DefModule.A.test () -> () 11 January 2016, 22:26:16 UTC
411e2a1 Merge remote-tracking branch 'milseman/suppress_warnings_api' 11 January 2016, 21:23:26 UTC
8ccf0e4 [SourceKit][DocInfo] Check an extension's relevancy before printing the type interface of a type. rdar://24133008" 11 January 2016, 19:19:48 UTC
e1b54fb Rename -> emitArchetypeWitnessTableRef to clarify calls. 11 January 2016, 19:12:02 UTC
acc243a Revert "fix rdar://24029542 "Postfix '.' is reserved" error message" isn't helpful" It's probably the cause for the fail of SourceKit/SyntaxMapData/syntaxmap-edit-del.swift This reverts commit ff4ea546149ae8c98bfc41dd05ed308a9dc8b6a3. 11 January 2016, 18:43:39 UTC
6d8b493 [build] When bootstrapping ninja, set CMAKE_MAKE_COMMAND Works around problem where CMake has already cached the nonexistence of ninja. Ref #SR-58 https://bugs.swift.org/browse/SR-58 11 January 2016, 13:21:05 UTC
0115507 [stdlib] [docs] Modify Array's type parameter name and rename Slice to ArraySlice in comments. In swift 1.2, `Slice` has been renamed `ArraySlice`. In swift 2.0, type parameter name of `Array` is changed from `T` to `Element`. Therefore, modified the names which appear in code comments and a document. 11 January 2016, 08:04:45 UTC
b5d5d82 Merge pull request #935 from EZ-NET/correct_document_set-type-parameter-name [stdlib] [docs] Modify Set's type parameter name in comments. 11 January 2016, 07:19:50 UTC
cf8a733 [stdlib] [docs] Modify Set's type parameter name in comments. In swift 2.0, type parameter name of `Set` is changed from `T` to `Element`. Therefore, modified the names which appear in code comments and a document. 11 January 2016, 07:02:05 UTC
31314b1 Add ignoreAllWarnings API New API on DiagnosticEngine to disable the reporting of warnings. No tests currently, as this is not exposed upwards to any test-able level, but tests will come when this is exposed e.g. through command line arguments. 11 January 2016, 05:42:51 UTC
767597d Track previous diagnostic behavior Switch from a fatal-state machine to a previous-behavior-state machine, which is more flexible in the presence of suppressible warnings. 11 January 2016, 04:35:52 UTC
dcb1924 Introduce DiagnosticState to track how we should handle diagnostics Refactor DiagnosticEngine to separate out diagnostic state tracking. This allows gives us a base from which to add further refinements, e.g. warning suppression. 11 January 2016, 03:04:19 UTC
2187929 SILGen: Turn static collectParams() function into a method on SILGenFunction, NFC 11 January 2016, 01:06:20 UTC
b70e4d2 SILGen: Split off SILGenMaterializeForSet.cpp from SILGenLValue.cpp, NFC In order to fix some other issues that came up with materializeForSet and resilience, I had to bite the bullet and finish off John's code for open-coding materializeForSet emission in SILGen. This patch makes the subsequent changes easier to review. 11 January 2016, 01:06:19 UTC
a467674 Sema: Always emit materializeForSelf for resilient structs This gives us consistent behavior between stored and computed properties. 11 January 2016, 01:06:19 UTC
c3dd77a Rename ASTContext::addedExternalDecl() to addExternalDecl() and improve some comments, NFC 11 January 2016, 01:06:19 UTC
9bdb7d3 Clean up handling of external declarations, NFC This is the first in a series of patches that fixes some resilience-related issues with synthesized accessors and materializeForSet. Previously we maintained two lists of external declarations encountered while type checking: - ASTContext::ExternalDefinitions - TypeChecker::implicitlyDefinedFunctions The former contained the following: - Imported nominal types from Clang, so that SILGen can emit witness tables - Functions and variables with Clang decls, so that IRGen can instruct Clang to emit them - Synthesized accessors The latter contained synthesized functions for derived conformances. Since the second list was not visible outside Sema, we relied on the Clang importer to add the type that contained the declaration to the ExternalDefinitions list. In practice, we only synthesized members of enums in this manner. Because of this, SILGenModule::emitExternalDefinitions() had special logic to skip members of enums, since it would visit them when visiting the enum itself. Instead, it appears that we can remove implicitlyDefinedFunctions completely, changing usage sites to add the decl to ExternalDefinitions instead, and simplify SILGenModule::emitExternalDefinition() a bit in the process. Also, it looks like we never had Modules appear in ExternalDefinitions, so assert if those come up instead of skipping them. 11 January 2016, 01:05:31 UTC
ff4ea54 fix rdar://24029542 "Postfix '.' is reserved" error message" isn't helpful This adds some heuristics so we can emit a fixit to remove extraneous whitespace after a . and diagnose the case where a member just hasn't been written yet better. This also improves handling of tok::unknown throughout the parser a bit. 10 January 2016, 23:28:03 UTC
6e4f61c Merge pull request #933 from ezephir/linux-test-runtime-revert Revert "[StdLib] Extend ReflectionHashing test to pass on Linux" 10 January 2016, 19:38:22 UTC
b1b9b28 Revert "[StdLib] Extend ReflectionHashing test to pass on Linux" This test expects consistent hash code generation on any given platform. However String instance generate different values on Linux depending on which version of libicu is installed, causing environment-specific test failures. This reverts commit def419b57fbce2391eb16c4c203c4db996dc5b97. 10 January 2016, 11:36:53 UTC
0f66758 [swiftc] Add test case for crash triggered in swift::TypeBase::getDesugaredType() Stack trace: ``` 4 swift 0x0000000001019520 swift::TypeBase::getDesugaredType() + 32 9 swift 0x0000000001026b95 swift::Type::walk(swift::TypeWalker&) const + 21 10 swift 0x000000000101651f swift::Type::findIf(std::function<bool (swift::Type)> const&) const + 31 14 swift 0x0000000000e453bf swift::TypeChecker::checkConformance(swift::NormalProtocolConformance*) + 1279 17 swift 0x0000000000e1b266 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150 20 swift 0x0000000000e61b2a swift::TypeChecker::typeCheckClosureBody(swift::ClosureExpr*) + 218 21 swift 0x0000000000e8dc6c swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::Expr*, swift::Type, bool, bool, bool) + 812 22 swift 0x0000000000e0067b swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*) + 683 23 swift 0x0000000000e01780 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*) + 112 24 swift 0x0000000000e01929 swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int) + 265 26 swift 0x0000000000e168a4 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 3876 27 swift 0x000000000100544c swift::DeclContext::lookupQualified(swift::Type, swift::DeclName, unsigned int, swift::LazyResolver*, llvm::SmallVectorImpl<swift::ValueDecl*>&) const + 2908 28 swift 0x0000000001003e5d swift::UnqualifiedLookup::UnqualifiedLookup(swift::DeclName, swift::DeclContext*, swift::LazyResolver*, bool, swift::SourceLoc, bool, bool) + 2269 29 swift 0x0000000000e3ca8b swift::TypeChecker::lookupUnqualified(swift::DeclContext*, swift::DeclName, swift::SourceLoc, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 187 32 swift 0x0000000000e6617e swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 158 34 swift 0x0000000000e67084 swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 164 35 swift 0x0000000000e6608a swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 42 36 swift 0x0000000000ef6242 swift::IterativeTypeChecker::processResolveInheritedClauseEntry(std::pair<llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>, unsigned int>, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 146 37 swift 0x0000000000ef54cd swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 493 38 swift 0x0000000000e127b9 swift::TypeChecker::resolveInheritanceClause(llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>) + 137 39 swift 0x0000000000e15d91 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1041 44 swift 0x0000000000e1b266 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150 45 swift 0x0000000000de7482 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int) + 1474 46 swift 0x0000000000c9eed2 swift::CompilerInstance::performSema() + 2946 48 swift 0x0000000000764692 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2482 49 swift 0x000000000075f271 main + 2705 Stack dump: 0. Program arguments: /path/to/build/Ninja-ReleaseAssert/swift-linux-x86_64/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28197-swift-typebase-getdesugaredtype.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28197-swift-typebase-getdesugaredtype-7a0037.o 1. While type-checking 'a' at validation-test/compiler_crashers/28197-swift-typebase-getdesugaredtype.swift:7:1 2. While resolving type d at [validation-test/compiler_crashers/28197-swift-typebase-getdesugaredtype.swift:7:32 - line:7:32] RangeText="d" 3. While type-checking expression at [validation-test/compiler_crashers/28197-swift-typebase-getdesugaredtype.swift:7:46 - line:7:55] RangeText="{class b:P" 4. While type-checking 'b' at validation-test/compiler_crashers/28197-swift-typebase-getdesugaredtype.swift:7:47 <unknown>:0: error: unable to execute command: Segmentation fault <unknown>:0: error: compile command failed due to signal (use -v to see invocation) ``` 10 January 2016, 11:05:10 UTC
cbb95a2 Merge pull request #926 from jtbandes/innermost-params [AST] Fix inconsistent handling of generic args & params during BoundGenericType::getSubstitutions 10 January 2016, 07:30:06 UTC
8b57337 Merge pull request #910 from jtbandes/invalid-proto [Sema] Improve handling of invalid protocols during conformance checking 10 January 2016, 07:27:41 UTC
3075392 [Compression] Accelerate the code that decodes chars from var-length streams. This change accelerates the code that decodes characters from bitstreams (represented using APInts) that are encoded using variable length encoding. The idea is simple: Extract the lowest 64 bit and decode as many characters as possible before changing the bignum. Decoding words from a local variable is much faster than changing big nums. This commit makes decompression twice as fast as compression. 10 January 2016, 07:12:52 UTC
back to top