Commit Graph

8 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
984210aa53 tests: replace '// RUN: rm -rf' '// RUN: mkdir' pairs with '%empty-directory(...)'
These changes were made using a script.
2017-06-04 11:08:39 -07:00
Han Sangjin
b8dd577693 [swiftc] Fixed for Cygwin
Fixed for the difference of Cygwin with other Windows variants (MSVC,
Itanium, MinGW).

- The platform name is renamed to "cygwin" from "windows" which is used
  for searching the standard libraries.

- The consideration for DLL storage class (DllExport/DllImport) is not
  required for Cygwin and MinGW. There is no problem when linking in
  these environment.

- Cygwin should use large memory model as default.(This may be changed
  if someone ports to 32bit)

- Cygwin and MinGW should use the autolink feature in the sameway of
  Linux due to the linker's limit.
2017-01-19 05:48:24 +09:00
Dmitri Gribenko
d175b3b66d Migrate FileCheck to %FileCheck in tests 2016-08-10 23:52:02 -07:00
Michael Gottesman
0e11d47cdb [build-script] When smoke testing on macOS, only build the X86 LLVM code generator
We have no need for the other LLVM code generators (after all the main principle
of this smoke test is to only text X86 on macOS).

To implement this I had to split a couple of IRGen tests that involved multiple
code generator into multiple tests so I could use different REQUIRES lines. This
would be a nice feature to add to lit.
2016-07-21 11:12:56 -07:00
Saleem Abdulrasool
97d97cbf1f IRGen: address a TODO in the autolinking
Use the target specific directive generation.  This addresses a TODO to use the
same logic as clang.  Unfortunately, the logic in clang is not accessible
outside of it, so replicate the behaviour.
2016-06-28 18:42:51 -07:00
Saleem Abdulrasool
7837db48d2 IRGen: dont use autolink-extract for COFF targets
COFF supports the `.drectve` section for embedding linker directives.  LLVM has
long supported emitting this section.  With this move, ELF shall become the only
target needing the autolink-extract functionality.
2016-06-04 17:37:27 -07:00