Goose  Diff

Differences From Artifact [f06d49136f]:

  • File bs/verify/verify.h — part of check-in [c91249ffc7] at 2019-10-30 22:08:04 on branch trunk — Verifier: more work on loop verification. (user: achavasse size: 929)

To Artifact [3349435b99]:

  • File bs/verify/verify.h — part of check-in [1c3ff200aa] at 2019-11-19 20:20:40 on branch trunk — cfg: fix the way the variable ids modified by each loop are stored to avoid duplicate entries. (user: achavasse size: 589)

11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

    class Builder;

    extern z3::context& GetZ3Context();
    extern optional< z3::expr > BuildZ3ExprFromValue( Builder& b, const Value& val );
    extern optional< z3::expr > BuildZ3ConstantFromType( const Term& type, const string& name );
    extern optional< z3::expr > BuildZ3Op( Builder& b, const llr::Instruction& instr );

    class Z3SolverStateGuard
    {
        public:
            Z3SolverStateGuard( z3::solver& s ) :
                m_solver( s )
            {
                s.push();
            }

            ~Z3SolverStateGuard()
            {
                m_solver.pop();
            }

        private:
            z3::solver& m_solver;
    };
}

#include "remapper.h"
#include "builder.h"
#include "condition.h"
#include "func.h"








<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







11
12
13
14
15
16
17


















18
19
20
21
22
23
24

    class Builder;

    extern z3::context& GetZ3Context();
    extern optional< z3::expr > BuildZ3ExprFromValue( Builder& b, const Value& val );
    extern optional< z3::expr > BuildZ3ConstantFromType( const Term& type, const string& name );
    extern optional< z3::expr > BuildZ3Op( Builder& b, const llr::Instruction& instr );


















}

#include "remapper.h"
#include "builder.h"
#include "condition.h"
#include "func.h"