Commit Graph

1633 Commits

Author SHA1 Message Date
Hugh Bellamy
4a219e45d3 Merge pull request #8583 from hughbe/error-message-file
Improve error message for missing response file in line-directive
2017-06-22 14:31:26 +07:00
Saleem Abdulrasool
3c4c910e7b build: create and use a wrapper for add_llvm_tool_symlink
Introduce a new function `add_swift_tool_symlink`.  Use this instead of the
`add_llvm_tool_symlink` and `install_in_swift_component`.  This mimics the
behaviour in clang as well as the general pattern of renaming the functions from
the LLVM build infrastructure.
2017-06-16 15:59:12 -07:00
swift-ci
e057a05fbe Merge remote-tracking branch 'origin/master' into master-next 2017-06-14 16:28:39 -07:00
Mishal Shah
c5ff1f2cac Update master to build with Xcode 9 beta 1, OS X 10.13, iOS 11, tvOS 11, and watchOS 4 SDKs. 2017-06-14 16:20:35 -07:00
Bob Wilson
52d14e3f0d Set SWIFT_TABLEGEN_TARGET as required by LLVM r305142.
With the change in LLVM r305142, CMake will fail if SWIFT_TABLEGEN_TARGET
is not set. When cross-compiling, it could be set differently than
SWIFT_TABLEGEN_EXE but it does not look like Swift supports that yet. For
now, just set it to the same value as SWIFT_TABLEGEN_EXE.
2017-06-12 10:53:06 -07:00
Robert Widmann
b9836e64e2 Merge pull request #9869 from johnno1962a/master
Ensure fatalError message logged on Android
2017-06-07 09:15:04 -07:00
Arnold Schwaighofer
ca63326e1b Delete unused existential value witnesses from the old existential
implementation

