Erik Eckstein
5bb69bde58
Mangling: be more tolerant about missing Type nodes in the new re-mangler.
...
The runtime library sometimes does not generate type nodes when building a class name.
2017-02-07 08:36:21 -08:00
Erik Eckstein
ee1aa04c11
Mangling: don’t use llvm_unreachable in Remangler because we don’t have this if the Remangler linked into the swift runtime library
2017-02-07 08:36:21 -08:00
Erik Eckstein
e6f2e7bc88
Mangling: add a few utility functions in the new mangler and demangler which will be used by reflection mangling
2017-02-07 08:36:21 -08:00
Erik Eckstein
2ced2f2b49
Mangling: fix selectMangling for Release build
...
rdar://problem/30387928
2017-02-06 19:31:29 -08:00
Erik Eckstein
81384b6f82
demangler: Add API functions for classifying symbols.
...
To be used by lldb.
Also add a -classify option in swift-demangler to test those new API functions.
2017-01-31 17:27:10 -08:00
Hugh Bellamy
d8508f66f6
Merge pull request #7051 from hughbe/new-platforms
...
Fix warnings for unhandled triples after LLVM upstream update
2017-01-27 08:55:24 +00:00
swift-ci
9580f41a0e
Merge pull request #7054 from JaSpa/fix-ndebug-linker-error
2017-01-26 11:34:31 -08:00
Erik Eckstein
39c21c92c8
Mangling: better check for the -new-mangling-for-tests option
2017-01-26 08:54:31 -08:00
Janek Spaderna
98f5eaddf6
[Mangling] Fix linker error in NDEBUG build
2017-01-26 11:57:22 +01:00
Hugh Bellamy
2c1bc3c822
Fix warnings for unhandled triples after LLVM upstream update
...
> warning C4062: enumerator 'llvm::Triple::Fuchsia' in switch of enum
'llvm::Triple::OSType' is not handled
> warning C4062: enumerator 'llvm::Triple::Contiki' in switch of enum
'llvm::Triple::OSType' is not handled
> warning C4062: enumerator 'llvm::Triple::LastOSType' in switch of enum
'llvm::Triple::OSType' is not handled
2017-01-26 10:11:34 +00:00
Erik Eckstein
4c7d68b590
Mangling: fix compile error in release build
2017-01-25 12:37:57 -08:00
Erik Eckstein
f15075f88b
Mangling: fix the check if a new mangled name contains an old mangled function name.
...
This is used to decide whether a symbol should be tested for correct re-mangling.
2017-01-24 17:46:18 -08:00
Erik Eckstein
21ff1ba378
Mangling: fix wrong re-mangling of identifier-like node substitutions.
...
rdar://problem/30172848
2017-01-24 17:34:32 -08:00
Erik Eckstein
4d00ac1bba
New mangling: add a -new-mangling-for-tests option.
...
This option enables the new mangling for everything except the Swift stdlib module.
Used to switch test files explicitly to the new mangling.
2017-01-24 15:27:45 -08:00
Erik Eckstein
a56a97c89f
Mangling: prepare for using new mangling for USR and debug-info type generation.
...
Select between old and new mangling as we already do in other places in the compiler.
NFC as long as the new mangling is not enabled yet.
2017-01-23 17:49:00 -08:00
Erik Eckstein
8730f9d5fb
Mangling: correct de-mangling of type aliases when used in debug type mangling
2017-01-23 17:49:00 -08:00
practicalswift
a9d6d8938c
[gardening] Fix recently introduced typos
2017-01-22 20:40:45 +01:00
Slava Pestov
7b5cf4ab7d
Merge pull request #3841 from tinysun212/pr-swiftc-cygwin-2
...
[swiftc] Fixed for Cygwin
2017-01-19 20:17:47 -08:00
Hugh Bellamy
975d8d1297
Fix Windows build as a result of recent TaskQueue changes
2017-01-19 09:22:28 +00: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
Robert Widmann
3eba4fd3ab
Merge pull request #6787 from matthewcarroll/SR-3175-Include-signal-number-in-parseable-output-message
...
SR-3175: Include the terminating signal number in the driver output
2017-01-18 11:00:59 -07:00
Bob Wilson
34514513fd
Merge remote-tracking branch 'origin/master' into master-next
2017-01-15 17:34:17 -08:00
Slava Pestov
62b12edc4b
Merge pull request #6819 from hughbe/uuid-linkers
...
Fix linker failures compiling Swift on Windows
2017-01-15 13:47:19 -08:00
Hugh Bellamy
09abbfeefd
Fix lib/Basic Windows/Cygwin build
...
(cherry picked from commit ff17c26b7a )
https://github.com/apple/swift/pull/6812
2017-01-14 20:48:43 -05:00
Hugh Bellamy
9414f46731
Fix linker failures compiling Swift on Windows
2017-01-14 21:01:55 +00:00
Hugh Bellamy
2445862e1b
FIx recently introduced MSVC control path warnings
2017-01-14 12:40:41 +00:00
Slava Pestov
e61bf33980
Merge pull request #5945 from slavapestov/remove-archetype-mangling
...
Remove archetype mangling
2017-01-13 12:07:57 -08:00
Matthew Carroll
5497bfb7b4
SR-3175: Include the terminating signal number in the driver output
...
* Add the signal number of the terminated task to the output of the driver on platforms for which the signal number is available. The new key in the parseable driver output is "signal".
* Add a test to verify that the signal number is emitted.
* Add documentation for the new "signal" key emitted in the parseable driver output.
https://bugs.swift.org/browse/SR-3175
2017-01-13 13:48:41 -05:00
Erik Eckstein
ac90e27aa7
Demangler: fix a crash when trying to demangle wrong mangled generic args
...
The actual problem is that the mangling is wrong. But it’s hard to fix now and we will switch to the new mangling anyway.
So this fix just makes sure the demangler (and therefore lldb) does not crash.
fixes rdar://problem/29881277
2017-01-13 08:48:41 -08:00
Slava Pestov
ee295ddbb8
AST: Nuke the unqualified archetype mangling
2017-01-12 23:20:35 -08:00
Bob Wilson
c765d5e3a5
Merge remote-tracking branch 'origin/master' into master-next
2017-01-12 15:58:19 -08:00
Slava Pestov
bbecb33d13
Merge pull request #4532 from jtbandes/suggestions
...
[QoI] offer typo correction for platform conditionals
2017-01-12 13:31:05 -08:00
swift-ci
808c48401f
Merge pull request #6743 from swiftix/wip-partial-pre-specializations-wip-layout-constraints
2017-01-12 10:12:44 -08:00
Jacob Bandes-Storch
49f5251c73
[QoI] offer typo correction for platform conditionals
2017-01-12 09:07:53 -08:00
Roman Levenstein
8b6a0315a4
(De)Mangling of layout constraints and requirements.
2017-01-12 00:57:06 -08:00
Sean Callanan
399709ccb8
Optionally separate Tasks` stderr from stdout.
...
Fixes a serious problem where spurious output from xcrun breaks
swift's discovery of libarclite.
<rdar://problem/28573949>
2017-01-11 11:11:23 -08:00
Erik Eckstein
bcddf84c54
New mangling: fix re-mangling of ImplFunctionType with generic signature
2017-01-10 13:02:28 -08:00
Bob Wilson
cf3a0458f2
Merge remote-tracking branch 'origin/master' into master-next
2017-01-10 09:05:23 -08:00
Slava Pestov
624073a677
Merge pull request #6460 from hughbe/libuuid-windows
...
Fix linking libuuid on Windows
2017-01-09 18:52:59 -08:00
Bob Wilson
37e7d1c627
Merge remote-tracking branch 'origin/master' into master-next
2017-01-08 17:07:46 -08:00
practicalswift
6d1ae2a39c
[gardening] 2016 → 2017
2017-01-06 16:41:22 +01:00
Bob Wilson
4ca0676a34
Merge remote-tracking branch 'origin/master' into master-next
2017-01-05 17:11:16 -08:00
Erik Eckstein
8cf641ce2b
Mangling: fix crash when mangling an identifier which has a unicode char as first character and a digit as second char.
2017-01-04 16:20:09 -08:00
Joe Shajrawi
66e45979c7
Merge pull request #6451 from shajrawi/outline_enum_retain_release
...
[IRGen] Code Size Reduction: Outline Copy/Consume (Loadable) Enum
2017-01-03 18:39:54 -08:00
Bob Wilson
78b28243ff
Merge remote-tracking branch 'origin/master' into master-next
2017-01-03 14:22:59 -08:00
Hugh Bellamy
beafffb9ff
Fix linking libuuid on Windows
2016-12-23 11:08:32 +00:00
Joe Shajrawi
ee5ed7bdc6
[IRGen] Code Size Reduction: Outline Copy/Consume (Loadable) Enum
2016-12-22 17:08:15 -08:00
Maxwell Swadling
28ff480658
Added missing symbol from SDK
2016-12-21 13:17:46 -08:00
Erik Eckstein
a8eec59008
Mangling: demangling/remangling of property behavior conformances
2016-12-20 13:47:48 -08:00
Erik Eckstein
947996ceaf
Mangling: encode an optional unique ID in the function specialization mangling, instead of appending _unique_suffix
2016-12-20 13:47:48 -08:00