Changes in src/SymTab/Autogen.cc [4e06c1e:cad355a]
- File:
-
- 1 edited
-
src/SymTab/Autogen.cc (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Autogen.cc
r4e06c1e rcad355a 9 9 // Author : Rob Schluntz 10 10 // Created On : Thu Mar 03 15:45:56 2016 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : T ue Jul 12 17:47:17201613 // Update Count : 211 // Last Modified By : Rob Schluntz 12 // Last Modified On : Thu May 26 14:14:09 2016 13 // Update Count : 1 14 14 // 15 15 … … 42 42 virtual void visit( CompoundStmt *compoundStmt ); 43 43 virtual void visit( SwitchStmt *switchStmt ); 44 virtual void visit( ChooseStmt *chooseStmt ); 45 // virtual void visit( CaseStmt *caseStmt ); 44 46 45 47 AutogenerateRoutines() : functionNesting( 0 ) {} … … 82 84 } 83 85 84 *out++ = new ExprStmt( noLabels, fExpr ); 86 Statement * callStmt = new ExprStmt( noLabels, fExpr ); 87 if ( (fname == "?{}" || fname == "^?{}") && ( !obj || ( obj && obj->get_bitfieldWidth() == NULL ) ) ) { 88 // implicitly generated ctor/dtor calls should be wrapped 89 // so that later passes are aware they were generated. 90 // xxx - don't mark as an implicit ctor/dtor if obj is a bitfield, 91 // because this causes the address to be taken at codegen, which is illegal in C. 92 callStmt = new ImplicitCtorDtorStmt( callStmt ); 93 } 94 *out++ = callStmt; 85 95 } 86 96 … … 242 252 } 243 253 244 if ( type->get_qualifiers().isConst ) {245 // don't assign const members 254 if ( type->get_qualifiers().isConst && func->get_name() == "?=?" ) { 255 // don't assign const members, but do construct/destruct 246 256 continue; 247 257 } … … 549 559 visitStatement( switchStmt ); 550 560 } 561 562 void AutogenerateRoutines::visit( ChooseStmt *switchStmt ) { 563 visitStatement( switchStmt ); 564 } 565 566 // void AutogenerateRoutines::visit( CaseStmt *caseStmt ) { 567 // visitStatement( caseStmt ); 568 // } 551 569 } // SymTab
Note:
See TracChangeset
for help on using the changeset viewer.