Commit Graph

4111 Commits

Author SHA1 Message Date
Bob Wilson
376a9bf5c3 Revert "Temporarily change to build master-next against swift-5.0-branch of LLVM"
This reverts commit 563292998b.
2018-08-06 22:28:50 -07:00
Erik Eckstein
e53070a701 Check for deterministic compilation in the tools=R,stdlib=RD job.
This option causes the stdlib core to compile multiple times and check if the generated llvm IR is the same for all compilations.
2018-08-06 14:56:21 -07:00
Alex Hoppen
e4eb76fa0c [swiftSyntax] Add classifications for comments 2018-08-04 09:05:13 -07:00
Vedant Kumar
f2977cfdde [build-script] Build LLDBUnitTests before running lldb's lit suite
This change increases test coverage of lldb in its cmake configuration
by ensuring that its unit tests are built and ready to run. There is
similar logic to build the unit tests for the xcodebuild configuration.
2018-07-31 17:43:29 -07:00
swift-ci
8192816dcd Merge remote-tracking branch 'origin/master' into master-next 2018-07-31 17:09:17 -07:00
Xi Ge
571b29b64f SwiftSyntaxTest: refactor command-line argument parsing into a test utility module. NFC (#18418) 2018-07-31 17:05:47 -07:00
swift-ci
afee884bd1 Merge remote-tracking branch 'origin/master' into master-next 2018-07-31 16:49:19 -07:00
Mishal Shah
14dcf0a125 Update LLDB branch for swift-5.0-branch 2018-07-31 16:29:52 -07:00
swift-ci
7a25818d82 Merge remote-tracking branch 'origin/master' into master-next 2018-07-31 13:49:49 -07:00
Alex Hoppen
9670a711c0 Merge pull request #18251 from ahoppen/02-swift-syntax-classifier
[swiftSyntax] Swift side syntax classifier
2018-07-31 13:43:19 -07:00
Davide Italiano
c4ae4a91d3 Merge pull request #18404 from apple/failures-next
[build-script] Pass -rpath to dotest on Linux.
2018-07-31 11:25:22 -07:00
Davide Italiano
7bd1a0321d [build-script] Pass -rpath to dotest on Linux.
Fixes a couple of test failures on master-next.
2018-07-31 18:20:47 +00:00
swift-ci
49e0480117 Merge remote-tracking branch 'origin/master' into master-next 2018-07-30 23:59:43 -07:00
Mishal Shah
6a0f578000 Update update-checkout config for swift-5.0-branch 2018-07-30 23:57:28 -07:00
swift-ci
c2c9124a7b Merge remote-tracking branch 'origin/master' into master-next 2018-07-30 23:08:58 -07:00
Mishal Shah
1bf02e7749 Update swift-5.0-branch to match new qualification 2018-07-30 23:07:06 -07:00
swift-ci
287ce7bbbd Merge remote-tracking branch 'origin/master' into master-next 2018-07-30 15:10:04 -07:00
Alex Hoppen
775beece65 [libSyntax] Add a swift token classifier for syntax highlighting 2018-07-30 14:54:43 -07:00
Alex Hoppen
749a13a6fe [libSyntax] Remove the C++ SyntaxClassifier
The recommended way forward is to use the SyntaxClassifier on the Swift
side.

By removing the C++ SyntaxClassifier, we can also eliminate the
-force-libsyntax-based-processing option that was used to bootstrap
incremental parsing and would generate the syntax map from a syntax
tree.
2018-07-30 09:26:18 -07:00
swift-ci
7b67c4fb2e Merge remote-tracking branch 'origin/master' into master-next 2018-07-27 08:09:19 -07:00
Alex Hoppen
478518fcf7 [swiftSyntax] Add type annotations to speed up compile time 2018-07-26 20:46:58 -07:00
swift-ci
8ad27acfc2 Merge remote-tracking branch 'origin/master' into master-next 2018-07-26 11:29:16 -07:00
Michael Gottesman
0b8381ae78 [update-checkout] Move all files except the top level entrypoints into ./utils/update_checkout/*.
This makes update_checkout into a true python module that we can add nosetests
for, readme, and also split up without issue into multiple small files.

I also added a small stub test directory and support for running tests for
update_checkout during validation-testing. So once we add some tests, everything
is setup correctly in terms of the swift build for testing purposes.
2018-07-26 10:07:18 -07:00
swift-ci
f631b5fd3f Merge remote-tracking branch 'origin/master' into master-next 2018-07-26 09:29:13 -07:00
Andrew Trick
90c9c0613d Merge pull request #18229 from atrick/dir-locals
In swift-project-settings.el, don't outdent case labels.
2018-07-26 09:21:44 -07:00
swift-ci
879a10aa57 Merge remote-tracking branch 'origin/master' into master-next 2018-07-25 15:29:05 -07:00
Alex Hoppen
c8fc286428 Merge pull request #18152 from ahoppen/01-incr-tree-transfer
[libSyntax] Incremental syntax tree transfer
2018-07-25 15:26:57 -07:00
Andrew Trick
62ca01f44c In swift-project-settings.el, don't outdent case labels. 2018-07-25 15:14:13 -07:00
Alex Hoppen
52acc04fa7 [libSyntax] Add test case to match the incrementally transferred syntax tree 2018-07-25 09:58:53 -07:00
swift-ci
36ead37964 Merge remote-tracking branch 'origin/master' into master-next 2018-07-24 17:49:02 -07:00
Bob Wilson
83e2684d91 Merge pull request #18194 from bob-wilson/master-next-build-config
Temporarily change to build master-next against swift-5.0-branch of LLVM
2018-07-24 17:39:27 -07:00
Alex Hoppen
d926b74836 [incrParse] Add test cases to test the incremental syntax tree transfer 2018-07-24 16:32:23 -07:00
Bob Wilson
563292998b Temporarily change to build master-next against swift-5.0-branch of LLVM
As Swift 4.2 winds down, we're due to move to a newer version of LLVM.
The swift-5.0-branch in swift-llvm, swift-clang, and swift-compiler-rt
has been updated with content from upstream-with-swift as of last week,
and we're planning to adopt this as our next "stable" branch of LLVM
(forum announcement should be going out soon). There are still some
issues that we need to work through, so to help test that, we're going
to temporarily use the master-next bots to build with those branches.
We'll switch back to testing against upstream-with-swift after we're
done with the transition.
2018-07-24 15:15:06 -07:00
swift-ci
dfc34b48ce Merge remote-tracking branch 'origin/master' into master-next 2018-07-24 13:49:54 -07:00
Michael Gottesman
3db9496ba8 Merge pull request #18136 from gottesmm/pr-1c14db6a57d92099c80917effc957420deb6b60d
[update-checkout] print(json.dumps(...)) => json.dump(..., sys.stdout)
2018-07-24 13:45:58 -07:00
Michael Gottesman
77587f1798 Merge pull request #18137 from gottesmm/pr-d5b367dbe768a978c1f8a02bee26a1bffe61cfc9
[update-checkout] Change dump-hashes to dump a update-checkout config…
2018-07-24 13:45:32 -07:00
swift-ci
685b007c3f Merge remote-tracking branch 'origin/master' into master-next 2018-07-23 20:39:45 -07:00
John McCall
70e2aea266 Merge pull request #18156 from rjmccall/generalized-accessors
Implement generalized accessors using yield-once coroutines
2018-07-23 22:58:25 -04:00
John McCall
7a4aeed570 Implement generalized accessors using yield-once coroutines.
For now, the accessors have been underscored as `_read` and `_modify`.
I'll prepare an evolution proposal for this feature which should allow
us to remove the underscores or, y'know, rename them to `purple` and
`lettuce`.

`_read` accessors do not make any effort yet to avoid copying the
value being yielded.  I'll work on it in follow-up patches.

Opaque accesses to properties and subscripts defined with `_modify`
accessors will use an inefficient `materializeForSet` pattern that
materializes the value to a temporary instead of accessing it in-place.
That will be fixed by migrating to `modify` over `materializeForSet`,
which is next up after the `read` optimizations.

SIL ownership verification doesn't pass yet for the test cases here
because of a general fault in SILGen where borrows can outlive their
borrowed value due to being cleaned up on the general cleanup stack
when the borrowed value is cleaned up on the formal-access stack.
Michael, Andy, and I discussed various ways to fix this, but it seems
clear to me that it's not in any way specific to coroutine accesses.

rdar://35399664
2018-07-23 18:59:58 -04:00
swift-ci
5c1550f8aa Merge remote-tracking branch 'origin/master' into master-next 2018-07-23 14:09:06 -07:00
Ross Bayer
5323ae1374 Revert "Removed SDKROOT from the environment variables that are purged before building Swift and then prefer SDKROOT when determining -isysroot when building Ninja. (#13829)" (#18115)
This reverts commit eae413dc56.
2018-07-23 13:51:33 -07:00
Alex Hoppen
57196f8902 [libSyntax] Enable serialization of syntax trees for incremental transfer 2018-07-23 12:32:49 -07:00
Michael Gottesman
aa4bd9c14d [update-checkout] Change dump-hashes to dump a update-checkout config file rather than a textual dump format.
Previously -dump-hashes dumped the current state of the hashes in a format like
the following:

$REPO_NAME $HASH $SUBJECT

While this dumps the relevant information, it is not machine parseable. Instead
in this commit, we dump out the hashes into a update-checkout config json file
with a scheme name of repro. Thus to reproduce the current repository state on
someone else's machine, you don't need to type in the exact hashes. Instead, one
can just do:

```
$ ./swift/utils/update-checkout -dump-hashes > repro.json
```

and then give the repro.json file to another swift developer. They then can run:

```
$ ./swift/utils/update-checkout -config=repro.json -scheme=repro
```

which will checkout all of the appropriate hashes for each repository to
reproduce the build on the other user's machine.
2018-07-22 15:33:36 -07:00
Michael Gottesman
860a06af87 [update-checkout] print(json.dumps(...)) => json.dump(..., sys.stdout) 2018-07-22 15:33:23 -07:00
swift-ci
7b5e5028b7 Merge remote-tracking branch 'origin/master' into master-next 2018-07-20 13:49:10 -07:00
Alex Hoppen
858155c648 Merge pull request #18088 from ahoppen/01#3-refactor-test-utility
[incrParse] Refactor the test utility to be more modular
2018-07-20 13:46:30 -07:00
Alex Hoppen
d9d5afd15a [incrParse] Refactor the test utility to be more modular
This way we can use the same core of the test utility to verify
round-tripness of incrementally transferring the syntax tree to
swiftSyntax.
2018-07-19 14:47:58 -07:00
swift-ci
c4feb3611d Merge remote-tracking branch 'origin/master' into master-next 2018-07-18 17:09:20 -07:00
Alex Hoppen
1df1dc71b7 Merge pull request #18016 from ahoppen/003-incremental-syntax-coloring
[libSyntax] Incremental syntax colouring
2018-07-18 17:08:02 -07:00
Alex Hoppen
7a750bf024 [libSyntax] Allow syntax cache reuse info to be passed back via SourceKit 2018-07-18 13:35:10 -07:00