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