Changeset e4d3ceb for src/SymTab/Autogen.cc
- Timestamp:
- Jul 12, 2016, 6:34:33 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 5479e63
- Parents:
- 4e06c1e (diff), e67f54c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Autogen.cc
r4e06c1e re4d3ceb 82 82 } 83 83 84 *out++ = new ExprStmt( noLabels, fExpr ); 84 Statement * callStmt = new ExprStmt( noLabels, fExpr ); 85 if ( (fname == "?{}" || fname == "^?{}") && ( !obj || ( obj && obj->get_bitfieldWidth() == NULL ) ) ) { 86 // implicitly generated ctor/dtor calls should be wrapped 87 // so that later passes are aware they were generated. 88 // xxx - don't mark as an implicit ctor/dtor if obj is a bitfield, 89 // because this causes the address to be taken at codegen, which is illegal in C. 90 callStmt = new ImplicitCtorDtorStmt( callStmt ); 91 } 92 *out++ = callStmt; 85 93 } 86 94 … … 242 250 } 243 251 244 if ( type->get_qualifiers().isConst ) {245 // don't assign const members 252 if ( type->get_qualifiers().isConst && func->get_name() == "?=?" ) { 253 // don't assign const members, but do construct/destruct 246 254 continue; 247 255 }
Note: See TracChangeset
for help on using the changeset viewer.