Ignore:
Timestamp:
May 9, 2016, 12:41:50 PM (8 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, 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:
fb24492
Parents:
9e2c1f0
Message:

don't include global init/destroy functions if they're empty, remove all implicit single parameter intrinsic ctor/dtor calls

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Resolver.cc

    r9e2c1f0 rec79847  
    1010// Created On       : Sun May 17 12:17:01 2015
    1111// Last Modified By : Rob Schluntz
    12 // Last Modified On : Tue Apr 26 16:08:21 2016
     12// Last Modified On : Mon May 09 12:10:19 2016
    1313// Update Count     : 203
    1414//
     
    2525#include "SymTab/Indexer.h"
    2626#include "Common/utility.h"
     27#include "InitTweak/FixInit.h"
    2728
    2829#include <iostream>
     
    499500                delete ctorInit->get_init();
    500501                ctorInit->set_init( NULL );
     502
     503                // intrinsic single parameter constructors and destructors do nothing. Since this was
     504                // implicitly generated, there's no way for it to have side effects, so get rid of it
     505                // to clean up generated code.
     506                if ( InitTweak::isInstrinsicSingleArgCallStmt( ctorInit->get_ctor() ) ) {
     507                        delete ctorInit->get_ctor();
     508                        ctorInit->set_ctor( NULL );
     509                }
     510                if ( InitTweak::isInstrinsicSingleArgCallStmt( ctorInit->get_ctor() ) ) {
     511                        delete ctorInit->get_dtor();
     512                        ctorInit->set_dtor( NULL );
     513                }
    501514        }
    502515} // namespace ResolvExpr
Note: See TracChangeset for help on using the changeset viewer.