Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Validate.cc

    r0f40912 rb2da0574  
    148148                void previsit( ObjectDecl * object );
    149149                void previsit( FunctionDecl * func );
     150                void previsit( FunctionType * ftype );
    150151                void previsit( StructDecl * aggrDecl );
    151152                void previsit( UnionDecl * aggrDecl );
     
    315316
    316317        void HoistStruct::previsit( EnumInstType * inst ) {
    317                 if ( inst->baseEnum ) {
     318                if ( inst->baseEnum && inst->baseEnum->body ) {
    318319                        declsToAddBefore.push_front( inst->baseEnum );
    319320                }
     
    321322
    322323        void HoistStruct::previsit( StructInstType * inst ) {
    323                 if ( inst->baseStruct ) {
     324                if ( inst->baseStruct && inst->baseStruct->body ) {
    324325                        declsToAddBefore.push_front( inst->baseStruct );
    325326                }
     
    327328
    328329        void HoistStruct::previsit( UnionInstType * inst ) {
    329                 if ( inst->baseUnion ) {
     330                if ( inst->baseUnion && inst->baseUnion->body ) {
    330331                        declsToAddBefore.push_front( inst->baseUnion );
    331332                }
     
    633634
    634635        void ForallPointerDecay::previsit( ObjectDecl *object ) {
    635                 forallFixer( object->type->forall, object );
    636                 if ( PointerType *pointer = dynamic_cast< PointerType * >( object->type ) ) {
    637                         forallFixer( pointer->base->forall, object );
    638                 } // if
    639636                // ensure that operator names only apply to functions or function pointers
    640637                if ( CodeGen::isOperator( object->name ) && ! dynamic_cast< FunctionType * >( object->type->stripDeclarator() ) ) {
     
    645642
    646643        void ForallPointerDecay::previsit( FunctionDecl *func ) {
    647                 forallFixer( func->type->forall, func );
    648644                func->fixUniqueId();
     645        }
     646
     647        void ForallPointerDecay::previsit( FunctionType * ftype ) {
     648                forallFixer( ftype->forall, ftype );
    649649        }
    650650
Note: See TracChangeset for help on using the changeset viewer.