Changes in src/SymTab/Validate.cc [1f370451:b95fe40]
- File:
-
- 1 edited
-
src/SymTab/Validate.cc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Validate.cc
r1f370451 rb95fe40 201 201 Declaration * postmutate( TraitDecl * contextDecl ); 202 202 203 void premutate( FunctionType * ftype );204 205 203 private: 206 204 template<typename AggDecl> … … 216 214 TypeDeclMap typedeclNames; 217 215 int scopeLevel; 218 bool inFunctionType = false;219 216 }; 220 217 … … 728 725 Type *ret = def->second.first->base->clone(); 729 726 ret->get_qualifiers() |= typeInst->get_qualifiers(); 730 // attributes are not carried over from typedef to function parameters/return values731 if ( ! inFunctionType ) {732 ret->attributes.splice( ret->attributes.end(), typeInst->attributes );733 } else {734 deleteAll( ret->attributes );735 ret->attributes.clear();736 }737 727 // place instance parameters on the typedef'd type 738 728 if ( ! typeInst->parameters.empty() ) { … … 911 901 Declaration *EliminateTypedef::postmutate( TraitDecl * traitDecl ) { 912 902 return handleAggregate( traitDecl ); 913 }914 915 void EliminateTypedef::premutate( FunctionType * ) {916 GuardValue( inFunctionType );917 inFunctionType = true;918 903 } 919 904
Note:
See TracChangeset
for help on using the changeset viewer.