// // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo // // The contents of this file are covered under the licence agreement in the // file "LICENCE" distributed with Cforall. // // FixInit.h -- // // Author : Rob Schluntz // Created On : Wed Jan 13 16:29:30 2016 // Last Modified By : Rob Schluntz // Last Modified On : Fri May 13 11:44:26 2016 // Update Count : 30 // #include #include #include #include #include "FixInit.h" #include "InitTweak.h" #include "ResolvExpr/Resolver.h" #include "ResolvExpr/typeops.h" #include "SynTree/Declaration.h" #include "SynTree/Type.h" #include "SynTree/Expression.h" #include "SynTree/Statement.h" #include "SynTree/Initializer.h" #include "SynTree/Mutator.h" #include "SymTab/Indexer.h" #include "GenPoly/PolyMutator.h" #include "SynTree/AddStmtVisitor.h" bool ctordtorp = false; bool ctorp = false; bool cpctorp = false; bool dtorp = false; #define PRINT( text ) if ( ctordtorp ) { text } #define CP_CTOR_PRINT( text ) if ( ctordtorp || cpctorp ) { text } #define DTOR_PRINT( text ) if ( ctordtorp || dtorp ) { text } namespace InitTweak { namespace { const std::list