diffblue-cbmc/regression/cbmc/gcc_statement_expression2/main.c

30 lines
341 B
C

#include <assert.h>
int f()
{
return 1;
}
int main()
{
int i;
int x = ({f();});
assert(x==1);
int y = ({ i = f(); });
assert(y==1);
assert(i==1);
// ordering of side-effects in there
int z = ({ i=1; i++; });
assert(z==1);
assert(i==2);
// same at top level
({ i=1; i++; });
assert(i==2);
return 0;
}