Use the new mangling for reflection.

For this we are linking the new re-mangler instead of the old one into the swift runtime library.
Also we are linking the new de-mangling into the swift runtime library.

It also switches to the new mangling for class names of generic swift classes in the metadata.
Note that for non-generic class we still have to use the old mangling, because the ObjC runtime in the OS depends on it (it de-mangles the class names).
But names of generic classes are not handled by the ObjC runtime anyway, so there should be no problem to change the mangling for those.
The reason for this change is that it avoids linking the old re-mangler into the runtime library.
This commit is contained in:
Erik Eckstein
2017-02-02 15:56:40 -08:00
parent fd62be59a1
commit 21ba292943
28 changed files with 195 additions and 205 deletions

View File

@@ -10,9 +10,8 @@
//
//===----------------------------------------------------------------------===//
#define NO_NEW_DEMANGLING
#include "../../../lib/Basic/Demangle.cpp"
#include "../../../lib/Basic/Demangler.cpp"
#include "../../../lib/Basic/ManglingUtils.cpp"
#include "../../../lib/Basic/Punycode.cpp"
#include "../../../lib/Basic/PunycodeUTF8.cpp"