Commit Graph

63857 Commits

Author SHA1 Message Date
Doug Gregor
40207e8c60 Add test case for rdar://problem/26140749, a fixed crasher 2017-12-18 16:43:46 -08:00
swift-ci
e022449ec6 Merge remote-tracking branch 'origin/master' into master-next 2017-12-18 16:28:55 -08:00
Rintaro Ishizaki
cc72a3b934 [Lexer] Use ContentStart position for hashbang trivia 2017-12-19 09:24:34 +09:00
Rintaro Ishizaki
2c06060165 [Syntax] Add CarriageReturn trivia kind
To distinguish '\r' from '\n'.
2017-12-19 09:24:34 +09:00
Rintaro Ishizaki
181333ce0f [Lexer] Lex conflict marker as a trivia 2017-12-19 09:24:33 +09:00
Rintaro Ishizaki
475bb56228 [Syntax] Add test case for hashbang trivia in Lexer 2017-12-19 09:14:20 +09:00
Rintaro Ishizaki
b4e7f74ab4 [Syntax] Add dedicated unittest for Lexer with trivia parsing 2017-12-19 09:14:20 +09:00
Rintaro Ishizaki
023379cde5 Merge pull request #13495 from omochi/lexer-refactor-skip-to-eol
[Parse] Refactor Lexer's skipToEndOfline
2017-12-19 09:12:07 +09:00
Ben Langmuir
3d7e94caaf [code-complete] infix operator completion in the presence of autoclosure
As soon as you had one &&/|| in your chain of expressions we would lose
infix completions for Bool because we got confused by the autoclosure,
so strip it off.

rdar://32016622
2017-12-18 16:11:33 -08:00
swift-ci
ab66b86518 Merge remote-tracking branch 'origin/master' into master-next 2017-12-18 16:09:16 -08:00
Joe Groff
ef3d616903 Merge pull request #13508 from jckarter/objc-protocol-keypath
AST: Property requirements in @objc protocols should return `true` for `requiresForeignGetterAndSetter`.
2017-12-18 16:04:20 -08:00
swift-ci
205e0d811a Merge pull request #13513 from nkcsgexi/lib-syntax-accessor-block 2017-12-18 15:53:55 -08:00
Pavel Yaskevich
4885fd4203 [Mangling/ABI] NFC: Fix Migrator tests to reflect label mangling changes 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
170ccbd36d [Mangling/ABI] NFC: Fix Frontend/APINotes/Index tests to reflect label mangling changes 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
782f9307d0 [Mangling/ABI] NFC: Fix stdlib to reflect label mangling changes 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
9616f53fe7 [Demangle/Metadata] Fix buildDemanglingForMetadata to construct function/tuple trees correctly
While creating demangled tree for function and tuple types
`_swift_buildDemanglingForMetadata` should use correct format
established by mangler and respected by printer/demangler.
2017-12-18 15:45:50 -08:00
Pavel Yaskevich
5a76f50db0 [Mangling/ABI] NFC: Fix Demangler tests to reflect label mangling changes 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
f60dc1c6ca [Mangling/ABI] NFC: Fix ClangImporter tests to reflect label mangling changes 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
db03ab201d [IDE] Fix type reconstructor to support parameter label changes (+ tests) 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
533171debf [Mangling/ABI] NFC: Fix SourceKit tests to reflect label mangling changes 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
f9ea48287f [Mangling/ABI] NFC: Fix SIL tests to reflect label mangling changes 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
f6ec6dc0b4 [Mangling/ABI] NFC: Fix Serialization tests to reflect label mangling changes 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
0133827e55 [Mangling/ABI] NFC: Fix IRGen tests to reflect label mangling changes 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
f90d943a29 [Mangling/ABI] NFC: Fix SILOptimizer tests to reflect label mangling changes 2017-12-18 15:45:50 -08:00
Pavel Yaskevich
366356f9ca [Mangling/ABI] NFC: Fix Sema tests to reflect label mangling changes 2017-12-18 15:44:25 -08:00
Pavel Yaskevich
600b15821d [Mangling/ABI] NFC: Fix DebugInfo tests to reflect label mangling changes 2017-12-18 15:44:24 -08:00
Pavel Yaskevich
6519d99736 [Mangling/ABI] NFC: Fix SILGen tests to reflect label mangling changes 2017-12-18 15:44:24 -08:00
Pavel Yaskevich
80f53623f7 [Mangling] Fix old remangler to re-apply labels to parameters 2017-12-18 15:44:24 -08:00
Pavel Yaskevich
6725c04bfd [Mangling/ABI] Don't produce empty labels marker for functions without parameters
If function type doesn't have any parameters, there is
no need to produce a redundant 'no labels' marker for
such case, which also saves some space in mangled name.
2017-12-18 15:44:24 -08:00
Pavel Yaskevich
34b83306bf [Demangler] Teach node printer to use LabelList for entities 2017-12-18 15:44:24 -08:00
Pavel Yaskevich
3b9b0bff2f [Demangler] Save number of parameters in ArgumentTuple node 2017-12-18 15:44:24 -08:00
Pavel Yaskevich
10c385d1b7 [Mangling/ABI] Add special LabelList to store parameter labels
Instead of mangling parameter labels as part of the function type
move them to the end of the function name instead, to match the
language semantics.
2017-12-18 15:44:24 -08:00
Arnold Schwaighofer
e0ce894fd0 DynamicCasts: Emit a direct copy if soure and target SIL types match
unconditional_checked_cast_addr ImplicitlyUnwrappedOptional<AnyObject> in %136 : *Optional<AnyObject> to *Optional<AnyObject> in %135

