Changeset 85d44c6 for src/SymTab
- Timestamp:
- Feb 14, 2019, 10:23:51 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- fba51ab
- Parents:
- 6d01d89 (diff), e15853c (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
-
src/SymTab/ManglerCommon.cc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/ManglerCommon.cc
r6d01d89 r85d44c6 10 10 // Created On : Sun May 17 21:44:03 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jul 22 09:45:30 201713 // Update Count : 1512 // Last Modified On : Thu Feb 14 08:12:17 2019 13 // Update Count : 25 14 14 // 15 15 … … 22 22 namespace Encoding { 23 23 const std::string manglePrefix = "_X"; 24 24 #if 0 25 25 const std::string basicTypes[] = { 26 26 "b", // Bool … … 43 43 "Ce", // LongDoubleComplex 44 44 // Note: imaginary is not an overloadable type in C++ 45 "If", // FloatImaginary46 "Id", // DoubleImaginary47 "Ie", // LongDoubleImaginary45 // "If", // FloatImaginary 46 // "Id", // DoubleImaginary 47 // "Ie", // LongDoubleImaginary 48 48 "n", // SignedInt128 49 49 "o", // UnsignedInt128 … … 63 63 "Each basic type kind should have a corresponding mangler letter" 64 64 ); 65 #endif 66 // GENERATED START, DO NOT EDIT 67 // NOTES ON MANGLING: 68 // * Itanium spec says that Float80 encodes to "e" (like LongDouble), but the distinct lengths cause resolution problems. 69 // * Float128 is supposed to encode to "g", but I wanted it to mangle equal to LongDouble. 70 // * Mangling for non-standard complex types is by best guess 71 // * _FloatN is supposed to encode as "DF"N"_"; modified for same reason as above. 72 // * unused mangling identifiers: 73 // - "z" ellipsis 74 // - "Dd" IEEE 754r 64-bit decimal floating point (borrowed for _Float32x) 75 // - "De" IEEE 754r 128-bit decimal floating point 76 // - "Df" IEEE 754r 32-bit decimal floating point 77 // - "Dh" IEEE 754r 16-bit decimal floating point (borrowed for _Float16) 78 // - "DF"N"_" ISO/IEC TS 18661 N-bit binary floating point (_FloatN) 79 // - "Di" char32_t 80 // - "Ds" char16_t 81 const std::string basicTypes[BasicType::NUMBER_OF_BASIC_TYPES] = { 82 "b", // _Bool 83 "c", // char 84 "a", // signed char 85 "h", // unsigned char 86 "s", // signed short int 87 "t", // unsigned short int 88 "i", // signed int 89 "j", // unsigned int 90 "l", // signed long int 91 "m", // unsigned long int 92 "x", // signed long long int 93 "y", // unsigned long long int 94 "n", // __int128 95 "o", // unsigned __int128 96 "DF16_", // _Float16 97 "CDF16_", // _Float16 _Complex 98 "DF32_", // _Float32 99 "CDF32_", // _Float32 _Complex 100 "f", // float 101 "Cf", // float _Complex 102 "DF32x_", // _Float32x 103 "CDF32x_", // _Float32x _Complex 104 "DF64_", // _Float64 105 "CDF64_", // _Float64 _Complex 106 "d", // double 107 "Cd", // double _Complex 108 "DF64x_", // _Float64x 109 "CDF64x_", // _Float64x _Complex 110 "Dq", // __float80 111 "DF128_", // _Float128 112 "CDF128_", // _Float128 _Complex 113 "g", // __float128 114 "e", // long double 115 "Ce", // long double _Complex 116 "DF128x_", // _Float128x 117 "CDF128x_", // _Float128x _Complex 118 }; // basicTypes 119 // GENERATED END 65 120 66 121 const std::map<int, std::string> qualifiers = {
Note:
See TracChangeset
for help on using the changeset viewer.