// S : tags error c sym $TAGS // S : expect --result error --location-comment ERROR // S : cc -o test.bc $CC_OPT $file // S : verify --symbolic --solver $solver --sequential -o nofail:malloc $V_OPT test.bc // N : V : CC_OPT : V_OPT : TAGS : RESULT // V : big.1000 : -DNUM=1000 : : error big : valid // V : small.100 : -DNUM=100 : : : valid extern void __VERIFIER_error() __attribute__ ((__noreturn__)); extern void __VERIFIER_assert(int); extern int __VERIFIER_nondet_int(void); int main(void) { int A[NUM]; int i; for (i = 0; i < NUM; i++) { A[i] = __VERIFIER_nondet_int(); } for (i = 0; A[i] != 0 && i < NUM; i++) { } __VERIFIER_assert(i <= NUM / 2); /* ERROR */ }