Commit Graph

1784 Commits

Author SHA1 Message Date
Hugh Bellamy
d9879522fb Fix top of tree Clang unused lambda capture warnings 2017-03-21 19:15:08 +07:00
swift-ci
099effd29b Merge pull request #8119 from huonw/imported-modules 2017-03-20 17:52:41 -07:00
Huon Wilson
55b2ba2524 [Frontend] Add -emit-imported-modules: listing modules imported by the current one.
This is purely designed to cheaply compute dependency graphs between
modules, and thus only lists the top-level names (i.e. not submodules)
and doesn't do any form of semantic analysis.
2017-03-17 18:44:03 -07:00
swift-ci
31e33efc8d Merge pull request #8134 from akyrtzi/fsystem-preserve-driver-order 2017-03-15 18:45:30 -07:00
Argyrios Kyrtzidis
29d507527d [Driver] Preserve the relative order of '-F' and '-Fsystem' search paths, when creating the frontend invocation
Some projects may be setup in a way where the order of '-F' flags is significant and changing the order, by turning some
of them to '-Fsystem', can break them.
2017-03-15 16:49:03 -07:00
Graydon Hoare
d711c0443f [Bridging PCH] Only emit deps for CompileJobActions rdar://31016087 2017-03-14 17:39:59 -07:00
Erik Eckstein
5e80555c9b demangler: put the demangler into a separate library
Previously it was part of swiftBasic.

The demangler library does not depend on llvm (except some header-only utilities like StringRef). Putting it into its own library makes sure that no llvm stuff will be linked into clients which use the demangler library.

This change also contains other refactoring, like moving demangler code into different files. This makes it easier to remove the old demangler from the runtime library when we switch to the new symbol mangling.

Also in this commit: remove some unused API functions from the demangler Context.

