Commit Graph

5 Commits

Author SHA1 Message Date
Slava Pestov
5680bfde55 IRGen: Always use YAML files for completely fragile class layout
The layouts of resilient value types shipped in the Swift 5 standard library
x and overlays will forever be frozen in time for backward deployment to old
Objective-C runtimes. This PR ensures that even if the layouts of these types
evolve in the future, binaries built to run on the old runtime will continue
to lay out class instances in a manner compatible with Swift 5.

Fixes <rdar://problem/45646886>.
2019-02-08 14:22:00 -05:00
Jordan Rose
2b7ab7d8d1 [test] Update autolinking tests to match LLVM.
The test part of 90ca8f119a, which went in early to unblock the build.
2017-07-25 14:57:27 -07:00
Dmitri Gribenko
d175b3b66d Migrate FileCheck to %FileCheck in tests 2016-08-10 23:52:02 -07:00
Saleem Abdulrasool
8f2f097328 Frontend: address some late comments from Jordan
Move the option definition into FrontendOptions.td as it no longer can be passed
to the driver.  Use the single-dash separate form for the argument which is more
uniform with the rest of the options (and is arguably aesthetically more
pleasing).  NFC.
2016-07-06 21:35:57 -07:00
Saleem Abdulrasool
53b9eb46ed Frontend: add -autolink-library= option to support Windows
All modules on Windows need to link against one of {libcmtd.lib, libcmt.lib,
msvcrtd.lib, msvcrt.lib}.  In addition to being the C library, it is the
equivalent of crtbegin0.o on other targets.  It is responsible for providing the
entry point itself.  Traditionally, cl will embed the linkage requirement into
all objects based on the flags given -- one of {/MTd, /MT, /MDd, /MD}.  clang
emulates this via the `--dependent-lib=` option.  Emulate that behaviour in the
swift driver so that swift objects being compiled for Windows targets can
auto-link to the required libraries.
2016-07-06 17:53:04 -07:00