Commit Graph

7 Commits

Author SHA1 Message Date
Doug Gregor 1e769e13fe [Demangler] Eliminate a use-of-uninitialized in misuse of StringRef.
Putting the results of StringRef::data() back into a StringRef scans for the
null at the end, which won’t always be there. Caught by ASan.
2017-09-24 10:37:16 -07:00
Erik Eckstein 79c522a49d demangler: Support the future final mangling prefix $S
As it’s not clear if we will need underscores, the demangler accepts $S and _$S.
Note that a double underscore is handled by the demangler client.

rdar://problem/32251811
2017-06-26 11:32:26 -07:00
Erik Eckstein 52aa8ef94b demangler: classify reabstruction thunks as thunks 2017-05-11 16:02:21 -07:00
practicalswift 431e5a1440 [gardening] Use consistent end of namespace comments 2017-04-20 13:47:10 +02:00
Erik Eckstein 8dcdb7a193 Mangler: Classify protocol witnesses as thunks.
Protocol witnesses just call the actual implementation in the conforming type.
2017-04-13 15:41:07 -07:00
Erik Eckstein d70bfc5de2 rename namespace NewMangling -> Mangle 2017-03-20 10:09:30 -07:00
Erik Eckstein 5e80555c9b demangler: put the demangler into a separate library
Previously it was part of swiftBasic.

The demangler library does not depend on llvm (except some header-only utilities like StringRef). Putting it into its own library makes sure that no llvm stuff will be linked into clients which use the demangler library.

This change also contains other refactoring, like moving demangler code into different files. This makes it easier to remove the old demangler from the runtime library when we switch to the new symbol mangling.

Also in this commit: remove some unused API functions from the demangler Context.

fixes rdar://problem/30503344
2017-03-09 13:42:43 -08:00