fixes rdar://problem/30503344
2017-03-09 13:42:43 -08:00
Matthew Carroll
69ae6cd588 [Driver] SR-3352: Warn on and ignore -embed-bitcode when not generating object files (#7962)
Commands like -emit-sil and -emit-module (on its own) do not produce object files.
When -embed-bitcode is also set, the driver runs a backend job to generate a module that fails.
This commit emits a warning instead and ignores the -embed-bitcode option.

https://bugs.swift.org/browse/SR-3352
2017-03-07 15:19:08 -08:00
Graydon Hoare
fae468f951 [Bridging PCH] Serialize diagnostics in -emit-pch step. 2017-03-06 15:11:44 -08:00
Graydon Hoare
1c3a54bfa5 [Driver] Only warn on .swiftdeps load-fail with -driver-show-incremental. 2017-03-01 09:07:21 -08:00
Graydon Hoare
ec5d4f3ea1 [Driver] Put new job-lifecycle diagnostic chatter behind another option. 2017-03-01 09:07:21 -08:00
Graydon Hoare
99df2082cd [Driver] Clear deferred commands on each task queue iteration. 2017-03-01 09:07:20 -08:00
Graydon Hoare
a381aa1c4e [Driver] Differentiate logging of the special "" provided member. 2017-02-28 15:17:27 -08:00
Graydon Hoare
4583e910b8 [Driver] Extract dependencyLoadFailed, add optional warning. 2017-02-28 15:17:26 -08:00
Graydon Hoare
423d9fe054 [Driver] Extract reloadAndRemarkDeps from taskFinished. 2017-02-28 15:17:26 -08:00
Graydon Hoare
ab5201f60e [Driver] Make PerformJobsState a mostly-private class. 2017-02-28 15:17:26 -08:00
Graydon Hoare
211d09759c [Driver] Move populateInputInfoMap into PerformJobsState. 2017-02-28 15:17:25 -08:00
Graydon Hoare
9d0e7e0e99 [Driver] Factor out PerformJobsState::checkUnfinishedJobs. 2017-02-28 15:17:25 -08:00
Graydon Hoare
f83ee9fd2f [Driver] Factor out PerformJobsState::runTaskQueueToCompletion. 2017-02-28 15:17:25 -08:00
Graydon Hoare
1b3a4347a8 [Driver] Factor out PerformJobsState::schedule*Jobs. 2017-02-28 15:17:25 -08:00
Graydon Hoare
6d21711d02 [Driver] Move TaskQueue callbacks to PerformJobsState. 2017-02-28 15:17:24 -08:00
Graydon Hoare
f7e9598d08 [Driver] Clean up some comments. 2017-02-28 15:17:24 -08:00
Graydon Hoare
b8c26ef5cd [Driver] Move more temp Job sets to PerformJobsState. 2017-02-28 15:17:24 -08:00
Graydon Hoare
e81d0f4ca1 [Driver] Pass Tracer to markTransitive everywhere. 2017-02-28 15:17:24 -08:00
Graydon Hoare
053c3f8e9e [Driver] Move DepGraph and MarkTracer to PerformJobsState. 2017-02-28 15:17:23 -08:00
Graydon Hoare
aee4c83467 [Driver] Move markFinished to PerformJobsState, add logging. 2017-02-28 15:17:23 -08:00
Graydon Hoare
de2c05fa8b [Driver] Extract scheduleCommandIfNecessary and add logging. 2017-02-28 15:17:23 -08:00
Graydon Hoare
a13a0dfbba [Driver] Factor out some Job-logging support. 2017-02-28 15:17:22 -08:00
Graydon Hoare
01655789a0 [Driver] Move some function-local state into PerformJobState. 2017-02-28 13:22:20 -08:00
Erik Eckstein
437d4da38d Demangling: Remove StringRef-versions of demangling functions from demangle_wrappers because they are now available in Demangle itself.
This is just refactoring. NFC.
2017-02-24 15:19:18 -08:00
Michael Gottesman
8437819b5a [CMake] Revert recent changes.
These changes caused a number of issues:

1. No debug info is emitted when a release-debug info compiler is built.
2. OS X deployment target specification is broken.
3. Swift options were broken without any attempt any recreating that
functionality. The specific option in question is --force-optimized-typechecker.

Such refactorings should be done in a fashion that does not break existing
users and use cases.

This reverts commit e6ce2ff388.
This reverts commit e8645f3750.
This reverts commit 89b038ea7e.
This reverts commit 497cac64d9.
This reverts commit 953ad094da.
This reverts commit e096d1c033.

rdar://30549345
2017-02-15 22:26:06 -08:00
Argyrios Kyrtzidis
c309fb2620 Merge pull request #7477 from akyrtzi/fsystem-search-path-option2
Add '-Fsystem' framework search option to indicate path for frameworks that should be treated as 'system'
2017-02-15 12:04:36 -08:00
Argyrios Kyrtzidis
32e5112874 For the -Fsystem option, address feedback by Jordan. 2017-02-14 23:35:06 -08:00
Slava Pestov
13d6b183c0 Merge pull request #7370 from llvm-beanz/simplify-add_swift_library
[CMake] Simplify add_swift_library
2017-02-14 19:16:59 -08:00
Hugh Bellamy
fdf261327a Return an error result if we can't set the environment variables in performSingleCommand 2017-02-15 09:30:24 +07:00
Argyrios Kyrtzidis
ca906d1e99 Add '-Fsystem' framework search option to indicate path for frameworks that should be treated as 'system'
This has the effect of propagating the search path to the clang importer as '-iframework'.
It doesn't affect whether a swift module is treated as system or not, this can be done as follow-up enhancement.
2017-02-14 16:13:25 -08:00
Chris Bieneman
e096d1c033 [CMake] Simplify add_swift_library
This patch splits add_swift_library into two functions one which handles
the simple case of adding a library that is part of the compiler being
built and the second handling the more complicated case of "target"
libraries, which may need to build for one or more targets.

The new add_swift_library is built using llvm_add_library, which re-uses
LLVM's CMake modules. In adapting to use LLVM's modules some of
add_swift_library's named parameters have been removed and
LINK_LIBRARIES has changed to LINK_LIBS, and LLVM_LINK_COMPONENTS
changed to LINK_COMPONENTS.

This patch also cleans up libswiftBasic's handling of UUID library and
headers, and how it interfaces with gyb sources.

add_swift_library also no longer has the FILE_DEPENDS parameter, which
doesn't matter because llvm_add_library's DEPENDS parameter has the same
behavior.
2017-02-14 14:28:10 -08:00
Hugh Bellamy
fc9d3bdb47 Simplify Windows Compilation::performSingleCommand implementation 2017-02-13 20:00:01 +07:00
Hugh Bellamy
f001b7562b Use relatively new LLVM_FALLLTHROUGH instead of our own SWIFT_FALLTHROUGH 2017-02-12 10:47:03 +07:00
Graydon Hoare
cf5a227fee [Bridging PCH] Make -enable-bridging-pch the default. 2017-02-06 14:49:03 -08:00
Saleem Abdulrasool
1466a5e6e1 Merge pull request #7147 from spevans/pr_link_args
Add dependancy for Linux static-stdlib link argument files
2017-02-05 16:48:45 -08:00
Simon Evans
86596a469e Add dependancy for Linux link argument files 2017-01-30 18:17:28 +00:00
Simon Evans
5c993b45db [runtime] Remove swift_addNewDSOImage() call from static ELF binaries
- Create separate swift_begin.o/swift_end.o for lib/swift and
  lib/swift_static. The static swift_begin.o does not call
  swift_addNewDSOImage() at startup.

- Update ToolChains.cpp to use the correct swift_begin.o/swift_end.o
  files for the `-static-stdlib` and `-static-executable` options.
2017-01-27 14:04:58 +00:00
Robert Widmann
3eba4fd3ab Merge pull request #6787 from matthewcarroll/SR-3175-Include-signal-number-in-parseable-output-message
SR-3175: Include the terminating signal number in the driver output
2017-01-18 11:00:59 -07:00
Bob Wilson
34514513fd Merge remote-tracking branch 'origin/master' into master-next 2017-01-15 17:34:17 -08:00
Matthew Carroll
c1be989c61 Fix code style 2017-01-14 12:26:14 -05:00
Graydon Hoare
e1b0cc909c [Bridging PCH] Add -enable-bridging-pch option, set default to disabled. 2017-01-13 15:18:41 -08:00
Graydon Hoare
3b0b8c3270 [Bridging PCH] Auto-generate and use temporary bridging PCHs from driver. 2017-01-13 15:18:40 -08:00
Graydon Hoare
a95f5da86d [Bridging PCH] Add -emit-pch to Frontend; call emitBridgingPCH. 2017-01-13 15:18:39 -08:00
Matthew Carroll
5497bfb7b4 SR-3175: Include the terminating signal number in the driver output
* Add the signal number of the terminated task to the output of the driver on platforms for which the signal number is available. The new key in the parseable driver output is "signal".
* Add a test to verify that the signal number is emitted.
* Add documentation for the new "signal" key emitted in the parseable driver output.

https://bugs.swift.org/browse/SR-3175
2017-01-13 13:48:41 -05:00