Now that Copilot-Language/copilot#572 has landed, a copilot-c99–generated trigger can fire multiple times in a single time step. We will need to update copilot-verifier to account for this, as the verifier currently assumes that a trigger can only fire at most once in a single time step:
|
-- Assert that the trigger functions were called exactly once iff the |
|
-- associated guard condition was true. |
|
-- See Note [Global variables for trigger functions]. |
|
forM_ triggerGlobals $ \(nm, gv, guard) -> |
|
do expectedCount <- liftIO $ do |
|
one <- natLit sym 1 |
|
zero <- natLit sym 0 |
|
natIte sym guard one zero |
|
actualCount <- readGlobal gv |
|
eq <- liftIO $ natEq sym expectedCount actualCount |
Now that Copilot-Language/copilot#572 has landed, a
copilot-c99–generated trigger can fire multiple times in a single time step. We will need to updatecopilot-verifierto account for this, as the verifier currently assumes that a trigger can only fire at most once in a single time step:copilot-verifier/copilot-verifier/src/Copilot/Verifier.hs
Lines 728 to 737 in 9021bcc