Commit Graph

14500 Commits

Author SHA1 Message Date
David Ungar
6d2e3f51e7 Break up ParseFrontendOptions and reorganize module and output files computations. 2017-11-30 17:28:14 -08:00
Slava Pestov
1191901e55 Merge pull request #13169 from slavapestov/fix-module-format-version
Serialization: Fix module format version number
2017-11-30 14:43:35 -08:00
Xi Ge
653de9f23f [test] libSyntax: add a flag to swift-syntax-test to print trivial node kinds.
These trivial node kinds include node collections like stmtlist and
unknown syntax like UnknownExpr.
2017-11-30 14:33:15 -08:00
Jordan Rose
8f8f00012a Merge pull request #12834 from jrose-apple/restrict-cross-module-struct-initializers-2
Implementation of SE-0189 "Restrict cross-module struct initializers to be delegating"

rdar://problem/34777878
2017-11-30 13:32:45 -08:00
Saleem Abdulrasool
9ea988f22d Merge pull request #12758 from compnerd/ELF-registration
ELF registration Restructuring
2017-11-30 11:20:53 -08:00
Rintaro Ishizaki
e7be78b84d [Parse] Skip type specifiers in middle of composition types
Like `P & inout P2`.
Don't bother to construct wrapped TypeRepr for them.
2017-11-30 15:59:35 +09:00
Rintaro Ishizaki
0bcaf909b2 [Parse] Gardening: remove unused function
Remove 2 convenient functions:
* parseTypeSimple()
* parseTypeSimpleOrComposition()
2017-11-30 15:57:58 +09:00
Rintaro Ishizaki
d389a812e2 [libSyntax] Support parsing postfix type nodes
* OptionalType (?)
* ImplicitlyUnwrappedOptional (!)
* MetatypeType (.Type, .Protocol)
2017-11-30 14:31:21 +09:00
Slava Pestov
bd80b2b536 Serialization: Fix module format version number
I made a typo in https://github.com/apple/swift/pull/13159.
389 is followed by 390 and not 340.
2017-11-29 19:03:14 -08:00
Rintaro Ishizaki
5923e4fee4 [libSyntax] Support parsing collection types 2017-11-30 11:49:39 +09:00
Saleem Abdulrasool
df54b2af11 reflection: handle LMA != VMA for ELF
ELF is segment mapped, where the segment which contains a particular
section may be mapped to an address which does not correspond to the
address on disk.  Since the reflection dumper does not use the loader to
load the image into memory, we must manually account for any section
offsets.  Calculate this value when we query the mmap'ed image and wire
it through to the relative direct pointer accesses.

When switching to the linker table approach for the ELF metadata
introspection, this was uncovered as the segment containing the orphaned
sections was coalesced into a separate PT_LOAD header which had a non-0
offset for the mapping.
2017-11-29 17:56:15 -08:00
Slava Pestov
41f4d5c96d Merge pull request #13159 from slavapestov/reapply-volatile-witness-method-inst
Re-apply "SIL: Use objc_method instruction for Objective-C protocol method calls"
2017-11-29 17:28:52 -08:00
swift-ci
e408eb732d Merge pull request #13151 from harlanhaskins/moving-on 2017-11-29 16:44:23 -08:00
Slava Pestov
1f79af7504 SIL: Use objc_method instruction for Objective-C protocol method calls
Fixes <rdar://problem/15933365>.
2017-11-29 16:26:43 -08:00
Harlan Haskins
9732442628 [Syntax] Remove LegacyASTTransformer
As it is no longer ever instantiated, and since Syntax nodes are being
plumbed through the parser, the LegacyASTTransformer no longer needs to
exist.
2017-11-29 17:51:57 -05:00
Nathan Hawes
3ce741ac30 Merge pull request #13130 from nathawes/rdar31378113-rename-of-swift-subscript-not-working
[Refactoring] Fix subscript rename
2017-11-29 14:04:49 -08:00
Arnold Schwaighofer
ea9907ae15 Revert "SIL: Use objc_method instruction for Objective-C protocol method calls" 2017-11-29 11:19:46 -08:00
Arnold Schwaighofer
1a0443040e Revert "Merge pull request #12952 from davidungar/move-in-to-next"
This reverts commit 911140c7e1, reversing
changes made to 5590a2ff91.

