Commit Graph

30 Commits

Author SHA1 Message Date
Bob Wilson
390058972a [master-next] Use PRIVATE in target_link_libraries for executables
This is needed to work with LLVM r319840.
2017-12-06 21:55:22 -08:00
Arnold Schwaighofer
aa12b26192 Runtime implementation of array witnesses
(using these to replace the current array witnesses is next)

rdar://27412867
SR-3376
2017-09-08 15:20:36 -07:00
Kuba (Brecka) Mracek
a5a59f5aed [runtime] Enhance output from dynamic exclusivity violations. Print current stacktrace and the symbolicated frame of the previous conflicting access. (#9501) 2017-05-12 20:28:28 -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
Greg Parker
ae1c984920 New refcount representation (#5282)
New refcount representation and weak variable implementation. See SwiftShims/RefCount.h for details.
2017-02-24 14:19:11 -08:00
Simon Evans
707588c962 [SR-648] ELF static binary fixes
- Revert the use of SWIFT_RUNTIME_EXPORT in ImageInspectionELF.cpp and
  fix the unittests by explicitly adding the file to the list

- Revert the change of section data names
2016-11-30 18:39:16 +00:00
Greg Parker
3488c8091a [test] Add long test machinery to test/Unit. Use it to test max refcount. (#4594) 2016-09-02 01:36:41 -07:00
Dmitri Gribenko
b162f60070 runtime: make _SwiftNativeNSError use the Hashable conformance, if available
If the Swift error wrapped in a _SwiftNativeNSError box conforms to
Hashable, the box now uses the Swift's conformance to Hashable.

Part of rdar://problem/27574348.
2016-08-09 00:49:20 -07:00
Dmitri Gribenko
d227aeb64d CMake: use object libraries instead of repacking static archives 2016-06-01 03:06:33 -06:00
Oleksandr Tymoshenko
33eb95490b Link with libexecinfo on FreeBSD
backtrace_symbols is defined in libexecinfo on FreeBSD
2016-03-29 16:46:39 -07:00
Shawn Erickson
2f84220712 [runtime] added Mutex, Condition, and Scoped locks for use by Swift runtime (see SR-946) 2016-03-20 22:56:24 -07:00
Joe Groff
f7291b21ec Runtime: Build with -fvisibility=hidden.
...and explicitly mark symbols we export, either for use by executables or for runtime-stdlib interaction. Until the stdlib supports resilience we have to allow programs to link to these SPI symbols.
2016-02-08 08:06:02 -08:00
Xin Tong
4dcf2909fe Add ObjC-specific test cases to separate file. post-commit for r31902
Swift SVN r31988
2015-09-16 02:49:00 +00:00
Xin Tong
64135ef2ee Implement unknownRetain_n/Release_n entry points
rdar://21945003

Swift SVN r31902
2015-09-11 19:28:18 +00:00
Ben Langmuir
784a05faf2 [cmake] Replace a bunch of OSX checks with Darwin checks
These should all apply to any Darwin platform, and the current behaviour
was breaking cross-compilation.

Introduces a SWIFT_DARWIN_VARIANTS pattern, to be used as follows:
    if(SWIFT_HOST_VARIANT MATCHES "${SWIFT_DARWIN_VARIANTS}")

Also fix one place where I checked the CMAKE_SYSTEM_NAME instead of the
host variant that I recently introduced.  I haven't attempted to find
the rest of the places we're doing this though.

Swift SVN r26554
2015-03-25 21:15:30 +00:00
David Farler
544ef4002d Merge tvOS and watchOS Support
- Add frontend and standard library build support for tvOS.
- Add frontend support for watchOS.

watchOS standard library builds are still disabled during SDK bring-up.

To build for TVOS, specify --tvos to build-script.
To build for watchOS, specify --watchos to build-script (not yet supported).

This patch does not include turning on full tests for TVOS or watchOS, and
will be included in a follow-up patch.

Swift SVN r26278
2015-03-18 21:35:07 +00:00
Graham Batty
45380a3341 Don't build weak.mm on non-objc platforms.
Also don't link to stdlibunittest since it's weak.mm that needs
it and it's not yet built on non-darwin.

Swift SVN r24847
2015-01-30 18:11:00 +00:00
Joe Groff
f02ba53d97 Reenable the weak reference runtime tests in weak.mm.
Instead of directly referencing a long-dead constructor from the standard library, put a purpose-built function in StdlibUnittest to feed a Swift object reference to the test C code. rdar://problem/18498737

Swift SVN r24816
2015-01-29 17:49:08 +00:00
John McCall
e67d1f2af4 Add simple unit tests for our native reference counting.
Swift SVN r24409
2015-01-14 01:38:50 +00:00
Dmitri Hrybenko
6670bb76ec Rewrite the CMake build system
Swift SVN r24124
2014-12-23 22:15:30 +00:00
Dmitri Hrybenko
e954ac9534 CMake: normalize checks for Apple operating systems
Swift SVN r23056
2014-11-01 04:14:36 +00:00
Dmitri Hrybenko
932953eacb Allow CMake to succeed on non-Darwin systems
Swift SVN r22312
2014-09-27 21:56:41 +00:00
Doug Gregor
71cd9245ba Rename swift_stdlib_core -> swiftCore and swift_runtime -> swiftRuntime.
We can't use underscores in plists, so just makes the names consistent
<rdar://problem/17652418>.

Swift SVN r19954
2014-07-14 22:19:03 +00:00
Joe Groff
d3f2e3816a Link SwiftRuntimeTests against the entire stdlib instead of runtime.a alone.
There are interdependencies between the Swift and C++ code now.

Swift SVN r17963
2014-05-12 21:59:03 +00:00
Joe Groff
e109124186 Replace 'union' keyword with 'enum'.
This only touches the compiler and tests. Doc updates to follow.

Swift SVN r8478
2013-09-20 01:33:14 +00:00
Joe Groff
000d8e4953 Runtime: Add functions for dynamic single-payload dispatch.
Add functions to dynamically query the extra inhabitants of a single-payload union's payload metadata, then identify or store bit patterns used to represent empty cases, whether they happen to use extra inhabitants or added tag bits.

Swift SVN r8320
2013-09-17 01:29:35 +00:00
Dmitri Hrybenko
5a88513e71 Don't link to curses library explicitly
LLVM build system has been fixed to pass down this linker flag automatically.


Swift SVN r7048
2013-08-08 17:46:52 +00:00
Adrian Prantl
1a0875bc3f Add curses library to the unit tests.
Swift SVN r6996
2013-08-07 20:24:22 +00:00
Argyrios Kyrtzidis
120ce20613 [cmake] Add 'Swift' prefix to unit test targets to avoid conflicts from clang targets.
Swift SVN r5937
2013-07-01 18:25:23 +00:00
Jordan Rose
1eec5db8c5 CMake: get unit tests working.
Whatever difficulty there supposedly was in doing this for Clang must
apply only to standalone builds where no LLVM source is available.

Swift SVN r3057
2012-10-25 18:30:06 +00:00