Changeset 4e08a54 for src/SymTab
- Timestamp:
- Apr 19, 2024, 12:01:34 PM (22 months ago)
- Branches:
- master, stuck-waitfor-destruct
- Children:
- b9b6efb
- Parents:
- da87eaf (diff), 02c80cdc (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. - Location:
- src/SymTab
- Files:
-
- 3 edited
-
GenImplicitCall.cpp (modified) (1 diff)
-
Mangler.cc (modified) (3 diffs)
-
ManglerCommon.cc (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/GenImplicitCall.cpp
rda87eaf r4e08a54 133 133 134 134 ast::ptr< ast::DeclWithType > index = new ast::ObjectDecl( 135 loc, indexName.newName(), new ast::BasicType( ast::Basic Type::SignedInt ),135 loc, indexName.newName(), new ast::BasicType( ast::BasicKind::SignedInt ), 136 136 new ast::SingleInit( loc, begin ) ); 137 137 ast::ptr< ast::Expr > indexVar = new ast::VariableExpr( loc, index ); -
src/SymTab/Mangler.cc
rda87eaf r4e08a54 58 58 void postvisit( const ast::OneType * oneType ); 59 59 void postvisit( const ast::QualifiedType * qualType ); 60 61 void postvisit( const ast::EnumPosType * posType ); 60 void postvisit( const ast::EnumAttrType * posType ); 62 61 63 62 /// The result is the current constructed mangled name. … … 143 142 void Mangler::postvisit( const ast::BasicType * basicType ) { 144 143 printQualifiers( basicType ); 145 assertf( basicType->kind < ast::Basic Type::NUMBER_OF_BASIC_TYPES, "Unhandled basic type: %d", basicType->kind );144 assertf( basicType->kind < ast::BasicKind::NUMBER_OF_BASIC_TYPES, "Unhandled basic type: %d", basicType->kind ); 146 145 mangleName += Encoding::basicTypes[ basicType->kind ]; 147 146 } … … 281 280 } 282 281 283 void Mangler::postvisit( const ast::EnumPosType * pos ) { 284 postvisit( pos->instance ); 285 mangleName += "_pos"; 282 void Mangler::postvisit( const ast::EnumAttrType * enumAttr ) { 283 postvisit( enumAttr->instance ); 284 // mangleName += "_pos"; 285 switch ( enumAttr->attr ) 286 { 287 case ast::EnumAttribute::Label: 288 mangleName += "_label_"; 289 break; 290 case ast::EnumAttribute::Posn: 291 mangleName += "_posn_"; 292 break; 293 case ast::EnumAttribute::Value: 294 mangleName += "_value_"; 295 break; 296 } 297 286 298 } 287 299 -
src/SymTab/ManglerCommon.cc
rda87eaf r4e08a54 41 41 // - "Di" char32_t 42 42 // - "Ds" char16_t 43 const std::string basicTypes[ast::Basic Type::NUMBER_OF_BASIC_TYPES] = {43 const std::string basicTypes[ast::BasicKind::NUMBER_OF_BASIC_TYPES] = { 44 44 "b", // _Bool 45 45 "c", // char … … 81 81 // GENERATED END 82 82 static_assert( 83 sizeof(basicTypes) / sizeof(basicTypes[0]) == ast::Basic Type::NUMBER_OF_BASIC_TYPES,83 sizeof(basicTypes) / sizeof(basicTypes[0]) == ast::BasicKind::NUMBER_OF_BASIC_TYPES, 84 84 "Each basic type kind should have a corresponding mangler letter" 85 85 );
Note:
See TracChangeset
for help on using the changeset viewer.