Skip to content

Commit 8f4aa80

Browse files
committed
enable assertions in is_threadedt
1 parent ce789ee commit 8f4aa80

File tree

41 files changed

+75
-58
lines changed

Some content is hidden

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

41 files changed

+75
-58
lines changed

regression/goto-analyzer/constant_propagation_01/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/constant_propagation_01/test.desc

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--constants --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 2, assigns: 5, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 5, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 0, assigns: 12, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_02/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/constant_propagation_02/test.desc

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ main.c
33
--constants --simplify out.gb
44
^EXIT=0$
55
^SIGNAL=0$
6-
^Simplified: assert: 1, assume: 0, goto: 2, assigns: 6, function calls: 0$
6+
^Simplified: assert: 1, assume: 0, goto: 1, assigns: 6, function calls: 0$
77
^Unmodified: assert: 0, assume: 0, goto: 0, assigns: 11, function calls: 2$
88
--
99
^warning: ignoring

regression/goto-analyzer/constant_propagation_03/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/constant_propagation_04/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/constant_propagation_05/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/constant_propagation_06/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/constant_propagation_06/test.desc

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main.c
33
--constants --verify
44
^EXIT=0$
55
^SIGNAL=0$
6-
^\[main.assertion.1\] file main.c line 12 function main, assertion i<51: Unknown$
6+
^\[main.assertion.1\] file main.c line 11 function main, assertion i\s*<\s*51: Unknown$
77
--
88
^warning: ignoring

