Changeset 8a3ecb9
- Timestamp:
- Jul 17, 2018, 5:13:51 PM (5 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, 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:
- 2f84692
- Parents:
- 6da4924
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Validate.cc
r6da4924 r8a3ecb9 363 363 auto base = td->base; 364 364 assert( base ); 365 return base->clone(); 365 Type * ret = base->clone(); 366 ret->get_qualifiers() = qualType->get_qualifiers(); 367 return ret; 366 368 } else { 367 369 // .T => T is not a type name … … 383 385 if ( StructDecl * aggr = dynamic_cast< StructDecl * >( member ) ) { 384 386 if ( aggr->name == inst->name ) { 387 // TODO: is this case, and other non-TypeInstType cases, necessary? 385 388 return new StructInstType( qualType->get_qualifiers(), aggr ); 386 389 } … … 399 402 } 400 403 } else if ( TypeInstType * inst = dynamic_cast< TypeInstType * >( child ) ) { 401 // struct typedefs are being replaced by forward decls too early; move it to hoist struct404 // name on the right is a typedef 402 405 if ( NamedTypeDecl * aggr = dynamic_cast< NamedTypeDecl * > ( member ) ) { 403 406 if ( aggr->name == inst->name ) { 404 407 assert( aggr->base ); 405 return aggr->base->clone(); 408 Type * ret = aggr->base->clone(); 409 ret->get_qualifiers() = qualType->get_qualifiers(); 410 return ret; 406 411 } 407 412 }
Note: See TracChangeset
for help on using the changeset viewer.