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
Erik Eckstein
268436aa9d
Mangling: check if we can de-mangle everything we mangle
...
And don't compare old and new mangling trees if the old demangling didn't succeed
2016-12-20 13:47:48 -08:00
Erik Eckstein
3c207ae936
Mangling: fix de-mangling of ‘MC’
2016-12-20 13:47:48 -08:00
swift-ci
7b1f753c31
Merge pull request #6345 from practicalswift/gardening-20161217
2016-12-17 14:46:43 -08:00
practicalswift
853ace8b3d
[gardening] Use correct end-of-namespace comments.
2016-12-17 22:33:09 +01:00
practicalswift
9d0b2abfc2
[gardening] Normalize end-of-namespace comments
2016-12-17 22:29:07 +01:00
practicalswift
38be6125e5
[gardening] C++ gardening: Terminate namespaces, fix argument names, ...
...
Changes:
* Terminate all namespaces with the correct closing comment.
* Make sure argument names in comments match the corresponding parameter name.
* Remove redundant get() calls on smart pointers.
* Prefer using "override" or "final" instead of "virtual". Remove "virtual" where appropriate.
2016-12-17 00:32:42 +01:00
Erik Eckstein
eb9cadb501
Mangling: add a substitution for optional types (bound generic enum Swift.Optional)
2016-12-14 16:40:13 -08:00
Erik Eckstein
4a492fc5a7
Mangling: Change new mangling for bound generic types.
...
Putting the nominal type in the first place increases the changes for common prefixes (for the trie).
2016-12-14 16:39:00 -08:00
Erik Eckstein
62e32a1044
Mangling: support for mangling of partial specializations
2016-12-13 11:03:21 -08:00
Bob Wilson
deddf19aae
Merge remote-tracking branch 'origin/master' into master-next
2016-12-13 10:23:03 -08:00
Erik Eckstein
c285044706
Mangling: fix re-mangling of AssociatedTypeWitnessTableAccessor
2016-12-09 10:28:34 -08:00
Erik Eckstein
ad1c079632
Mangling: support new mangling of partial apply forwarders in IRGen
2016-12-09 10:28:34 -08:00
Erik Eckstein
af24045941
Mangling: correct mangling of partial apply forwarders
...
Plus some refactoring in the demangler
2016-12-09 09:05:18 -08:00
Erik Eckstein
7cadbb29c1
Mangling: correct mangling/demangling/remangling of the error and unknown type
2016-12-09 09:05:18 -08:00
Erik Eckstein
d94dd580f6
Mangling: de- and re-mangling of GenericTypeParamDecl
...
This is also missing in the old mangling
2016-12-09 09:05:17 -08:00
Erik Eckstein
b0c95278e1
Mangling: introduce ‘D’ for mangled types for the debugger.
...
This is what ‘_Tt’ was in the old mangling.
Maybe we don’t need this eventually. But currently at least swift-ide-test relies on having a special mangling for such symbols
2016-12-09 09:05:16 -08:00
Erik Eckstein
65ce67036f
Mangling: small fix in rem angler
2016-12-09 09:05:16 -08:00
Erik Eckstein
06c8459087
Mangling: Re-mangle uncurried function type as regular function type
...
The new mangling scheme does not distinguish between curried and uncurried function types
2016-12-09 09:05:15 -08:00
Joe Groff
7429ffb228
Mangle SILBoxTypes with their layout.
...
Use a new mangling scheme that describes the layout of compound boxes. For compatibility with reflection-based clients, continue to use the legacy mangling for single-field boxes when emitting reflection TypeRefs until we fully support reflection for the new box implementation.
2016-12-08 20:02:44 -08:00
Michael Gottesman
16165482f4
[gardening] Eliminate dead never read variable. Found with clang-tidy.
2016-12-06 23:54:23 -08:00
Michael Gottesman
1af1cbfb76
[gardening] Add a bunch of end namespace comments found by clang-tidy.
2016-12-06 19:22:52 -08:00
practicalswift
cfdaf9f14a
[gardening] Fix invalid Swift URLs.
2016-12-06 20:12:20 +01:00
Erik Eckstein
e7489462de
Mangling: fix a problem with punycode encoded identifiers which begin with an underscore
2016-12-05 14:07:05 -08:00
Erik Eckstein
786bd67bd0
Mangling: fix new mangling and de-mangling of private operators
2016-12-05 12:34:25 -08:00
Erik Eckstein
d03b555524
Mangling: support of new mangling in the demangler.
...
It can now demangle the old “_T” and new “_S” symbol names.
2016-12-05 08:49:07 -08:00
Bob Wilson
13da3fa8b1
Merge remote-tracking branch 'origin/master' into master-next
2016-12-04 18:16:09 -08:00
Erik Eckstein
5e6c5a70d7
Mangling: Let the demangler handle the new mangling scheme
2016-12-02 15:55:30 -08:00
Erik Eckstein
684092d7d1
Mangling: mangler, demangler and remangler classes for the new mangling scheme.
...
Following classes provide symbol mangling for specific purposes:
*) Mangler: the base mangler class, just providing some basic utilities
*) ASTMangler: for mangling AST declarations
*) SpecializationMangler: to be used in the optimizer for mangling specialized function names
*) IRGenMangler: mangling all kind of symbols in IRGen
All those classes are not used yet, so it’s basically a NFC.
Another change is that some demangler node types are added (either because they were missing or the new demangler needs them).
Those new nodes also need to be handled in the old demangler, but this should also be a NFC as those nodes are not created by the old demangler.
My plan is to keep the old and new mangling implementation in parallel for some time. After that we can remove the old mangler.
Currently the new implementation is scoped in the NewMangling namespace. This namespace should be renamed after the old mangler is removed.
2016-12-02 15:55:30 -08:00
Erik Eckstein
76820edda9
Mangling: support for special encoding ASCII of characters which may not appear in symbol names.
...
Such characters (like ‘.’) can be punycode-encoded just like non-ASCII unicode characters.
2016-12-02 15:55:30 -08:00
Erik Eckstein
97f1fac11e
Mangling: refactoring: use meta-programming for value witness mangling/demangling/remangling
...
Also add the missing DestructiveInjectEnumTag entry.
2016-12-02 15:55:30 -08:00
Erik Eckstein
f52f3559c8
Mangling: add a dumpNode function to make it easier from the debugger to dump a node tree
2016-12-02 15:55:30 -08:00
Hugh Bellamy
50e94af377
Generate empty *Revision.inc files during the build process
2016-12-02 17:13:28 +00:00
Hugh Bellamy
56dfb08727
Port swift/basic to Windows
2016-12-02 16:57:00 +00:00