Skip to content

Commit 76b5d2b

Browse files
committed
Weak-memory examples: selectively use thread-local variables
We cannot soundly handle pointer offsets that are shared across threads, and will reject this in future to avoid unsound verification results. Here, however, the pointer offsets are not actually shared, so we can safely mark them `__CPROVER_thread_local`.
1 parent 0985044 commit 76b5d2b

File tree

400 files changed

+581
-581
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

400 files changed

+581
-581
lines changed

regression/goto-instrument-wmm-core/ppc_aclwsrr000_PSO_ALL/aclwsrr000.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
1717
int __unbuffered_p1_r1 = 0;
1818
int __unbuffered_p2_r1 = 0;
1919
int __unbuffered_p2_r3 = 0;
20-
int __unbuffered_p2_r4 = 0;
20+
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
2121
int __unbuffered_p2_r5 = 0;
2222
int x = 0;
2323
int y = 0;

regression/goto-instrument-wmm-core/ppc_aclwsrr000_PSO_OPC/aclwsrr000.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
1717
int __unbuffered_p1_r1 = 0;
1818
int __unbuffered_p2_r1 = 0;
1919
int __unbuffered_p2_r3 = 0;
20-
int __unbuffered_p2_r4 = 0;
20+
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
2121
int __unbuffered_p2_r5 = 0;
2222
int x = 0;
2323
int y = 0;

regression/goto-instrument-wmm-core/ppc_aclwsrr000_RMO_ALL/aclwsrr000.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
1717
int __unbuffered_p1_r1 = 0;
1818
int __unbuffered_p2_r1 = 0;
1919
int __unbuffered_p2_r3 = 0;
20-
int __unbuffered_p2_r4 = 0;
20+
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
2121
int __unbuffered_p2_r5 = 0;
2222
int x = 0;
2323
int y = 0;

regression/goto-instrument-wmm-core/ppc_aclwsrr000_RMO_OPC/aclwsrr000.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
1717
int __unbuffered_p1_r1 = 0;
1818
int __unbuffered_p2_r1 = 0;
1919
int __unbuffered_p2_r3 = 0;
20-
int __unbuffered_p2_r4 = 0;
20+
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
2121
int __unbuffered_p2_r5 = 0;
2222
int x = 0;
2323
int y = 0;

regression/goto-instrument-wmm-core/ppc_aclwsrr000_TSO_ALL/aclwsrr000.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
1717
int __unbuffered_p1_r1 = 0;
1818
int __unbuffered_p2_r1 = 0;
1919
int __unbuffered_p2_r3 = 0;
20-
int __unbuffered_p2_r4 = 0;
20+
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
2121
int __unbuffered_p2_r5 = 0;
2222
int x = 0;
2323
int y = 0;

regression/goto-instrument-wmm-core/ppc_aclwsrr000_TSO_OPC/aclwsrr000.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ int __unbuffered_p0_r3 = 0;
1717
int __unbuffered_p1_r1 = 0;
1818
int __unbuffered_p2_r1 = 0;
1919
int __unbuffered_p2_r3 = 0;
20-
int __unbuffered_p2_r4 = 0;
20+
__CPROVER_thread_local int __unbuffered_p2_r4 = 0;
2121
int __unbuffered_p2_r5 = 0;
2222
int x = 0;
2323
int y = 0;

regression/goto-instrument-wmm-core/ppc_aclwsrr002_POWER_ALL/aclwsrr002.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
1616
int __unbuffered_p0_r3 = 0;
1717
int __unbuffered_p1_r1 = 0;
1818
int __unbuffered_p1_r3 = 0;
19-
int __unbuffered_p1_r4 = 0;
19+
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
2020
int __unbuffered_p1_r5 = 0;
2121
int x = 0;
2222
int y = 0;

regression/goto-instrument-wmm-core/ppc_aclwsrr002_POWER_OPC/aclwsrr002.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
1616
int __unbuffered_p0_r3 = 0;
1717
int __unbuffered_p1_r1 = 0;
1818
int __unbuffered_p1_r3 = 0;
19-
int __unbuffered_p1_r4 = 0;
19+
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
2020
int __unbuffered_p1_r5 = 0;
2121
int x = 0;
2222
int y = 0;

regression/goto-instrument-wmm-core/ppc_aclwsrr002_PSO_ALL/aclwsrr002.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
1616
int __unbuffered_p0_r3 = 0;
1717
int __unbuffered_p1_r1 = 0;
1818
int __unbuffered_p1_r3 = 0;
19-
int __unbuffered_p1_r4 = 0;
19+
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
2020
int __unbuffered_p1_r5 = 0;
2121
int x = 0;
2222
int y = 0;

regression/goto-instrument-wmm-core/ppc_aclwsrr002_PSO_OPC/aclwsrr002.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ int __unbuffered_p0_r1 = 0;
1616
int __unbuffered_p0_r3 = 0;
1717
int __unbuffered_p1_r1 = 0;
1818
int __unbuffered_p1_r3 = 0;
19-
int __unbuffered_p1_r4 = 0;
19+
__CPROVER_thread_local int __unbuffered_p1_r4 = 0;
2020
int __unbuffered_p1_r5 = 0;
2121
int x = 0;
2222
int y = 0;

0 commit comments

Comments
 (0)