Goose  Diff

Differences From Artifact [f0ede1ceae]:

  • File bs/verify/call.cpp — part of check-in [972099a359] at 2020-02-02 21:47:12 on branch trunk — Refinement types: implemented tests and fixed some issues. (user: achavasse size: 3532)

To Artifact [89e670bdbd]:

  • File bs/verify/call.cpp — part of check-in [20c242dc4f] at 2020-04-15 06:36:29 on branch trunk — Removed llr::GetVar, now using the more generic llr::Load instead. (user: achavasse size: 3549)

55
56
57
58
59
60
61
62

63
64
65
66
67
68
69
55
56
57
58
59
60
61

62
63
64
65
66
67
68
69







-
+







                )
            );

            if( !result )
                return true;

            auto&& [type, val, locId] = *result;
            auto paramVal = BuildComputedValue( type, llr::GetVar( type, varId++ ) );
            auto paramVal = BuildComputedValue( type, llr::Load( llr::VarAddress( varId++ ), type ) );

            if( auto zv = BuildZ3ExprFromValue( cb, paramVal ) )
            {
                ForEachPredicate( cb, type, zv->expr, [&]( auto&& z3expr, auto locId )
                {
                    DiagnosticsContext dc( instr.func().locationId(), "At this call." );
                    b.checkAssertion( z3expr, locId );