Changes between Version 49 and Version 50 of Language


Ignore:
Timestamp:
05/22/23 21:27:03 (3 years ago)
Author:
siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Language

    v49 v50  
    826826It may be used with an [#atomic_f atomic] or [#system system] function.
    827827This clause specifies a guard that applies whenever the function is called.
    828 The ''expr'' may use the formal parameters of the function as well as any other variables that are in scope.
     828The ''expr'' is an ACSL expression and may use the formal parameters of the function as well as any other variables that are in scope.
    829829Whenever control in a process is at a call to the function, the call will be enabled only if the guard evaluates to ''true''.
    830830To evaluate the guard, the actual arguments used in the call are substituted for the formal parameters in the guard expression.
     831
     832Note that `\true` should be used for the Boolean constant ''true'' in the ACSL expression.   E.g.,
     833{{{
     834\*@ executes_when \true; */
     835void f() {...}
     836}}}
    831837
    832838Note: if the actual arguments have side-effects, the code is automatically refactored so that the side-effects occur once, before the call.