Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Mangler.h

    r0e73845 rd7d9a60  
    2424#include "SynTree/Visitor.h"  // for Visitor, maybeAccept
    2525
    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 
    3326namespace SymTab {
    3427        namespace Mangler {
     
    4033                /// Mangle ignoring generic type parameters
    4134                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                 };
    7035        } // Mangler
    7136} // SymTab
    72 
    73 extern "C" {
    74         char * cforall_demangle(const char *, int);
    75 }
    7637
    7738// Local Variables: //
Note: See TracChangeset for help on using the changeset viewer.