Commit Graph

1737 Commits

Author SHA1 Message Date
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