summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-06-10 19:50:01 +0300
committerAndrei Karas <akaras@inbox.ru>2015-06-10 19:50:01 +0300
commitc6b216fd52a2ee6c13312ed35236c3e5cc3bcb7f (patch)
treec31fdade18ff1e592cf26680b734adc382c2e0c4
parentc93b3be089801d3d0fd46df45e630ee9b5e50bc8 (diff)
downloadparanucker-c6b216fd52a2ee6c13312ed35236c3e5cc3bcb7f.tar.gz
paranucker-c6b216fd52a2ee6c13312ed35236c3e5cc3bcb7f.tar.bz2
paranucker-c6b216fd52a2ee6c13312ed35236c3e5cc3bcb7f.tar.xz
paranucker-c6b216fd52a2ee6c13312ed35236c3e5cc3bcb7f.zip
Update tests and test results.
-rw-r--r--test/test6-01.txt340
-rw-r--r--test/test6-03.txt10
-rw-r--r--test/test6-04.txt227
-rw-r--r--test/test6.c31
4 files changed, 535 insertions, 73 deletions
diff --git a/test/test6-01.txt b/test/test6-01.txt
index 5d0b53b..62371d0 100644
--- a/test/test6-01.txt
+++ b/test/test6-01.txt
@@ -1,4 +1,4 @@
-function_decl func1 test6.c 5:6
+function_decl func1 test6.c 8:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -18,13 +18,13 @@ function_decl func1 test6.c 5:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test6.c 5:18 - function result
+ result_decl test6.c 8:18 - function result
- isAutogenerated: 1
void_type - result type
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- isUsed: 1
- parm_decl a test6.c 5:17 - argument
+ parm_decl a test6.c 8:17 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -35,13 +35,13 @@ function_decl func1 test6.c 5:6
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
integer_cst 64 - parm size
- cleanup_point_expr test6.c 7:13 - code
+ cleanup_point_expr test6.c 10:13 - code
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl a test6.c 5:17 - operand
+ parm_decl a test6.c 8:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -53,7 +53,7 @@ function_decl func1 test6.c 5:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 100 - operand
-function_decl func2 test6.c 10:6
+function_decl func2 test6.c 13:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -73,13 +73,13 @@ function_decl func2 test6.c 10:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test6.c 10:18 - function result
+ result_decl test6.c 13:18 - function result
- isAutogenerated: 1
void_type - result type
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- isUsed: 1
- parm_decl a test6.c 10:17 - argument
+ parm_decl a test6.c 13:17 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -91,9 +91,9 @@ function_decl func2 test6.c 10:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
if_stmt - code
- eq_expr test6.c 12:10 - condition
+ eq_expr test6.c 15:10 - condition
- isUsed: 1
- parm_decl a test6.c 10:17 - operand
+ parm_decl a test6.c 13:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -105,14 +105,14 @@ function_decl func2 test6.c 10:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 0 - operand
- return_expr test6.c 13:9 - then
- cleanup_point_expr test6.c 15:17 - else
+ return_expr test6.c 16:9 - then
+ cleanup_point_expr test6.c 18:17 - else
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl a test6.c 10:17 - operand
+ parm_decl a test6.c 13:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -124,7 +124,7 @@ function_decl func2 test6.c 10:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 200 - operand
-function_decl func3 test6.c 18:6
+function_decl func3 test6.c 21:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -144,13 +144,13 @@ function_decl func3 test6.c 18:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test6.c 18:18 - function result
+ result_decl test6.c 21:18 - function result
- isAutogenerated: 1
void_type - result type
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- isUsed: 1
- parm_decl a test6.c 18:17 - argument
+ parm_decl a test6.c 21:17 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -163,9 +163,9 @@ function_decl func3 test6.c 18:6
integer_cst 64 - parm size
statement_list - code
if_stmt - statement
- eq_expr test6.c 20:10 - condition
+ eq_expr test6.c 23:10 - condition
- isUsed: 1
- parm_decl a test6.c 18:17 - operand
+ parm_decl a test6.c 21:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -177,14 +177,14 @@ function_decl func3 test6.c 18:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 0 - operand
- return_expr test6.c 21:9 - then
- cleanup_point_expr test6.c 23:13 - statement
+ return_expr test6.c 24:9 - then
+ cleanup_point_expr test6.c 26:13 - statement
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl a test6.c 18:17 - operand
+ parm_decl a test6.c 21:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -196,3 +196,301 @@ function_decl func3 test6.c 18:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 300 - operand
+function_decl func4 test6.c 29:6
+- isPublic: 1
+ function_type - function type
+ void_type - function return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test6.c 29:18 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ - isUsed: 1
+ parm_decl a test6.c 29:17 - argument
+ pointer_type - decl type
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 64 - parm size
+ if_stmt - code
+ ne_expr - condition
+ - isUsed: 1
+ parm_decl a test6.c 29:17 - operand
+ pointer_type - decl type
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ cleanup_point_expr test6.c 33:17 - then
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ - isUsed: 1
+ parm_decl a test6.c 29:17 - operand
+ pointer_type - decl type
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 64 - parm size
+ integer_cst 400 - operand
+function_decl func5 test6.c 37:6
+- isPublic: 1
+ function_type - function type
+ void_type - function return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test6.c 37:18 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ - isUsed: 1
+ parm_decl a test6.c 37:17 - argument
+ pointer_type - decl type
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 64 - parm size
+ statement_list - code
+ if_stmt - statement
+ ne_expr - condition
+ - isUsed: 1
+ parm_decl a test6.c 37:17 - operand
+ pointer_type - decl type
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ cleanup_point_expr test6.c 41:17 - then
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ - isUsed: 1
+ parm_decl a test6.c 37:17 - operand
+ pointer_type - decl type
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 64 - parm size
+ integer_cst 500 - operand
+ cleanup_point_expr test6.c 43:13 - statement
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ - isUsed: 1
+ parm_decl a test6.c 37:17 - operand
+ pointer_type - decl type
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 64 - parm size
+ integer_cst 600 - operand
+function_decl func6 test6.c 46:6
+- isPublic: 1
+ function_type - function type
+ void_type - function return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test6.c 46:21 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ - isUsed: 1
+ parm_decl aptr test6.c 46:17 - argument
+ pointer_type - decl type
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 64 - parm size
+ bind_expr test6.c 54:16 - code
+ statement_list - operand
+ bind_expr test6.c 52:5 - statement
+ if_stmt - operand
+ eq_expr test6.c 48:10 - condition
+ - isUsed: 1
+ parm_decl aptr test6.c 46:17 - operand
+ pointer_type - decl type
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ bind_expr test6.c 51:15 - then
+ var_decl k test6.c 50:13 - operand
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - initial
+ statement_list - operand
+ cleanup_point_expr test6.c 50:17 - statement
+ decl_expr test6.c 50:17 - operand
+ var_decl k test6.c 50:13 - operand
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - initial
+ return_expr test6.c 51:9 - statement
+ block - operand
+ var_decl k test6.c 50:13 - block vars
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - initial
+ block - operand
+ block - sub block
+ var_decl k test6.c 50:13 - block vars
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - initial
+ cleanup_point_expr test6.c 54:16 - statement
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ - isUsed: 1
+ parm_decl aptr test6.c 46:17 - operand
+ pointer_type - decl type
+ integer_type - nested type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 64 - parm size
+ integer_cst 700 - operand
+ block - operand
+ block - sub block
+ block - sub block
+ var_decl k test6.c 50:13 - block vars
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - initial
diff --git a/test/test6-03.txt b/test/test6-03.txt
index 6732621..f0cf435 100644
--- a/test/test6-03.txt
+++ b/test/test6-03.txt
@@ -1,4 +1,12 @@
test6.c: In function 'void func1(int*)':
-test6.c:7:13: warning: Using variable without check for NULL
+test6.c:10:13: warning: Using variable without check for NULL
*a = 100;
^
+test6.c: In function 'void func5(int*)':
+test6.c:43:13: warning: Using variable without check for NULL
+ *a = 600;
+ ^
+test6.c: In function 'void func6(int*)':
+test6.c:54:16: warning: Using variable without check for NULL
+ *aptr = 700;
+ ^
diff --git a/test/test6-04.txt b/test/test6-04.txt
index 979c686..7f6281f 100644
--- a/test/test6-04.txt
+++ b/test/test6-04.txt
@@ -1,54 +1,179 @@
-function_decl func1
-cleanup_point_expr
-expr_stmt
-convert_expr
-modify_expr
+function_decl func1:
+cleanup_point_expr : a,
+expr_stmt : a,
+convert_expr : a,
+modify_expr : a,
test6.c: In function 'void func1(int*)':
-test6.c:7:13: warning: Using variable without check for NULL
+test6.c:10:13: warning: Using variable without check for NULL
*a = 100;
^
-indirect_ref
-parm_decl a
-pointer_type
-integer_type
-type_decl int
-integer_cst 32
-integer_cst -2147483648
-integer_cst 2147483647
-integer_cst 64
-integer_cst 100
-function_decl func2
-if_stmt
-return_expr
-cleanup_point_expr
-expr_stmt
-convert_expr
-modify_expr
-indirect_ref
-parm_decl a
-pointer_type
-integer_type
-type_decl int
-integer_cst 32
-integer_cst -2147483648
-integer_cst 2147483647
-integer_cst 64
-integer_cst 200
-function_decl func3
-statement_list
-if_stmt
-return_expr
-cleanup_point_expr
-expr_stmt
-convert_expr
-modify_expr
-indirect_ref
-parm_decl a
-pointer_type
-integer_type
-type_decl int
-integer_cst 32
-integer_cst -2147483648
-integer_cst 2147483647
-integer_cst 64
-integer_cst 300
+indirect_ref : a,
+parm_decl a: a,
+pointer_type : a,
+integer_type : a,
+type_decl int: a,
+integer_cst 32: a,
+integer_cst -2147483648: a,
+integer_cst 2147483647: a,
+integer_cst 64: a,
+integer_cst 100: a,
+function_decl func2:
+if_stmt : a,
+return_expr : a,
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+indirect_ref :
+parm_decl a:
+pointer_type :
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 64:
+integer_cst 200:
+function_decl func3:
+statement_list : a,
+if_stmt : a,
+return_expr : a,
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+indirect_ref :
+parm_decl a:
+pointer_type :
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 64:
+integer_cst 300:
+function_decl func4:
+if_stmt : a,
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+indirect_ref :
+parm_decl a:
+pointer_type :
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 64:
+integer_cst 400:
+function_decl func5:
+statement_list : a,
+if_stmt : a,
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+indirect_ref :
+parm_decl a:
+pointer_type :
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 64:
+integer_cst 500:
+cleanup_point_expr : a,
+expr_stmt : a,
+convert_expr : a,
+modify_expr : a,
+test6.c: In function 'void func5(int*)':
+test6.c:43:13: warning: Using variable without check for NULL
+ *a = 600;
+ ^
+indirect_ref : a,
+parm_decl a: a,
+pointer_type : a,
+integer_type : a,
+type_decl int: a,
+integer_cst 32: a,
+integer_cst -2147483648: a,
+integer_cst 2147483647: a,
+integer_cst 64: a,
+integer_cst 600: a,
+function_decl func6:
+bind_expr : aptr,
+statement_list : aptr,
+bind_expr : aptr,
+if_stmt : aptr,
+bind_expr : aptr,
+var_decl k: aptr,
+integer_cst 32: aptr,
+integer_type : aptr,
+type_decl int: aptr,
+integer_cst 32: aptr,
+integer_cst -2147483648: aptr,
+integer_cst 2147483647: aptr,
+integer_cst 10: aptr,
+statement_list : aptr,
+cleanup_point_expr : aptr,
+decl_expr : aptr,
+var_decl k: aptr,
+integer_cst 32: aptr,
+integer_type : aptr,
+type_decl int: aptr,
+integer_cst 32: aptr,
+integer_cst -2147483648: aptr,
+integer_cst 2147483647: aptr,
+integer_cst 10: aptr,
+return_expr : aptr,
+block : aptr,
+var_decl k: aptr,
+integer_cst 32: aptr,
+integer_type : aptr,
+type_decl int: aptr,
+integer_cst 32: aptr,
+integer_cst -2147483648: aptr,
+integer_cst 2147483647: aptr,
+integer_cst 10: aptr,
+block :
+block :
+var_decl k:
+integer_cst 32:
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 10:
+cleanup_point_expr : aptr,
+expr_stmt : aptr,
+convert_expr : aptr,
+modify_expr : aptr,
+test6.c: In function 'void func6(int*)':
+test6.c:54:16: warning: Using variable without check for NULL
+ *aptr = 700;
+ ^
+indirect_ref : aptr,
+parm_decl aptr: aptr,
+pointer_type : aptr,
+integer_type : aptr,
+type_decl int: aptr,
+integer_cst 32: aptr,
+integer_cst -2147483648: aptr,
+integer_cst 2147483647: aptr,
+integer_cst 64: aptr,
+integer_cst 700: aptr,
+block : aptr,
+block : aptr,
+block : aptr,
+var_decl k: aptr,
+integer_cst 32: aptr,
+integer_type : aptr,
+type_decl int: aptr,
+integer_cst 32: aptr,
+integer_cst -2147483648: aptr,
+integer_cst 2147483647: aptr,
+integer_cst 10: aptr,
diff --git a/test/test6.c b/test/test6.c
index 06dc7df..05c7738 100644
--- a/test/test6.c
+++ b/test/test6.c
@@ -1,6 +1,9 @@
void func1(int *a);
void func2(int *a);
void func3(int *a);
+void func4(int *a);
+void func5(int *a);
+void func6(int *a);
void func1(int *a)
{
@@ -22,3 +25,31 @@ void func3(int *a)
*a = 300;
}
+
+void func4(int *a)
+{
+ if (a)
+ {
+ *a = 400;
+ }
+}
+
+void func5(int *a)
+{
+ if (a)
+ {
+ *a = 500;
+ }
+ *a = 600;
+}
+
+void func6(int *aptr)
+{
+ if (!aptr)
+ {
+ int k = 10;
+ return;
+ }
+
+ *aptr = 700;
+}