You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the implementation for my bachelor thesis about generating test cases for the incremental analysis I encountered a problem with the flag -O3. Possibly some merging problems with GNU inline? @stilscher
Is this only an issue for files that have been transformed using Goblint? If yes, I would once again suggest to move the issue over to the analyzer repository.
Hey @michael-schwarz,
yeah you are right this also should go to the analyzer repo 👍
J2000A
changed the title
-O3 GNU inline merging problems when using incremental analysis
Transformation assert causes GNU inline merging problems with -O3Aug 5, 2023
This could be the same CIL issue: goblint/cil#142. It's only in incremental comparison where Goblint carefully assumes and checks that the CIL invariant holds.
During the implementation for my bachelor thesis about generating test cases for the incremental analysis I encountered a problem with the flag
-O3
. Possibly some merging problems with GNU inline? @stilscherReproduce by:
echo "main(){}" > input.c
./goblint input.c --enable trans.goblint-check --set trans.activated '["assert"]' --set pre.cppflags[+] -O3
./goblint transformed.c --set pre.cppflags[+] -O3 --enable incremental.save
./goblint transformed.c --set pre.cppflags[+] -O3 --enable incremental.load
This results in the error:
Fatal error: exception Failure("there can only be one definition and one declaration per global")
Output of
cat transformed.c | grep pthread_equal
:vs when not using
--set pre.cppflags[+] -O3
:The text was updated successfully, but these errors were encountered: