Skip to content

Commit b1fd150

Browse files
committed
SV-COMP's __VERIFIER_error is assert(0); abort();
Previously, --no-assertions would cause symbolic execution to skip __VERIFIER_error and continue beyond such calls.
1 parent 610e9e4 commit b1fd150

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/goto-programs/builtin_functions.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1245,6 +1245,13 @@ void goto_convertt::do_function_call_symbol(
12451245
error() << identifier << " expected not to have LHS" << eom;
12461246
throw 0;
12471247
}
1248+
1249+
// __VERIFIER_error has abort() semantics, even if no assertions
1250+
// are being checked
1251+
goto_programt::targett a=dest.add_instruction(ASSUME);
1252+
a->guard=false_exprt();
1253+
a->source_location=function.source_location();
1254+
a->source_location.set("user-provided", true);
12481255
}
12491256
else if(has_prefix(
12501257
id2string(identifier), "java::java.lang.AssertionError.<init>:"))

0 commit comments

Comments
 (0)