regression/goto-analyzer/constant_propagation_07/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include <assert.h>
1+
22
int main()
33
{
44
signed int i;

regression/goto-analyzer/constant_propagation_08/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include <assert.h>
1+
22
int main()
33
{
44
int a[2];

regression/goto-analyzer/constant_propagation_09/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include <assert.h>
1+
22
int main()
33
{
44
int a[2]={0,0};

regression/goto-analyzer/constant_propagation_10/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include <assert.h>
1+
22
int main()
33
{
44
int a[2]={0,0};

regression/goto-analyzer/constant_propagation_11/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include <assert.h>
1+
22
int main()
33
{
44
int a[2]={0,0};

regression/goto-analyzer/constant_propagation_12/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include <assert.h>
1+
22
int main()
33
{
44
int i=0, y;

regression/goto-analyzer/constant_propagation_13/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include <assert.h>
1+
22
int main()
33
{
44
int i=0, y;

regression/goto-analyzer/constant_propagation_14/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include <assert.h>
1+
22
int main()
33
{
44
int a[2]={0,0};

regression/goto-analyzer/constant_propagation_15/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include <assert.h>
1+
22
int main()
33
{
44
int a[2]={0,0};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#include <assert.h>
2+
3+
int main()
4+
{
5+
int i=0, j=2;
6+
7+
while (i<50)
8+
{
9+
i++;
10+
j++;
11+
}
12+
assert(i<51);
13+
}
14+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CORE
2+
main.c
3+
--constants --verify
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
^\[main.assertion.1\] file main.c line 12 function main, assertion i\s*<\s*51: (Unknown|Failure \(if reachable\))$
7+
--
8+
^warning: ignoring

regression/goto-analyzer/intervals_01/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/intervals_01/test.desc

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ main.c
33
--intervals --verify
44
^EXIT=0$
55
^SIGNAL=0$
6-
^\[main.assertion.1\] file main.c line 8 function main, assertion i>=10: Success$
7-
^\[main.assertion.2\] file main.c line 11 function main, assertion i!=30: Success$
8-
^\[main.assertion.3\] file main.c line 14 function main, assertion i!=15: Unknown$
9-
^\[main.assertion.4\] file main.c line 17 function main, assertion 0: Success$
10-
^\[main.assertion.5\] file main.c line 20 function main, assertion j>=10: Success$
11-
^\[main.assertion.6\] file main.c line 23 function main, assertion i>=j: Unknown$
12-
^\[main.assertion.7\] file main.c line 26 function main, assertion i>=11: Success$
13-
^\[main.assertion.8\] file main.c line 29 function main, assertion j<100: Success$
6+
^\[main.assertion.1\] file main.c line 7 function main, assertion i\s*>=\s*10: Success$
7+
^\[main.assertion.2\] file main.c line 10 function main, assertion i\s*!=\s*30: Success$
8+
^\[main.assertion.3\] file main.c line 13 function main, assertion i\s*!=\s*15: Unknown$
9+
^\[main.assertion.4\] file main.c line 16 function main, assertion 0: Success$
10+
^\[main.assertion.5\] file main.c line 19 function main, assertion j\s*>=\s*10: Success$
11+
^\[main.assertion.6\] file main.c line 22 function main, assertion i\s*>=\s*j: Unknown$
12+
^\[main.assertion.7\] file main.c line 25 function main, assertion i\s*>=\s*11: Success$
13+
^\[main.assertion.8]\ file main.c line 28 function main, assertion j\s*<\s*100: Success$
1414
--
1515
^warning: ignoring

regression/goto-analyzer/intervals_02/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main(){
43
int x;

regression/goto-analyzer/intervals_03/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main(){
43
int x;

regression/goto-analyzer/intervals_04/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
//#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/intervals_05/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
//#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/intervals_06/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main(){
43
int x;

regression/goto-analyzer/intervals_07/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main(){
43
int x;

regression/goto-analyzer/intervals_08/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main(){
43
int x;

regression/goto-analyzer/intervals_09/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/intervals_10/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/intervals_11/main.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include <assert.h>
1+
22
const int xLen = 10;
33
const int Alen = 2;
44
const int Blen = 1;

regression/goto-analyzer/intervals_12/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main (void) {
43
int i;

regression/goto-analyzer/intervals_13/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/intervals_13/test.desc

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ main.c
33
--intervals --verify
44
^EXIT=0$
55
^SIGNAL=0$
6-
^\[main.assertion.1\] file main.c line 8 function main, assertion i>=10: Success$
7-
^\[main.assertion.2\] file main.c line 11 function main, assertion i!=30: Success$
8-
^\[main.assertion.3\] file main.c line 14 function main, assertion i!=15: Unknown$
9-
^\[main.assertion.4\] file main.c line 17 function main, assertion 0: Success$
10-
^\[main.assertion.5\] file main.c line 20 function main, assertion j>=10: Success$
11-
^\[main.assertion.6\] file main.c line 23 function main, assertion i>=j: Unknown$
12-
^\[main.assertion.7\] file main.c line 26 function main, assertion i>=11: Success$
13-
^\[main.assertion.8\] file main.c line 29 function main, assertion j<100: Success$
6+
^\[main.assertion.1\] file main.c line 7 function main, assertion i\s*>=\s*10: Success$
7+
^\[main.assertion.2\] file main.c line 10 function main, assertion i\s*!=\s*30: Success$
8+
^\[main.assertion.3\] file main.c line 13 function main, assertion i\s*!=\s*15: Unknown$
9+
^\[main.assertion.4\] file main.c line 16 function main, assertion 0: Success$
10+
^\[main.assertion.5\] file main.c line 19 function main, assertion j\s*>=\s*10: Success$
11+
^\[main.assertion.6\] file main.c line 22 function main, assertion i\s*>=\s*j: Unknown$
12+
^\[main.assertion.7\] file main.c line 25 function main, assertion i\s*>=\s*11: Success$
13+
^\[main.assertion.8\] file main.c line 28 function main, assertion j\s*<\s*100: Success$
1414
--
1515
^warning: ignoring

regression/goto-analyzer/intervals_14/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/intervals_15/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
#include <assert.h>
21

32
int main()
43
{

regression/goto-analyzer/intervals_15/test.desc

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main.c
33
--intervals --verify
44
^EXIT=0$
55
^SIGNAL=0$
6-
^\[main.assertion.1\] file main.c line 12 function main, assertion j<52: Unknown$
6+
^\[main.assertion.1\] file main.c line 11 function main, assertion j\s*<\s*52: Unknown$
77
--
88
^warning: ignoring
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
int main()
3+
{
4+
int i=0, j=2;
5+
6+
while (i<=50)
7+
{
8+
i++;
9+
j++;
10+
}
11+
assert(j<52);
12+
}
13+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CORE
2+
main.c
3+
--intervals --verify
4+
^EXIT=0$
5+
^SIGNAL=0$
6+
^\[main.assertion.1\] file main.c line 11 function main, assertion j\s*<\s*52: (Unknown|Failure \(if reachable\))$
7+
--
8+
^warning: ignoring

src/analyses/is_threaded.cpp

+2-8
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@ class is_threaded_domaint:public ai_domain_baset
2929
locationt from,
3030
locationt to)
3131
{
32-
// assert(src.reachable);
33-
34-
if(!src.reachable)
35-
return false;
32+
assert(src.reachable);
3633

3734
bool old_reachable=reachable;
3835
bool old_is_threaded=is_threaded;
@@ -50,10 +47,7 @@ class is_threaded_domaint:public ai_domain_baset
5047
ai_baset &ai,
5148
const namespacet &ns) final override
5249
{
53-
// assert(reachable);
54-
55-
if(!reachable)
56-
return;
50+
assert(reachable);
5751

5852
if(from->is_start_thread())
5953
is_threaded=true;

0 commit comments

Comments
 (0)