Changeset 6d44da1 for src/SymTab/Mangler.h
- Timestamp:
- Sep 25, 2018, 11:35:34 AM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- c6bbcdb
- Parents:
- 341bb80 (diff), 7428ad9 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Mangler.h
r341bb80 r6d44da1 24 24 #include "SynTree/Visitor.h" // for Visitor, maybeAccept 25 25 26 // https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling 27 // The CFA name mangling scheme is based closely on the itanium C++ name mangling scheme, with the following key differences: 28 // * Variable names are also mangled to include type information, not just functions 29 // * CFA does not have template expansion, so the rules for function specialization do not apply. 30 // * CFA instead has to handle type parameters and assertion parameters. 31 // * Currently name compression is not implemented. 32 26 33 namespace SymTab { 27 34 namespace Mangler { … … 33 40 /// Mangle ignoring generic type parameters 34 41 std::string mangleConcrete( Type* ty ); 42 43 namespace Encoding { 44 extern const std::string manglePrefix; 45 extern const std::string basicTypes[]; 46 extern const std::map<int, std::string> qualifiers; 47 48 extern const std::string void_t; 49 extern const std::string zero; 50 extern const std::string one; 51 52 extern const std::string function; 53 extern const std::string tuple; 54 extern const std::string pointer; 55 extern const std::string array; 56 extern const std::string qualifiedTypeStart; 57 extern const std::string qualifiedTypeEnd; 58 59 extern const std::string forall; 60 extern const std::string typeVariables[]; 61 62 extern const std::string struct_t; 63 extern const std::string union_t; 64 extern const std::string enum_t; 65 extern const std::string type; 66 67 extern const std::string autogen; 68 extern const std::string intrinsic; 69 }; 35 70 } // Mangler 36 71 } // SymTab 72 73 extern "C" { 74 char * cforall_demangle(const char *, int); 75 } 37 76 38 77 // Local Variables: //
Note:
See TracChangeset
for help on using the changeset viewer.