And remove the SWIFT_RUNTIME_ENABLE_COW_EXISTENTIALS flag.
2017-06-02 14:34:41 -07:00
Erik Eckstein
7b6d9afe47 cmake: add a build-script-impl option --report-statistics to pass the -stats-output-dir option when compiling swift libraries 2017-06-01 12:16:20 -07:00
John Holdsworth
304f556f5d Cmake changes for -llog and -latomic V 2017-06-01 01:53:29 +01:00
John Holdsworth
b5bd098d23 Cmake changes for -llog and -latomic IV 2017-06-01 01:35:55 +01:00
John Holdsworth
32bd9f1e49 Cmake changes for -llog and -latomic III 2017-06-01 01:25:55 +01:00
John Holdsworth
0ab8788cc8 Cmake changes for -llog and -latomic II 2017-05-30 23:16:58 +01:00
John Holdsworth
c7ea92a280 Cmake changes for -llog and -latomic 2017-05-30 22:26:30 +01:00
Kuba (Brecka) Mracek
fc7dbefcf8 Revert backtrace ban and start printing backtraces from the runtime again (#9528)
* Revert "[strip -ST] Disable runtime stack trace dumping on Darwin when asserts are disabled."
This reverts commit 6bc28ff1c9.
* Bring back important fixes from the revert of 6bc28ff1c9.
* Change swift::swift_reportError to only print the backtrace in assert builds (swift::warning prints backtrace always).
2017-05-12 15:46:35 -07:00
Michael Gottesman
6bc28ff1c9 [strip -ST] Disable runtime stack trace dumping on Darwin when asserts are disabled.
This commit disables runtime stack trace dumping via dladdr on Darwin when
asserts are disabled.

This stack trace dumping was added as a way to improve the ability to debug the
compiler for compiler developers. This is all well and good but having such a
feature always enabled prevents us from reducing the size of the swift standard
library by eliminating the swift nlist.

rdar://31372220
2017-05-04 16:46:26 -06:00
Doug Gregor
66b11cbc3d [SE-0160] Make deprecated @objc inference warnings opt-in.
The warnings about deprecated @objc inference in Swift 3 mode can be a
bit annoying; and are mostly relevant to the migration workflow. Make
the warning emission a three-state switch:

* None (the default): don't warn about these issues.
* Minimal (-warn-swift3-objc-inference-minimal): warn about direct
  uses of @objc entrypoints and provide "@objc" Fix-Its for them.
* Complete (-warn-swift3-objc-inference-complete): warn about all
  cases where Swift 3 infers @objc but Swift 4 will not.

Fixes rdar://problem/31922278.
2017-05-01 16:25:50 -07:00
Ted Kremenek
758d5d465a Resolve merge conflict. 2017-04-25 16:21:56 -07:00
Doug Coleman
f51f47b7c0 cmake: Don't generate targets for empty sdk/arch combinations.
See rdar://31642132.
2017-04-21 13:45:45 -07:00
Ted Kremenek
d36b0b6b1f Compile all standard library as Swift 3 mode. 2017-04-19 22:36:34 -07:00
Ted Kremenek
6106868eb1 Force -swift-version 3 for Standard Library and overlays. 2017-04-19 21:58:40 -07:00
practicalswift
7eb7d5b109 [gardening] Fix 100 typos. 2017-04-18 17:01:42 +02:00
Hugh Bellamy
7692a1a706 Improve error message for missing response file in line-directive 2017-04-06 22:55:55 +07:00
Doug Coleman
d28e13a230 Merge pull request #8493 from erg/cmake-gyb-expand
cmake: Teach cmake that gyb files depend on foo in ``gyb.expand('foo.swift.gyb'...)``
2017-04-03 09:13:20 -07:00
practicalswift
288cb35b36 Merge pull request #8495 from practicalswift/gardening-20170402
[gardening] Remove unused variables and methods. Fix \t. Use isa<T>(). Typos.
2017-04-03 09:58:44 +02:00
Doug Coleman
f8475f3d50 cmake: Teach cmake that gyb files depend on foo in `gyb.expand('foo.swift.gyb'...)`
Fixes https://bugs.swift.org/browse/SR-4366.
Fixes rdar://problem/31331437.
2017-04-02 22:30:29 -07:00
Arnold Schwaighofer
d202256d1f Add -DSWIFT_RUNTIME_ENABLE_COW_EXISTENTIALS=1 when compiling the front-end
This should fix building a --debug-build
2017-04-02 12:49:26 -07:00
practicalswift
ca72b12287 [gardening] Remove accidental \t:s 2017-04-02 16:03:54 +02:00
Doug Gregor
6244abf9f9 [Driver] Surface -warn-swift3-objc-inference to swiftc.
The `-warn-swift3-objc-inference` option turns out to be extremely
useful in vetting code for unintended `@objc` entry points, so make it
available directly on `swiftc`.

But, bury the enable/disable flags under `-frontend` (they were
effectively there anyway because the driver wasn't propagating them).
2017-03-31 21:53:59 -07:00
Doug Gregor
79440cd7f4 [CMake] Warn about @objc inferred via the deprecated rules in stdlib/overlay builds
We want to know about these, both because they have an impact on our migration to Swift 4 and because we don’t want to vend extra Objective-C entry points.
2017-03-31 21:22:16 -07:00
Doug Coleman
74c048ad90 cmake: Add `-Fsystem ${SDK_PATH}/System/Library/PrivateFrameworks`
for overlays builds.

Related to rdar://problem/28466433
2017-03-30 11:57:50 -07:00
Doug Coleman
f3ce6b78f4 cmake: Allow version numbers to be cache variables.
This change allows them to be overridden from the command line yet still
keep default values.
2017-03-29 14:39:54 -07:00
Hugh Bellamy
1d1d070f13 Remove old .swiftdoc file before creating new .swiftdoc file 2017-03-25 14:47:19 +07:00
Doug Coleman
e7390d1770 Revert "utils: Add swiftenvs, which allow the overriding of compiler tools."
This reverts commit 2b923f3846.
2017-03-22 20:09:34 -07:00
Doug Coleman
9880f65767 Revert "cmake: Ensure that CMAKE_CODESIGN is set instead of trying to run empty"
This reverts commit f3b7485369.
2017-03-22 20:09:34 -07:00
Doug Coleman
f3b7485369 cmake: Ensure that CMAKE_CODESIGN is set instead of trying to run empty
commands.
2017-03-21 21:13:12 -07:00
Doug Coleman
2b923f3846 utils: Add swiftenvs, which allow the overriding of compiler tools. 2017-03-21 14:59:12 -07:00
Arnold Schwaighofer
a4c6af1968 Merge pull request #8122 from aschwaighofer/cow_existential_runtime
Runtime changes for the copy-on-write existential implementation
2017-03-16 12:48:35 -07:00
Hugh Bellamy
9907502ede Add /permissive- flags with VS2017 2017-03-16 22:02:01 +07:00
Doug Coleman
9adb2385df cmake: Remove non-useful message. 2017-03-15 16:09:50 -07:00
Arnold Schwaighofer
d5cbb0bd62 Runtime changes for the copy-on-write existential implementation
Adds the runtime implementation for copy-on-write existentials. This support is
enabled if SWIFT_RUNTIME_ENABLE_COW_EXISTENTIALS is defined. Focus is on
correctness -- not performance yet.

Don't use allocate/deallocate/projectBuffer witnesses for globals in cow
existential mode.

Use SWIFT_RUNTIME_ENABLE_COW_EXISTENTIALS configuration to set the default for
SILOptions.

This includes an IRGen fix to use the right projection in
emitMetatypeOfOpaqueExistential if SWIFT_RUNTIME_ENABLE_COW_EXISTENTIALS is set.

Use unknownRetain instead of native retain in dynamicCastToExistential.
2017-03-15 14:54:55 -07:00
Doug Coleman
2121daaf50 Merge pull request #8077 from erg/cmake-overlays-standalone
WIP: cmake: Initial standalone overlays builds. This is just the cmake
2017-03-14 15:31:01 -07:00
Greg Parker
25653ac891 [build] Disallow calls to objc_msgSend() with no function pointer cast. 2017-03-14 13:35:39 -07:00
Doug Coleman
8c2bd5ae23 cmake: Initial standalone overlays builds.
./utils/build-overlay AVFoundation OSX macosx
rdar://problem/28707246
2017-03-14 12:51:42 -07:00
Arnold Schwaighofer
d42c806d60 Add an option to build the runtime with copy-on-write existentials 2017-03-09 17:22:35 -08:00
Gonzalo Larralde
443e7614e4 Fixes on linker executable variables per target.
* `prefix` should be `sdk` in runtime cmake list file
* typo on variable existence checking
2017-03-07 10:00:58 -03:00
Saleem Abdulrasool
122d101f78 Merge pull request #7776 from compnerd/atomic-abi
build: enable ABI breaking std::atomic changes on MSVC
2017-02-27 13:38:59 -08:00
Mikio Takeuchi
a1efa55c63 Add -swift-stdlib-use-nonatomic-rc option to build-script-impl. std::getenv is still used in SILOptions.h since it has a wider coverage 2017-02-27 12:17:53 +09:00
Saleem Abdulrasool
04ca723570 build: enable ABI breaking std::atomic changes on MSVC
The std::atomic implementation in MSVC broke ABI compatibility across a
minor update (VS2015U2).  Permit the ABI breaking change for the use in
the runtime.
2017-02-26 17:27:15 -08:00
Saleem Abdulrasool
125e882c8c build: permit overriding the linker
When cross-compiling for android ARM, it is possible that the system
linker does not support the target.  However, in order to cross-compile
the target runtime, we need to adjust the linker to the target linker.
If one is not specified, fall back to the current behaviour of using the
system linker.
2017-02-26 11:25:07 -08:00
practicalswift
d352652a72 Merge pull request #7727 from practicalswift/typos-20170223
[gardening] Fix typos
2017-02-24 09:15:12 +01:00