Changes in / [56fba87:2f84692]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Validate.cc
r56fba87 r2f84692 368 368 auto base = td->base; 369 369 assert( base ); 370 return base->clone(); 370 Type * ret = base->clone(); 371 ret->get_qualifiers() = qualType->get_qualifiers(); 372 return ret; 371 373 } else { 372 374 // .T => T is not a type name … … 388 390 if ( StructDecl * aggr = dynamic_cast< StructDecl * >( member ) ) { 389 391 if ( aggr->name == inst->name ) { 392 // TODO: is this case, and other non-TypeInstType cases, necessary? 390 393 return new StructInstType( qualType->get_qualifiers(), aggr ); 391 394 } … … 404 407 } 405 408 } else if ( TypeInstType * inst = dynamic_cast< TypeInstType * >( child ) ) { 406 // struct typedefs are being replaced by forward decls too early; move it to hoist struct409 // name on the right is a typedef 407 410 if ( NamedTypeDecl * aggr = dynamic_cast< NamedTypeDecl * > ( member ) ) { 408 411 if ( aggr->name == inst->name ) { 409 412 assert( aggr->base ); 410 return aggr->base->clone(); 413 Type * ret = aggr->base->clone(); 414 ret->get_qualifiers() = qualType->get_qualifiers(); 415 return ret; 411 416 } 412 417 }
Note: See TracChangeset
for help on using the changeset viewer.