Changeset 2514607d for src/SymTab/Validate.cc
- Timestamp:
- Jul 23, 2018, 6:00:57 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- e68b3a8
- Parents:
- cbdf565 (diff), c29c342 (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
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Validate.cc
rcbdf565 r2514607d 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.