Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion regression/book-examples/account/C10.desc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
KNOWNBUG
CORE no-new-smt gcc-only
account.c

^EXIT=10$
Expand Down
2 changes: 1 addition & 1 deletion regression/cbmc-concurrency/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
if((NOT WIN32) AND (NOT APPLE) AND (NOT (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")))
if(NOT WIN32)
add_test_pl_tests(
"$<TARGET_FILE:cbmc> --validate-goto-model --validate-ssa-equation"
)
Expand Down
3 changes: 1 addition & 2 deletions regression/cbmc-concurrency/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@ default: tests.log
include ../../src/config.inc
include ../../src/common

ifeq ($(filter-out OSX MSVC FreeBSD,$(BUILD_ENV_)),)
ifeq ($(filter-out MSVC,$(BUILD_ENV_)),)
# no POSIX threads on Windows
# for OSX and FreeBSD we'd need sound handling of pointers in multi-threaded programs
no_pthread = -X pthread
endif

Expand Down
4 changes: 2 additions & 2 deletions regression/cbmc-concurrency/dirty_local1/test.desc
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
CORE
main.c
--no-standard-checks
^EXIT=10$
pointer handling for concurrency is unsound
^EXIT=6$
^SIGNAL=0$
^VERIFICATION FAILED$
--
^warning: ignoring
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
CORE pthread
main.c

pointer handling for concurrency is unsound
^EXIT=6$
^SIGNAL=0$
--
^warning: ignoring
4 changes: 4 additions & 0 deletions regression/cbmc-concurrency/global_pointer1/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ void *thread1(void * arg)
void *thread2(void *arg)
{
assert(v == &g);
#ifndef NO_DEREF
*v = 1;
#endif
}

int main()
Expand All @@ -26,7 +28,9 @@ int main()
pthread_join(t2, 0);

assert(v == &g);
#ifndef NO_DEREF
assert(*v == 1);
#endif

return 0;
}
8 changes: 8 additions & 0 deletions regression/cbmc-concurrency/global_pointer1/no_deref.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
CORE pthread
main.c
-DNO_DEREF
^EXIT=0$
^SIGNAL=0$
^VERIFICATION SUCCESSFUL$
--
^warning: ignoring
2 changes: 1 addition & 1 deletion regression/cbmc-concurrency/global_pointer1/test.desc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
KNOWNBUG
KNOWNBUG pthread
main.c

^EXIT=0$
Expand Down
4 changes: 2 additions & 2 deletions regression/cbmc-concurrency/malloc1/test.desc
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
CORE
main.c
--no-malloc-may-fail
^EXIT=0$
pointer handling for concurrency is unsound
^EXIT=6$
^SIGNAL=0$
^VERIFICATION SUCCESSFUL$
--
^warning: ignoring
4 changes: 2 additions & 2 deletions regression/cbmc-concurrency/malloc2/test.desc
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
CORE
main.c
--no-malloc-may-fail
^EXIT=0$
pointer handling for concurrency is unsound
^EXIT=6$
^SIGNAL=0$
^VERIFICATION SUCCESSFUL$
--
^warning: ignoring
2 changes: 1 addition & 1 deletion regression/cbmc-concurrency/thread_chain_posix2/test.desc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
KNOWNBUG pthread
CORE pthread
main.c
-D_ENABLE_CHAIN_ --unwind 2
^EXIT=0$
Expand Down
2 changes: 1 addition & 1 deletion regression/cbmc-concurrency/thread_chain_posix3/test.desc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
KNOWNBUG pthread
CORE pthread
main.c
-D_ENABLE_CHAIN_ -D_SANITY_CHECK_ --unwind 2
^EXIT=10$
Expand Down
10 changes: 3 additions & 7 deletions regression/cbmc-library/realloc-03/test.desc
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
CORE
main.c

^EXIT=6$
--no-malloc-may-fail
^VERIFICATION SUCCESSFUL$
^EXIT=0$
^SIGNAL=0$
pointer handling for concurrency is unsound
--
^warning: ignoring
--
The test uses "__CPROVER_ASYNC_1:" and the async-called function foo does
pointer operations over allocated memory - which is not handled in a sound way
in CBMC.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p2_r1 = 0;
int __unbuffered_p2_r3 = 0;
int __unbuffered_p2_r4 = 0;
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
int __unbuffered_p2_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p2_r1 = 0;
int __unbuffered_p2_r3 = 0;
int __unbuffered_p2_r4 = 0;
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
int __unbuffered_p2_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p2_r1 = 0;
int __unbuffered_p2_r3 = 0;
int __unbuffered_p2_r4 = 0;
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
int __unbuffered_p2_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p2_r1 = 0;
int __unbuffered_p2_r3 = 0;
int __unbuffered_p2_r4 = 0;
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
int __unbuffered_p2_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p2_r1 = 0;
int __unbuffered_p2_r3 = 0;
int __unbuffered_p2_r4 = 0;
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
int __unbuffered_p2_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p2_r1 = 0;
int __unbuffered_p2_r3 = 0;
int __unbuffered_p2_r4 = 0;
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
int __unbuffered_p2_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
int __unbuffered_p1_r4 = 0;
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
int __unbuffered_p1_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
int __unbuffered_p1_r4 = 0;
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
int __unbuffered_p1_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
int __unbuffered_p1_r4 = 0;
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
int __unbuffered_p1_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
int __unbuffered_p1_r4 = 0;
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
int __unbuffered_p1_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
int __unbuffered_p1_r4 = 0;
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
int __unbuffered_p1_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
int __unbuffered_p1_r4 = 0;
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
int __unbuffered_p1_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
int __unbuffered_p1_r4 = 0;
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
int __unbuffered_p1_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
int __unbuffered_p1_r4 = 0;
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
int __unbuffered_p1_r5 = 0;
int x = 0;
int y = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ void isync()

int __unbuffered_cnt = 0;
int __unbuffered_p0_r1 = 0;
int __unbuffered_p0_r3 = 0;
__CPROVER_thread_local int __unbuffered_p0_r3 = 0;
int __unbuffered_p0_r4 = 0;
int __unbuffered_p1_r1 = 0;
int __unbuffered_p1_r3 = 0;
Expand Down
Loading
Loading