// // 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 : Peter A. Buhr // Last Modified On : Tue Jul 12 17:41:15 2016 // Update Count : 34 // #include #include #include #include #include "InitTweak.h" #include "FixInit.h" #include "FixGlobalInit.h" #include "ResolvExpr/Resolver.h" #include "ResolvExpr/typeops.h" #include "SynTree/Declaration.h" #include "SynTree/Type.h" #include "SynTree/Expression.h" #include "SynTree/Attribute.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" #include "CodeGen/GenType.h" // for warnings 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