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