Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/FixInit.cc

    r0508ab3 rd56e5bc  
    1010// Created On       : Wed Jan 13 16:29:30 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Mar 17 09:13:47 2017
    13 // Update Count     : 71
     12// Last Modified On : Wed Jun 21 17:35:05 2017
     13// Update Count     : 74
    1414//
    1515
     
    5656                typedef std::unordered_map< int, int > UnqCount;
    5757
    58                 class InsertImplicitCalls : public WithTypeSubstitution {
     58                class InsertImplicitCalls {
    5959                public:
    6060                        /// wrap function application expressions as ImplicitCopyCtorExpr nodes so that it is easy to identify which
     
    6969                        // collects environments for relevant nodes
    7070                        EnvMap & envMap;
     71                        TypeSubstitution * env; //Magically populated by the PassVisitor
    7172                };
    7273
     
    191192                };
    192193
    193                 class FixInit : public WithStmtsToAdd {
     194                class FixInit {
    194195                  public:
    195196                        /// expand each object declaration to use its constructor after it is declared.
     
    199200
    200201                        std::list< Declaration * > staticDtorDecls;
     202                        std::list< Statement * > stmtsToAddAfter; // found by PassVisitor
    201203                };
    202204
     
    724726                                                // static bool __objName_uninitialized = true
    725727                                                BasicType * boolType = new BasicType( Type::Qualifiers(), BasicType::Bool );
    726                                                 SingleInit * boolInitExpr = new SingleInit( new ConstantExpr( Constant( boolType->clone(), "1" ) ), noDesignators );
     728                                                SingleInit * boolInitExpr = new SingleInit( new ConstantExpr( Constant::from_int( 1 ) ), noDesignators );
    727729                                                ObjectDecl * isUninitializedVar = new ObjectDecl( objDecl->get_mangleName() + "_uninitialized", Type::StorageClasses( Type::Static ), LinkageSpec::Cforall, 0, boolType, boolInitExpr );
    728730                                                isUninitializedVar->fixUniqueId();
     
    731733                                                UntypedExpr * setTrue = new UntypedExpr( new NameExpr( "?=?" ) );
    732734                                                setTrue->get_args().push_back( new VariableExpr( isUninitializedVar ) );
    733                                                 setTrue->get_args().push_back( new ConstantExpr( Constant( boolType->clone(), "0" ) ) );
     735                                                setTrue->get_args().push_back( new ConstantExpr( Constant::from_int( 0 ) ) );
    734736
    735737                                                // generate body of if
Note: See TracChangeset for help on using the changeset viewer.