Changeset f072892 for src/InitTweak/FixGlobalInit.cc
- Timestamp:
- Jul 30, 2018, 4:43:47 PM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
- Children:
- 4934ea3
- Parents:
- 1be845b
- git-author:
- Rob Schluntz <rschlunt@…> (07/26/18 15:01:42)
- git-committer:
- Rob Schluntz <rschlunt@…> (07/30/18 16:43:47)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/InitTweak/FixGlobalInit.cc
r1be845b rf072892 102 102 if ( ConstructorInit * ctorInit = dynamic_cast< ConstructorInit * >( objDecl->get_init() ) ) { 103 103 // a decision should have been made by the resolver, so ctor and init are not both non-NULL 104 assert( ! ctorInit-> get_ctor() || ! ctorInit->get_init());104 assert( ! ctorInit->ctor || ! ctorInit->init ); 105 105 106 Statement * dtor = ctorInit-> get_dtor();106 Statement * dtor = ctorInit->dtor; 107 107 if ( dtor && ! isIntrinsicSingleArgCallStmt( dtor ) ) { 108 108 // don't need to call intrinsic dtor, because it does nothing, but 109 109 // non-intrinsic dtors must be called 110 110 destroyStatements.push_front( dtor ); 111 ctorInit-> set_dtor( NULL );111 ctorInit->dtor = nullptr; 112 112 } // if 113 if ( Statement * ctor = ctorInit-> get_ctor()) {113 if ( Statement * ctor = ctorInit->ctor ) { 114 114 initStatements.push_back( ctor ); 115 objDecl-> set_init( NULL );116 ctorInit-> set_ctor( NULL );117 } else if ( Initializer * init = ctorInit-> get_init()) {118 objDecl-> set_init( init );119 ctorInit-> set_init( NULL );115 objDecl->init = nullptr; 116 ctorInit->ctor = nullptr; 117 } else if ( Initializer * init = ctorInit->init ) { 118 objDecl->init = init; 119 ctorInit->init = nullptr; 120 120 } else { 121 121 // no constructor and no initializer, which is okay 122 objDecl-> set_init( NULL );122 objDecl->init = nullptr; 123 123 } // if 124 124 delete ctorInit;
Note: See TracChangeset
for help on using the changeset viewer.