Commit Graph

19 Commits

Author SHA1 Message Date
Jordan Rose
ce34ed593c [Driver] Use filelists for the *output* of a threaded WMO build.
This is only the driver side of the work; the frontend doesn't understand
this new -output-filelist option yet. Next commit.

More https://bugs.swift.org/browse/SR-280.
2016-01-13 18:39:24 -08:00
Jordan Rose
b45a69ef09 [Driver] Allow passing all source files in a filelist.
Generate frontend commands with -filelist in them. This isn't actually
implemented yet, but we can start testing at this point.

Part 1 of https://bugs.swift.org/browse/SR-280.
2016-01-12 19:20:50 -08:00
Jordan Rose
de2ecbb80e [Driver] Remove the notion of Tools, turn ToolChain into an Action visitor.
The "Tool" abstraction wasn't buying us enough to deserve the added
complexity. Now a ToolChain turns Actions into Jobs, and every helper
tool is searched for relative to Swift first. Much simpler.

Swift SVN r31563
2015-08-28 23:12:33 +00:00
Argyrios Kyrtzidis
f97926f72e [driver] If '-update-code' is enabled, use 'swift-update' for the module merging action as well.
Swift SVN r27211
2015-04-10 18:26:55 +00:00
Argyrios Kyrtzidis
8b250d6d35 [driver] Remove the 'swift-fixit' symlink and introduce '-emit-fixits-path' frontend option that
writes compiler fixits as source edits.

Driver option '-fixit-code' adds '-emit-fixits-path' for all the frontend invocations.

Swift SVN r27208
2015-04-10 17:33:29 +00:00
Argyrios Kyrtzidis
6ee8f9b9b7 [driver] Add option "-fixit-code" which delegates to 'swift-fixit'.
Swift SVN r27142
2015-04-08 22:20:34 +00:00
Manman Ren
1e2fc76ae0 Add testing case for -embed-bitcode and -incremental.
Swift SVN r25578
2015-02-27 00:43:58 +00:00
Jordan Rose
6430d30a51 [Driver] For now, just ignore -incremental under -whole-module-optimization.
These aren't inherently incompatible, but today it would do nothing useful,
and using both flags together causes problems (see previous commit).

rdar://problem/19669432

Swift SVN r25389
2015-02-19 02:28:34 +00:00
Argyrios Kyrtzidis
2dc65341f2 [driver] Make sure that adding '-update-code' will permit accepting all arguments that '-c' accepts.
rdar://19667675

Swift SVN r24861
2015-01-30 23:35:57 +00:00
Argyrios Kyrtzidis
1d23b1c7ae [driver] Change '--update-code' to '-update-code' and make it HelpHidden.
Suggested by Jordan.

Swift SVN r24379
2015-01-12 23:56:41 +00:00
Argyrios Kyrtzidis
eb89a0c6c0 [driver] Introduce '--update-code' which enables the driver to spawn invocations
of 'bin/swift-update' with the related frontend options.

'swift-update' will be the tool for producing diffs to update swift code to the
latest version.

Swift SVN r24287
2015-01-08 23:46:13 +00:00
Jordan Rose
4870fa905f [Driver] Use -incremental as the top-level option for dependency tracking.
This was being staged as -emit-reference-dependencies, but it's affecting
a lot more than that. Eventually for command line builds this should also
preserve intermediate build outputs (like .o and .swiftmodule) for use in
later builds, rather than putting them in $TMPDIR and deleting them after.

This option is still hidden.

Swift SVN r23295
2014-11-13 00:19:04 +00:00
Jordan Rose
1fdf0e48b4 [Driver] Add -emit-reference-dependencies to the driver.
This just adds another possible output kind and forwards it to the frontend.
Note that in builds without an output map, this will just dump the dependencies
next to the output file, which is a temp file whose name is chosen randomly.
That's not so useful, but we can fix it later.

Part of rdar://problem/15353101

Swift SVN r23220
2014-11-11 00:43:22 +00:00
Jordan Rose
686e93e7d2 [test] Make driver tests more robust against paths containing dots.
Swift SVN r21853
2014-09-10 22:48:38 +00:00
Jordan Rose
86b24b7d5f [Driver] Ban files with the same basename in the same module.
We use the basename to generate the private-discriminator. Why just the
basename? Because we want projects checked out in different locations to
still have a chance of generating identical binaries, and (at least for now)
private symbols still have external linkage.

Part of rdar://problem/17632175

Swift SVN r21845
2014-09-10 19:10:44 +00:00
Ben Langmuir
d2ef235237 Move the lit tests over to the new swift/swiftc interfaces
Most of the tests just got moved to swiftc, but some of them were
duplicated to apply to both swiftc and swift. A handful still use the
existing 'swift' because they are for the existing '-i' syntax.

Note: this means config.swift_driver now uses the staging symlink
'swifti'. The only thing preventing us from dropping the 'i' and getting
rid of the old interface is that Xcode hasn't moved to swiftc yet
<rdar://problem/17769327>.

Swift SVN r20467
2014-07-24 04:34:10 +00:00
Jordan Rose
9155772014 [Driver] Drop the -arch flag; it does the wrong thing for the iOS simulator.
Clang uses this to produce fat binaries, so we'll probably want to get it
right some day, but for now it's fine to just leave it out.

Swift SVN r18872
2014-06-13 17:27:48 +00:00
Ted Kremenek
fad874708e Adjust test cases.
Swift SVN r17964
2014-05-12 22:01:52 +00:00
Jordan Rose
7358f8c5dc [driver] Fix -S mode to not crash.
Convert a switch with a default case to explicitly list all cases.

Swift SVN r13466
2014-02-05 01:34:42 +00:00