Changeset b2da0574
- Timestamp:
- Apr 18, 2018, 5:15:19 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, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, with_gc
- Children:
- 2ae16219
- Parents:
- f74eb47
- Location:
- src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/DeclarationNode.cc
rf74eb47 rb2da0574 924 924 delete newType->aggInst.aggregate->enumeration.constants; 925 925 newType->aggInst.aggregate->enumeration.constants = nullptr; 926 newType->aggInst.aggregate->enumeration.body = false; 926 927 } else { 927 928 assert( newType->aggInst.aggregate->kind == TypeData::Aggregate ); 928 929 delete newType->aggInst.aggregate->aggregate.fields; 929 930 newType->aggInst.aggregate->aggregate.fields = nullptr; 931 newType->aggInst.aggregate->aggregate.body = false; 930 932 } // if 931 933 // don't hoist twice -
src/Parser/TypeData.cc
rf74eb47 rb2da0574 490 490 switch ( td->kind ) { 491 491 case TypeData::Aggregate: 492 if ( ! toplevel && td->aggregate. fields) {492 if ( ! toplevel && td->aggregate.body ) { 493 493 ret = td->clone(); 494 494 } // if 495 495 break; 496 496 case TypeData::Enum: 497 if ( ! toplevel && td->enumeration. constants) {497 if ( ! toplevel && td->enumeration.body ) { 498 498 ret = td->clone(); 499 499 } // if -
src/SymTab/Indexer.cc
rf74eb47 rb2da0574 501 501 502 502 bool addedDeclConflicts( AggregateDecl *existing, AggregateDecl *added ) { 503 if ( existing->get_members().empty()) {503 if ( ! existing->body ) { 504 504 return false; 505 } else if ( ! added->get_members().empty()) {505 } else if ( added->body ) { 506 506 SemanticError( added, "redeclaration of " ); 507 507 } // if -
src/SymTab/Validate.cc
rf74eb47 rb2da0574 316 316 317 317 void HoistStruct::previsit( EnumInstType * inst ) { 318 if ( inst->baseEnum ) {318 if ( inst->baseEnum && inst->baseEnum->body ) { 319 319 declsToAddBefore.push_front( inst->baseEnum ); 320 320 } … … 322 322 323 323 void HoistStruct::previsit( StructInstType * inst ) { 324 if ( inst->baseStruct ) {324 if ( inst->baseStruct && inst->baseStruct->body ) { 325 325 declsToAddBefore.push_front( inst->baseStruct ); 326 326 } … … 328 328 329 329 void HoistStruct::previsit( UnionInstType * inst ) { 330 if ( inst->baseUnion ) {330 if ( inst->baseUnion && inst->baseUnion->body ) { 331 331 declsToAddBefore.push_front( inst->baseUnion ); 332 332 }
Note: See TracChangeset
for help on using the changeset viewer.