rdar://35987160
2017-12-18 15:35:30 -08:00
swift-ci
08fadd64eb Merge remote-tracking branch 'origin/master' into master-next 2017-12-18 15:29:54 -08:00
Saleem Abdulrasool
b329bf3b32 unittests: silence -Wqual-cast warnings
Qualify the casts to ensure that we do not trigger `-Wqual-cast`
warnings from the compiler.  NFC.
2017-12-18 15:28:53 -08:00
Ben Cohen
9361a6b66f [stdlib] Nest Iterator and Index types for various stdlib types (#13489)
* Nest various top-level Iterator and Index types, and flatten extensions.

* Fix tests from nesting iterator

* Nest Unsafe*BufferPointer.Iterator, extensionify UnsafeBufferPointer

* Degyb LazyCollection

* Nest Flatten iterator and index
2017-12-18 15:27:35 -08:00
swift-ci
3ce4db2966 Merge pull request #13511 from anemet/opt-remark-spec-devirt 2017-12-18 15:20:54 -08:00
Xi Ge
fe1a4ca0d2 libSyntax: create libSyntax node for var decl accessors. 2017-12-18 15:16:14 -08:00
swift-ci
c48e87665a Merge remote-tracking branch 'origin/master' into master-next 2017-12-18 15:10:11 -08:00
Jordan Rose
15f2161277 Move the fast path of TypeBase::getCanonicalType into the header (#13479)
I'm not sure how much benefit there'll be to inlining this, but a side
benefit is that crashes in optimized builds of the compiler are much
more likely to distinguish between "bug in getCanonicalType" (which
almost never happens) and "bug in the function calling
getCanonicalType".

Inspired by rdar://problem/35819975
2017-12-18 14:55:08 -08:00
Adam Nemet
5d7b8106c3 Add opt-remarks to the Speculative Devirtualizer pass 2017-12-18 13:29:46 -08:00
swift-ci
8e75a2fbbd Merge remote-tracking branch 'origin/master' into master-next 2017-12-18 13:28:54 -08:00
swift-ci
30679b091e Merge pull request #13506 from rjmccall/kill-more-warnings 2017-12-18 13:23:23 -08:00
Ben Langmuir
36d7acd1fa [code-complete] Set call-arg-heuristics flag in SourceKit
In the new code-completion path, expose an option to control this
behaviour; in the old path turn it off.

rdar://31113161
2017-12-18 13:20:24 -08:00
Ben Langmuir
642ae90a86 [code-complete] Reduce the priority of function call patterns
Constructor call patterns already get a real priority, but because of
the way we do function call patterns we don't have enough information,
and previously we were setting it to "expression specific", which is
unnecessarily high, particularly since functions (unlike inits) have
other better ways to code-complete already.

rdar://31113161
2017-12-18 12:55:20 -08:00
swift-ci
0302515cf0 Merge remote-tracking branch 'origin/master' into master-next 2017-12-18 12:48:55 -08:00
Saleem Abdulrasool
aaeac4cb34 SourceKit: use explicit struct constructor for C++14
Explicitly instantiate the `CursorInfoData` instances when using it with
the default constructor rather than using the inline initializer list.
This is needed to build with C++14 mode.  Provide a default value for
the `Optional` type in the structure which prevents a non-copy default
constructor from being synthesized.  NFC.
2017-12-18 12:44:19 -08:00
John McCall
94116347a2 Fix some warnings: extra semicolons, anonymous structs. 2017-12-18 15:31:47 -05:00
Joe Groff
f7fc74332c AST: Property requirements in @objc protocols should return true for requiresForeignGetterAndSetter.
We need to use ObjC dispatch to get to the witness of an ObjC protocol requirement. The wrong answer here was causing us to do the wrong thing when producing identifiers for key paths that refer to ObjC protocol requirements.
2017-12-18 12:29:14 -08:00
Brian Gesiak
6af0001142 [AST] Improve OverloadedDeclRefExpr dump colors
Colorize the dump output for an OverloadedDeclRefExpr, and label the
value decl overloads so that it's clear that they are associated with the expr.
2017-12-18 15:22:02 -05:00