Jordan Rose
de30596ccd
Merge pull request #17665 from allevato/debug-prefix-map-wip
...
Implement -debug-prefix-map flag.
2018-07-24 17:34:42 -07:00
Jordan Rose
a39afdc778
Merge pull request #18090 from jrose-apple/emit-interface-path
...
[Frontend] Add a new -emit-interface-path option
2018-07-24 12:49:27 -07:00
Bob Wilson
8e330ee344
NFC: Fix indentation around the newly renamed LLVM_DEBUG macro.
...
Jordan used a sed command to rename DEBUG to LLVM_DEBUG. That caused some
lines to wrap and messed up indentiation for multi-line arguments.
2018-07-21 00:56:18 -07:00
Jordan Rose
b9ae66d768
[Frontend] Add a new -emit-interface-path option
...
...but don't hook it up to anything yet.
This is the very very start of the module stability / textual
interfaces feature described at
https://forums.swift.org/t/plan-for-module-stability/14551/
For now I've just made it a frontend option (not a driver option),
which is good enough for testing.
2018-07-20 16:40:51 -07:00
Jordan Rose
cefb0b62ba
Replace old DEBUG macro with new LLVM_DEBUG
...
...using a sed command provided by Vedant:
$ find . -name \*.cpp -print -exec sed -i "" -E "s/ DEBUG\(/ LLVM_DEBUG(/g" {} \;
2018-07-20 14:37:26 -07:00
Huon Wilson
103170bcbb
Merge pull request #17688 from huonw/merging-tbd
...
Allow TBD files to be generated in non-wmo mode
2018-07-20 09:44:50 +10:00
Huon Wilson
2e3e6558b7
[Driver] Pass -emit-tbd through to -frontend -merge-modules, to get TBD files without -wmo.
...
Fixes rdar://problem/33735706
2018-07-20 08:12:22 +10:00
Huon Wilson
9dab667544
[Driver] Make the TBD file behave more like a normal auxiliary output.
2018-07-20 08:12:22 +10:00
Jordan Rose
e9f71fd61c
[Driver] We don't need arclite on pre-10.14 after all
...
Reverts the effects of df974b2190 , but keeps the refactoring and nicer
tests.
2018-07-18 18:28:12 -07:00
Jordan Rose
851c0e0883
Merge pull request #16458 from dabelknap/verbose_linker
...
Run clang++ in verbose mode during linking if swiftc is called with "-v"
2018-07-16 09:16:22 -07:00
Robert Widmann
2282065197
Rename "Name Binding" action to "Resolve Imports"
2018-07-13 11:00:48 -07:00
Robert Widmann
cb1e9dd821
Introduce Name Binding as a Frontend Action
...
Introduces the -name-bind frontend action that is intended as an intermediary between the parse-only actions and a full typechecking pass. In this phase, module imports will be validated and resolved, making it possible to emit full make-style dependencies files among other things.
Note that all information available to a parse-only pass is available to name binding, but because it does not continue-on to typecheck input files, full semantic information is not.
2018-07-13 10:56:03 -07:00
Jordan Rose
df974b2190
[Driver] Always link arclite when deploying earlier than macOS 10.14
...
For the upcoming hook in the ObjC runtime for class_getImageName
(see previous commit).
2018-07-12 15:48:58 -07:00
Jordan Rose
b02d5543d4
Merge pull request #17843 from jrose-apple/batteries-included
...
[Driver] Always link compiler_rt on Darwin (when available)
rdar://problem/41911599
2018-07-11 17:35:06 -07:00
Austin Belknap
7dd3800a6b
Make sure -o is the last option.
2018-07-11 15:29:52 -07:00
Jordan Rose
d11704bcc9
Add swift::getNonSimulatorPlatform for DarwinPlatformKind
...
And use it in getDarwinLibraryNameSuffixForTriple, making the logic
there clearer.
Suggested by David U!
2018-07-11 15:09:53 -07:00
Austin Belknap
16fdb8f03a
Merge branch 'master' into verbose_linker
2018-07-11 09:22:34 -07:00
Robert Widmann
81e9a3f660
[NFC] Drop PerformJobsState as a friend class
...
Make the coupling between PerformJobsState and Compilation indirect.
2018-07-10 14:57:01 -07:00
Jordan Rose
d4668833e0
[Driver] Only link to compiler_rt if present for the target platform
...
Tweak the tests to check this correctly.
2018-07-10 12:45:59 -07:00
Jordan Rose
64b3d88d93
[Driver] Always link compiler_rt on Darwin
...
Turns out it's needed for normal builtins that can appear in inlinable
functions, including Objective-C's @available. Clang always links it
unconditionally, so so should Swift.
Note that this does mean you have to build compiler_rt to get a
successful test run on Apple platforms. That was always true if you
wanted the sanitizer tests to work, though.
rdar://problem/41911599
2018-07-09 13:42:02 -07:00
Ben Cohen
2b04e9f105
Suppress a number of warnings in no-assert builds ( #17721 )
...
* Supress a number of warnings about things used only in asserts
* Re-use a couple of variables instead of supressing the warning
2018-07-04 07:15:14 -07:00
Huon Wilson
0113ed01ce
Merge pull request #17415 from huonw/remove-emit-public-type-metadata-accessors-flag
...
[Driver] Completely remove -emit-public-type-metadata-accessors.
2018-07-04 09:04:23 +10:00
Tony Allevato
78edd30ddf
Implement -debug-prefix-map flag.
...
This flag is based on Clang's -fdebug-prefix-map, which lets the user remap absolute paths in debug info. This is necessary for reproducible builds and allows debugging to work on a different machine than the one that built the code when paths to the source may be different.
2018-07-01 18:22:15 -07:00
David Ungar
c1c9cb8f5d
Merge pull request #16762 from davidungar/buildCompilation-refactor-1
...
NFC: Some small refactoring in `buildCompilation`
2018-06-27 13:57:34 -07:00
David Ungar
62d8501f03
Remove unneeded comment.
2018-06-27 13:05:26 -07:00
David Ungar
3045a25e9c
Fix wrong comment.
2018-06-22 13:47:30 -07:00
David Ungar
77ec1e1c36
Clarify lifetime of result of computeWorkingDirectory.
2018-06-22 13:41:53 -07:00
David Ungar
794a3d748d
Merge pull request #16669 from davidungar/refdep-refactor
...
NFC, [Incremental Compilation] Refactor ReferenceDependencies
2018-06-22 10:14:36 -07:00
Huon Wilson
db476ba5cd
[Driver] Completely remove -emit-public-type-metadata-accessors.
...
This was retained to help ease migration between versions of the 4.2 compiler
between when the flag was originally introduced and the full fix landed. It's
not longer needed and there's no reason to retain it in the full release.
Fixes rdar://problem/40502379.
2018-06-22 11:31:27 +10:00
Jordan Rose
7d8e40b0bb
Merge pull request #16362 from dabelknap/frontend_responsefile
...
Wrap Command Line Arguments in a Response File if System Limits are Exceeded
https://bugs.swift.org/browse/SR-4517
2018-06-21 16:31:20 -07:00
Ellis Hoag
c93a5a5776
Add -debug-info-format=[dwarf|codeview] option ( #16888 )
2018-06-20 09:52:57 -07:00
Austin Belknap
d6ec8fad74
Replace accessor methods in getArgumentsForTaskExecution.
2018-06-19 13:26:35 -07:00
Austin Belknap
9d51350ed8
Use an ArrayRef insead of a const reference.
2018-06-19 11:33:45 -07:00
Austin Belknap
d71373c95c
Encapsulate the logic for returning a response file or the full arg vector.
2018-06-15 15:16:35 -07:00
David Ungar
43cad63742
clang-format
2018-06-15 11:18:16 -07:00
David Ungar
a9d7ef18e1
Centralize string constants.
2018-06-15 11:15:22 -07:00
David Ungar
272c5d87ed
Small improvements from Jordan’s review.
2018-06-15 11:09:19 -07:00
David Ungar
9fd23bbeec
Minor refactor of buildCompilation
...
1. Compute things closer to use, and use const, and
2. Factor out some computations into subroutines in order to shorten buildCompilation.
2018-06-15 10:51:05 -07:00
Jordan Rose
8d43ec3ad7
Merge pull request #17087 from allevato/dwarf-command-line-flags
...
Make DWARF debug flag behavior match Clang.
2018-06-15 09:52:26 -07:00
Graydon Hoare
dcc4373dab
[BatchMode] <rdar://40526328> Emit signalled message (SIGINT) for batch constituents cancelled due to errors elsewhere.
2018-06-14 11:51:31 -07:00
Graydon Hoare
8be2c53b24
[BatchMode] Add -driver-batch-count to allow overriding batch count inferred by -j
2018-06-14 11:51:31 -07:00
Tony Allevato
0acc73ae4c
Update flag name to -debug-info-store-invocation.
2018-06-12 18:32:35 -07:00
Tony Allevato
22ac700154
Make DWARF debug flag behavior match Clang.
...
Only write the compilation flags to debug info for Mach-O targets, and only
if the RC_DEBUG_OPTIONS environment variable is set.
2018-06-09 20:05:06 -07:00
David Ungar
46339a79d8
Remove “using batch mode” remark.
2018-06-05 11:19:22 -07:00
Mishal Shah
3f8ce7d2f9
Update master to build with Xcode 10 beta 1, OS X 10.14, iOS 12, tvOS 12, and watchOS 5 SDKs.
2018-06-04 23:14:19 -07:00
Nathan Hawes
42b22fbe38
[migrator] Add -api-diff-data-dir option to override the default location for the migrator's platform + version specific api diff json files
...
This is useful for testing the migrator with different versions of the api diff data.
2018-05-31 09:23:24 -07:00
Robert Widmann
da13d89c24
Move DummyQueue logic into buildTaskQueue
2018-05-29 21:58:27 -07:00
Robert Widmann
d7493dd0fa
[NFC] Expose the TaskQueue as a Compilation Parameter
...
Shuffle the responsibility for creating the TaskQueue out of the
Compilation's internal job state object and into the driver. Expose
a builder convenience function that handles the argument parsing.
2018-05-29 21:58:27 -07:00
Benjamin Herzog
07d4303b40
Merge pull request #16444 from BenchR267/feature/add-metrics-to-driver-output
...
[Driver] Added process information to emitted task messages
2018-05-25 16:49:09 -07:00
Benjamin Herzog
ac10fb3462
[Driver] Added process information to emitted messages
...
When providing the -parseable-output flag to the swift compiler, it will provide json formatted messages about tasks that run.
I added some optional usage information in form of user time, system time and maxrss to the output. This can be used by other tools using the compiler to get some insights about time and memory usage.
Since the output does not longer match processes run (in batch mode), I also added a real_pid field so the client could reason about jobs that belong together if needed.
rdar://39798231
2018-05-25 13:12:57 -07:00