Commit Graph

925 Commits

Author SHA1 Message Date
Varun Gandhi
c94ffcf389 [ModuleTrace] Mark test unsupported for windows-msvc. 2020-07-24 17:08:30 -07:00
Varun Gandhi
7e34fb040a [ModuleTrace] More precise dependency tracking through ObjC.
We need to traverse the module dependency graph and track which modules expose
which other modules' ABIs, while making sure that we don't hit a loop while
trawling through Clang (sub)modules.

Fixes rdar://64993153.
2020-07-23 19:25:02 -07:00
Varun Gandhi
5f6dd24ec9 [ModuleTrace] Add complex test case for module trace.
Overlay-overlay dependencies are incorrectly marked indirect when the
downstream overlay's underlying module imports the upstream overlay's
underlying module but the downstream overlay does not explicitly import
the upstream overlay.
2020-07-23 16:02:03 -07:00
Varun Gandhi
e72629df92 Merge pull request #32771 from varungandhi-apple/vg-include-spi-deps-in-trace
Include SPI dependencies in module trace.
2020-07-10 13:48:31 -07:00
Nate Chandler
b9c43b4598 [Test] Disabled Driver/linker.swift.
See rdar://problem/65281056 .
2020-07-10 09:41:44 -07:00
martinboehme
40104ba8b1 Link against the C++ standard library when C++ interop is enabled (#30914)
This doesn't yet allow including C++ headers on platforms where libc++
isn't the default; see comments in UnixToolChains.cpp for details.

However, it does, for example, allow throwing and catching exceptions in C++
code used through interop, unblocking
https://github.com/apple/swift/pull/30674/files.

The flags (-enable-experimental-cxx-interop and -experimental-cxx-stdlib) carry
"experimental" in the name to emphasize that C++ interop is still an
experimental feature.

Co-authored-by: Michael Forster <forster@google.com>
2020-07-09 15:59:26 +02:00
Doug Gregor
59b8c6e58f Fix test again :( 2020-07-08 19:56:04 -07:00
Varun Gandhi
7c366839b3 [FrontendTool] Include SPI dependencies in module trace. 2020-07-08 17:57:50 -07:00
Varun Gandhi
b1ada5cd71 [FrontendTool] Add test for SPI imports in module trace. 2020-07-08 17:57:31 -07:00
Doug Gregor
e547182c91 Loosen a test to deal with vendor nane 2020-07-08 07:53:12 -07:00
Doug Gregor
618af0420f [Frontend] Add compatibility libraries to -print-target-info.
The driver and any other client that attempts to properly link Swift
code need to know which compatibility libraries should be linked on a
per-target basis. Vend that information as part of -print-target-info.
2020-07-07 23:57:10 -07:00
Doug Gregor
7bf676d335 [Frontend] Add compiler version information to -print-target-info output.
Clients that use -print-target-info can avoid an extra frontend
invocation by using this information.
2020-07-07 22:11:19 -07:00
Mishal Shah
899925add3 [Apple Silicon] Remove tvOS/watchOS simulator from Driver/linker test 2020-07-03 01:02:44 -07:00
Mishal Shah
10dda582d6 [Apple Silicon] Update tests for no macOS target triple canonicalization
LLVM no longer canonicalizes target triples for maOS versions. Update
tests to account for this.
2020-07-02 19:30:01 -07:00
Mishal Shah
710ba14ddc [Apple Silicon] [Platform] Baseline arm64 simulators at iOS/tvOS 14.0 and watchOS 7.0. 2020-07-02 19:18:52 -07:00
Mishal Shah
76fe814f9b [Apple Silicon] [Test] Fix a few tests for SDK differences 2020-07-02 19:12:05 -07:00
Mishal Shah
a8aec14bce [Apple Silicon] Adjust linking deployment target from 11.0 down to 10.16 on x86. 2020-07-02 18:31:09 -07:00
Mishal Shah
3c9e72f6e1 [Apple Silicon] [macCatalyst] Baseline arm64(e) macCatalyst at Swift 5.3/iOS 14.0. 2020-07-02 18:28:33 -07:00
Mishal Shah
134f202e01 [Apple Silicon] Baseline arm64 macOS at Swift 5.3 / macOS 10.16 2020-07-02 16:42:15 -07:00
Mishal Shah
92ca9fc924 [Apple Silicon] Generalize tests for other macOS architectures
Most of the changes fall into a few categories:
* Replace explicit "x86_64" with %target-cpu in lit tests
* Cope with architecture differences in IR/asm/etc. macOS-specific tests
2020-07-02 16:27:46 -07:00
Mishal Shah
84489d87b2 [Apple Silicon] Mark several tests that require the Swift interpreter accordingly 2020-07-02 16:26:10 -07:00
Robert Widmann
50159d15b7 [Gardening] Use Vendor=apple Where Possible
This simplifies the usual bundle of OS checks

OS=macosx || OS=ios || OS=tvos || OS=watchos

into

VENDOR=apple

which was added in apple/swift#27307
2020-06-30 23:03:01 -07:00
Saleem Abdulrasool
6d63d957d8 test: attempt to quote python interpreter path
Attempt to properly quote the python interpreter path in the lit
configuration. This was quoted in some places but not others. This
attempts to homogenise the path quoting.
2020-06-29 17:36:46 +00:00
Xi Ge
568cd85f2c test: xfail Driver/sanitize_recover.swift
rdar://64784401
2020-06-25 18:30:55 -07:00
Doug Gregor
9c4a189df6 Disable test on Windows where we don't have symlinks 2020-06-23 13:17:26 -07:00
Doug Gregor
49dfa8fc98 [Frontend rename] Fix another Linux test 2020-06-23 13:17:26 -07:00
Doug Gregor
480c631209 Linux-specific fixes for the swift-frontend rename.
Hardlinking to a symlink is not permitted, so use "swift-frontend"
instead of "swift" as the hard-link target.

Also, update one Linux-specific test to check for swift-frontend.
2020-06-23 13:17:26 -07:00
Doug Gregor
bd95fcb551 [Test] Fix a test for Windows 2020-06-23 13:00:26 -07:00
Doug Gregor
6c0d957ffe [Driver] Execute the frontend when invoked via swift-frontend.
This obviates the need for "-frontend", although we still accept it
for backward compatibility. Switch lit's %target-swift-frontend et al
over to calling swift-frontend.
2020-06-23 13:00:26 -07:00
Doug Gregor
ade21a33fd Fix build of benchmark suite and Linux test 2020-06-23 13:00:26 -07:00
Doug Gregor
f71f6207b5 [CMake] Make swift-frontend the primary Swift binary.
Build swift-frontend as the primary Swift binary, and have
swift/swiftc/etc. symlink over to it. This is a step toward allowing
swift-driver to replace the swift and swiftc binaries.
2020-06-23 13:00:26 -07:00
Mishal Shah
272c466e47 Update master to build with Xcode 12 beta 2020-06-22 15:43:20 -07:00
Daniel Rodríguez Troitiño
2b0039d568 [android] Switch %swiftc_driver for %target-swiftc_driver
When compiling against a platform different than the host, like it
happens when testing against Android stdlib from a Linux host, one needs
to use %target-swiftc_driver to setup the tools directory correctly and
the target options, otherwise errors will happen when trying to link a
host targetted file against the destination platform libraries.
2020-06-19 13:43:32 -07:00
Varun Gandhi
3e0e8cec7a [NFC] Block test on JIRA instead of radar number. 2020-06-17 08:12:45 -07:00
Doug Gregor
b656955f79 [Driver tests] Be explicit when we don't care about SDK/target mismatches 2020-06-16 15:53:13 -07:00
tbkka
33693c6fc4 Disable flaky test (#32417) 2020-06-16 14:59:18 -07:00
swift-ci
068bba3b88 Merge pull request #32175 from keith/ks/coverage-relative 2020-06-16 13:59:13 -07:00
Keith Smiley
1b77448d37 Add path remapping with -coverage-prefix-map to coverage data
Previously the path to covered files in the __LLVM_COV / __llvm_covmap
section were absolute. This made remote builds with coverage information
difficult because all machines would have to have the same build root.
This change uses the values for `-coverage-prefix-map` to remap files in
the coverage info to relative paths. These paths work correctly with
llvm-cov when it is run from the same source directory as the
compilation, or from a different directory using the `-path-equivalence`
argument.

This is analogous to this change in clang https://reviews.llvm.org/D81122
2020-06-15 17:38:34 -07:00
Doug Gregor
1ee3342a04 Fix a test on Linux 2020-06-15 14:11:52 -07:00
Doug Gregor
1be17a2550 [Darwin test config] Use the SDK when running swift/swiftc in tests.
The Swift driver (swift/swiftc) is supposed to always be used with an
accompanying SDK, which it derives from the environment. Our test
infrastructure was clearing out this SDK, making it deviate from the
normal operating environment unnecessarily. Switch to providing the
SDK used for building the standard library, which provides a
more-consistent test environment, and tag the few places in tests
where we have explicit dependencies on "no SDK."
2020-06-15 14:11:08 -07:00
David Zarzycki
f46e2c271d [testing] Workaround unsorted output 2020-06-11 07:42:47 -04:00
Slava Pestov
965c735a06 Merge pull request #32131 from slavapestov/binary-swiftdeps-format
New binary swiftdeps format
2020-06-11 03:58:35 -04:00
Slava Pestov
53931c06a6 Dependencies: Remove apparently-unused test inputs 2020-06-10 23:43:40 -04:00
Slava Pestov
fe3f6b3616 Dependencies: Update tests for new binary format 2020-06-10 23:43:40 -04:00
3405691582
7b431b4ddb [test] Mark XFAIL tests for OpenBSD.
These tests are marked XFAIL or UNSUPPORTED because either the tests:
require libc annotation, require Mach-O support, don't recognize calls to
swift-autolink-extract, requires porting alongside Linux, or rely on simd
which is not present.

Additionally, explicit REQUIRES for tsan/asan/fuzzer are added to some
tests, since OpenBSD does not support these sanitizers or fuzzers, since
it's nicer to mark that with REQUIRES rather than XFAIL.
2020-06-10 18:57:19 -04:00
Robert Widmann
3228a5903a [NFC] Rename Flags
-enable-experimental-private-intransitive-dependencies -> -enable-direct-intramodule-dependencies
-disable-experimental-private-intransitive-dependencies -> -disable-direct-intramodule-dependencies

While we're here, rename DependencyCollector::Mode's constants and clean
up the documentation.
2020-06-09 16:00:59 -07:00
Robert Widmann
fdf31c88a6 Add Flags to Enable or Disable EnableExperientalPrivateIntransitiveDependencies
Turn the existing flag into an on-off switch and migrate all the tests in preparation for it being on by default
2020-06-09 12:24:57 -07:00
Karoy Lorentey
68351d2110 Revert "Merge remote-tracking branch 'origin/master-next'"
This reverts commit 1c9b0908e6, reversing
changes made to 3eb82c1836.
2020-06-08 16:48:38 -07:00
Karoy Lorentey
1c9b0908e6 Merge remote-tracking branch 'origin/master-next'
# Conflicts:
#	include/swift/Frontend/FrontendInputsAndOutputs.h
2020-06-08 16:43:40 -07:00
Saleem Abdulrasool
71309a8fa9 Revert "[LTO] Support LLVM level link time optimization on Darwin, Linux and Windows" 2020-06-07 11:25:48 -07:00