Goose  Diff

Differences From Artifact [5ee2cdefc6]:

  • File bs/cir/instruction.h — part of check-in [32f94cd2e1] at 2023-08-02 21:46:53 on branch trunk — Implemented forall statement (user: zlodo size: 6290)

To Artifact [d64ef01955]:

  • File bs/cir/instruction.h — part of check-in [83971c96a4] at 2023-08-27 22:30:05 on branch trunk —
    • Added "CallCheck" CIR instruction to request the verifier to check a bunch of func params like it was a real call
    • Used the above to verify the arguments passed to ghost funcs
    (user: zlodo size: 6415)

9
10
11
12
13
14
15




16
17
18
19
20
21
22
    {
        public:
            Instruction() {}

            Instruction( Call&& c ) :
                m_content( move( c ) )
            {}





            Instruction( VarAddr&& vad ) :
                m_content( move( vad ) )
            {}

            Instruction( TempAddr&& tad ) :
                m_content( move( tad ) )







>
>
>
>







9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    {
        public:
            Instruction() {}

            Instruction( Call&& c ) :
                m_content( move( c ) )
            {}

            Instruction( CallCheck&& c ) :
                m_content( move( c ) )
            {}

            Instruction( VarAddr&& vad ) :
                m_content( move( vad ) )
            {}

            Instruction( TempAddr&& tad ) :
                m_content( move( tad ) )
195
196
197
198
199
200
201

202
203
204
205
206
207
208
            {}

            using Content = variant
            <
                monostate,

                Call,


                VarAddr,
                TempAddr,
                Select,

                PushConstant,
                CreateTemporary,







>







199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
            {}

            using Content = variant
            <
                monostate,

                Call,
                CallCheck,

                VarAddr,
                TempAddr,
                Select,

                PushConstant,
                CreateTemporary,