Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Mangler.h

    rd8cb7df 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 struct_t;
    60                         extern const std::string union_t;
    61                         extern const std::string enum_t;
    62                         extern const std::string type;
    63 
    64                         extern const std::string autogen;
    65                         extern const std::string intrinsic;
    66                 };
    6735        } // Mangler
    6836} // SymTab
    69 
    70 extern "C" {
    71         std::string cforall_demangle(const std::string &);
    72 }
    7337
    7438// Local Variables: //
Note: See TracChangeset for help on using the changeset viewer.