This broke the incremental bot.

rdar://35746584
2017-11-29 08:09:42 -08:00
Slava Pestov
a3b1308c76 Merge pull request #13139 from slavapestov/no-more-volatile-witness-method
SIL: Use objc_method instruction for Objective-C protocol method calls
2017-11-29 02:12:46 -08:00
Slava Pestov
1ee0970934 SIL: Use objc_method instruction for Objective-C protocol method calls
Fixes <rdar://problem/15933365>.
2017-11-29 01:22:05 -08:00
Slava Pestov
1f2a49bf75 Merge pull request #13133 from slavapestov/who-cares-about-speling
Remove TypeBase::isSpelledLike()
2017-11-28 21:08:23 -08:00
swift-ci
b39c337285 Merge pull request #13129 from gottesmm/pr-a501646b040ec5fb99039cd0689b4468acdd0d23 2017-11-28 21:06:20 -08:00
Slava Pestov
a23d1fa0d7 AST: Remove TypeBase::isSpelledLike() 2017-11-28 20:25:22 -08:00
Michael Gottesman
566f3d1cae [sil] Move determining if two SILFunctionTypes are ABI compatible from the verifier onto SILFunctionType itself.
Right now if convert_function is used incorrectly by SILGen, we get an error via
the SILVerifier after we have finished building the entire function. This is a
pain in the butt to track down. Using this refactor, I am able to just assert in
the SILBuilder itself.

On another note, down the line we should just separate the dataflow checker part
of the verifier from specific SILInstruction verification. This would allow for
SILBuilder to perform the SILInstruction verification upon creation giving the
same effect. Such a change is a much larger change though and this is just a
commit chopped off a larger commit.

