Changes in src/SymTab/Validate.cc [fac84be:b644d6f]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Validate.cc
rfac84be rb644d6f 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 21:50:04 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Wed May 11 13:13:16201611 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Apr 13 16:39:30 2016 13 13 // Update Count : 251 14 14 // … … 192 192 template<typename AggDecl> 193 193 void addImplicitTypedef( AggDecl * aggDecl ); 194 194 195 195 typedef std::map< std::string, std::pair< TypedefDecl *, int > > TypedefMap; 196 196 TypedefMap typedefNames; … … 715 715 } 716 716 717 if ( dwt->get_name() == "" ) {718 // don't assign to anonymous members719 // xxx - this is a temporary fix. Anonymous members tie into720 // our inheritance model. I think the correct way to handle this is to721 // cast the structure to the type of the member and let the resolver722 // figure out whether it's valid and have a pass afterwards that fixes723 // the assignment to use pointer arithmetic with the offset of the724 // member, much like how generic type members are handled.725 continue;726 }727 728 717 if ( isGeneric ) { 729 718 // rewrite member type in terms of the type variables on this operator … … 784 773 makeUnionFieldsAssignment( srcParam, dstParam, cloneWithParams( refType, unionParams ), back_inserter( assignDecl->get_statements()->get_kids() ) ); 785 774 if ( isGeneric ) makeUnionFieldsAssignment( srcParam, returnVal, cloneWithParams( refType, unionParams ), back_inserter( assignDecl->get_statements()->get_kids() ) ); 786 775 787 776 if ( ! isGeneric ) assignDecl->get_statements()->get_kids().push_back( new ReturnStmt( noLabels, new VariableExpr( srcParam ) ) ); 788 777 … … 1044 1033 return aggDecl; 1045 1034 } 1046 1035 1047 1036 template<typename AggDecl> 1048 1037 void EliminateTypedef::addImplicitTypedef( AggDecl * aggDecl ) {
Note: See TracChangeset
for help on using the changeset viewer.