rdar://34222540
2017-11-28 20:10:37 -08:00
Nathan Hawes
c326ec46c7 [Refactoring] Fix subscript rename
Adds support for renaming subscripts with external names, e.g.
subscript(x y: Int), and introduces a noncollapsible parameter name range for
subscript parameters, since these shouldn't be collapsed with an argument label
of the same name as function parameter names are.
2017-11-28 19:45:29 -08:00
Ted Kremenek
e04c7fd00a Merge pull request #12964 from graydon/if-target-environment
#if targetEnvironment(simulator)
2017-11-28 19:39:44 -08:00
Rintaro Ishizaki
0ba59a3256 Merge pull request #13110 from rintaro/syntax-parse-builder
[libSyntax] Support parsing type-identifier
2017-11-29 10:55:45 +09:00
swift-ci
cdab55a202 Merge pull request #13124 from DougGregor/se-0143-experimental-flag 2017-11-28 16:59:27 -08:00
David Ungar
911140c7e1 Merge pull request #12952 from davidungar/move-in-to-next
Break up ParseFrontendOptions and reorganize module and output files computations.
2017-11-28 16:58:09 -08:00
Rintaro Ishizaki
640a11d11e [libSyntax] Return type-identifier as SyntaxParserResult 2017-11-29 09:58:05 +09:00
Rintaro Ishizaki
e7cfae0ba9 [libSyntax] Support parsing type-identifier 2017-11-29 09:57:59 +09:00
Rintaro Ishizaki
d1b0d137da [Parse] Set appropriate token kind when consumeStartingCharacterOfCurrentToken() 2017-11-29 09:37:22 +09:00
Xi Ge
e560170a60 libSyntax: Parse member access expression. (#13119)
* libSyntax: Parse member access expression.

This patch uses createNodeInPlace from syntax parsing context API to
merge an expression with its suffix to create recursive nodes such as
member access expression.

Meanwhile, this patch breaks down a signed integer or float literal to a
prefix operator expression. This expression consists of two parts: an
operator and the following expression. This makes literals like "+1" or
"-1" no different from other prefix unary expressions such as "!true".
2017-11-28 16:29:50 -08:00
Doug Gregor
b59c30c1af [SE-0143] Put conditional conformances behind an "experimental" flag.
Conditional conformances aren't quite ready yet for Swift 4.1, so
introduce the flag `-enable-experimental-conditional-conformances` to
enable conditional conformaces, and an error when one declares a
conditional conformance without specifying the flag.

Add this flag when building the standard library (which will vend
conditional conformances) and to all of the tests that need it.

Fixes rdar://problem/35728337.
2017-11-28 16:01:51 -08:00
Graydon Hoare
94988a253e [Parse] Add suggestion to targetEnvironment diagnostic. 2017-11-28 15:55:12 -08:00
Graydon Hoare
d31bad45b8 [Parse] Add fixit for targetEnvironment(simulator) 2017-11-28 13:51:01 -08:00
Graydon Hoare
3807b3fa1e [Parse] Add platform conditional targetEnvironment(simulator) 2017-11-28 13:51:01 -08:00
David Ungar
d16ae98e2a Review fixes:
Rename isThereAPrimaryInputWithAFilenameAt to isInputPrimary.
Remove spurious delayed_function_body_parsing.
Simply return type of getOutputFilenamesFromCommandLineOrFilelist.
2017-11-28 13:28:10 -08:00
David Ungar
b4681b154d Incorperate advice from review.
Change “have” routines to “has”.
Use more consistent casing.
Remove spurious “DelayedFunctionParsing” option.
Move debugFail routines to top lexical level.
Rename and reorder declaration of functions in FrontendArgsToOptionsConverter.
Move, reword, and doxygenate comments for some of those functions.
Fix casing on some more setUp* functions.
Return NoneAction instead of existing RequestedAction in FrontendArgsToOptionsConverter::determineRequestedAction.
Remove test names and put in FIXME’s.
Remove “Jordan” from comments & reword.
Reorder if-then arms of FrontendArgsToOptionsConverter::computeOutputFilenames for readability.
Test for empty string instead of equality with “”.
Use hasUnusedModuleDocOutputPath.
Remove optionality from return type of getOutputFilenamesFromCommandLineOrFilelist.
Rename isPrimaryInputAFileAt to isThereAPrimaryInputWithAFilenameAt.
Added a FIXME in doesActionProduceOutput to reflect that some actions actually do not produce output.
2017-11-28 09:21:35 -08:00
swift-ci
e482bcb947 Merge pull request #13079 from davezarzycki/nfc_ExtInfo_feedback 2017-11-28 07:12:18 -08:00
David Zarzycki
5cc0d83db0 [AST] NFC: Use NumExtInfoBits instead of the magic value 2017-11-28 08:45:06 -05:00
Slava Pestov
47a3a66e52 SILOptimizer: Kill off duplicated getAllSubclasses() algorithm 2017-11-27 22:20:14 -08:00
David Ungar
b37219f791 Break up ParseFrontendOptions and reorganize module and output files computations. 2017-11-27 20:52:25 -08:00
David Ungar
83ee8cb7f0 Merge pull request #12920 from davidungar/Move-input-conversion
Move input conversion
2017-11-27 17:13:48 -08:00
Xi Ge
588ac6b3e8 libSyntax: add several elementary nodes. (#13085)
They are SequenceExpr, AssignmentExpr, and BinaryOperatorExpr.
2017-11-27 13:15:39 -08:00
Arnold Schwaighofer
3e04f21a41 SIL: Remove EnableGuaranteedClosureContext now that it is the default 2017-11-27 07:25:03 -08:00
David Zarzycki
a52b07faf8 [AST] NFC: Try to static_assert that ExtInfo and TypeBase agree 2017-11-27 07:55:58 -05:00
swift-ci
3546136621 Merge pull request #13075 from lattner/SourceLocCleanup 2017-11-26 23:04:17 -08:00
swift-ci
6285582c13 Merge pull request #13074 from gottesmm/pr-bae9d9e30d40c9211864b978ff3400b9b01034c9 2017-11-26 21:55:50 -08:00
Chris Lattner
ee3b01bf81 Clean up some SourceLocation manipulation logic, NFC. 2017-11-26 20:58:42 -08:00