summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/test6-01.txt523
-rw-r--r--test/test6-03.txt8
-rw-r--r--test/test6-04.txt261
-rw-r--r--test/test6.c37
4 files changed, 766 insertions, 63 deletions
diff --git a/test/test6-01.txt b/test/test6-01.txt
index 62371d0..272d807 100644
--- a/test/test6-01.txt
+++ b/test/test6-01.txt
@@ -1,4 +1,4 @@
-function_decl func1 test6.c 8:6
+function_decl func1 test6.c 10:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -18,13 +18,13 @@ function_decl func1 test6.c 8:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test6.c 8:18 - function result
+ result_decl test6.c 10: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 8:17 - argument
+ parm_decl a test6.c 10:17 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -35,13 +35,13 @@ function_decl func1 test6.c 8:6
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
integer_cst 64 - parm size
- cleanup_point_expr test6.c 10:13 - code
+ cleanup_point_expr test6.c 12:13 - code
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl a test6.c 8:17 - operand
+ parm_decl a test6.c 10:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -53,7 +53,7 @@ function_decl func1 test6.c 8:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 100 - operand
-function_decl func2 test6.c 13:6
+function_decl func2 test6.c 15:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -73,13 +73,13 @@ function_decl func2 test6.c 13:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test6.c 13:18 - function result
+ result_decl test6.c 15: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 13:17 - argument
+ parm_decl a test6.c 15:17 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -91,9 +91,9 @@ function_decl func2 test6.c 13:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
if_stmt - code
- eq_expr test6.c 15:10 - condition
+ eq_expr test6.c 17:10 - condition
- isUsed: 1
- parm_decl a test6.c 13:17 - operand
+ parm_decl a test6.c 15:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -105,14 +105,14 @@ function_decl func2 test6.c 13:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 0 - operand
- return_expr test6.c 16:9 - then
- cleanup_point_expr test6.c 18:17 - else
+ return_expr test6.c 18:9 - then
+ cleanup_point_expr test6.c 20:17 - else
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl a test6.c 13:17 - operand
+ parm_decl a test6.c 15:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -124,7 +124,7 @@ function_decl func2 test6.c 13:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 200 - operand
-function_decl func3 test6.c 21:6
+function_decl func3 test6.c 23:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -144,13 +144,13 @@ function_decl func3 test6.c 21:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test6.c 21:18 - function result
+ result_decl test6.c 23: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 21:17 - argument
+ parm_decl a test6.c 23:17 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -163,9 +163,9 @@ function_decl func3 test6.c 21:6
integer_cst 64 - parm size
statement_list - code
if_stmt - statement
- eq_expr test6.c 23:10 - condition
+ eq_expr test6.c 25:10 - condition
- isUsed: 1
- parm_decl a test6.c 21:17 - operand
+ parm_decl a test6.c 23:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -177,14 +177,14 @@ function_decl func3 test6.c 21:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 0 - operand
- return_expr test6.c 24:9 - then
- cleanup_point_expr test6.c 26:13 - statement
+ return_expr test6.c 26:9 - then
+ cleanup_point_expr test6.c 28:13 - statement
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl a test6.c 21:17 - operand
+ parm_decl a test6.c 23:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -196,7 +196,7 @@ function_decl func3 test6.c 21:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 300 - operand
-function_decl func4 test6.c 29:6
+function_decl func4 test6.c 31:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -216,13 +216,13 @@ function_decl func4 test6.c 29:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test6.c 29:18 - function result
+ result_decl test6.c 31: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
+ parm_decl a test6.c 31:17 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -236,7 +236,7 @@ function_decl func4 test6.c 29:6
if_stmt - code
ne_expr - condition
- isUsed: 1
- parm_decl a test6.c 29:17 - operand
+ parm_decl a test6.c 31:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -248,13 +248,13 @@ function_decl func4 test6.c 29:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 0 - operand
- cleanup_point_expr test6.c 33:17 - then
+ cleanup_point_expr test6.c 35:17 - then
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl a test6.c 29:17 - operand
+ parm_decl a test6.c 31:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -266,7 +266,7 @@ function_decl func4 test6.c 29:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 400 - operand
-function_decl func5 test6.c 37:6
+function_decl func5 test6.c 39:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -286,13 +286,13 @@ function_decl func5 test6.c 37:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test6.c 37:18 - function result
+ result_decl test6.c 39: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
+ parm_decl a test6.c 39:17 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -307,7 +307,7 @@ function_decl func5 test6.c 37:6
if_stmt - statement
ne_expr - condition
- isUsed: 1
- parm_decl a test6.c 37:17 - operand
+ parm_decl a test6.c 39:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -319,13 +319,13 @@ function_decl func5 test6.c 37:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 0 - operand
- cleanup_point_expr test6.c 41:17 - then
+ cleanup_point_expr test6.c 43:17 - then
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl a test6.c 37:17 - operand
+ parm_decl a test6.c 39:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -337,13 +337,13 @@ function_decl func5 test6.c 37:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 500 - operand
- cleanup_point_expr test6.c 43:13 - statement
+ cleanup_point_expr test6.c 45:13 - statement
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl a test6.c 37:17 - operand
+ parm_decl a test6.c 39:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -355,7 +355,7 @@ function_decl func5 test6.c 37:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 600 - operand
-function_decl func6 test6.c 46:6
+function_decl func6 test6.c 48:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -375,13 +375,13 @@ function_decl func6 test6.c 46:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test6.c 46:21 - function result
+ result_decl test6.c 48:18 - 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
+ parm_decl a test6.c 48:17 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -392,13 +392,13 @@ function_decl func6 test6.c 46:6
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
integer_cst 64 - parm size
- bind_expr test6.c 54:16 - code
+ bind_expr test6.c 56:13 - code
statement_list - operand
- bind_expr test6.c 52:5 - statement
+ bind_expr test6.c 54:5 - statement
if_stmt - operand
- eq_expr test6.c 48:10 - condition
+ eq_expr test6.c 50:10 - condition
- isUsed: 1
- parm_decl aptr test6.c 46:17 - operand
+ parm_decl a test6.c 48:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -410,8 +410,8 @@ function_decl func6 test6.c 46:6
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
+ bind_expr test6.c 53:15 - then
+ var_decl k test6.c 52:13 - operand
integer_cst 32 - decl size
integer_type - var type
- precisionBits: 32
@@ -423,9 +423,9 @@ function_decl func6 test6.c 46:6
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
+ cleanup_point_expr test6.c 52:17 - statement
+ decl_expr test6.c 52:17 - operand
+ var_decl k test6.c 52:13 - operand
integer_cst 32 - decl size
integer_type - var type
- precisionBits: 32
@@ -436,9 +436,9 @@ function_decl func6 test6.c 46:6
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
integer_cst 10 - initial
- return_expr test6.c 51:9 - statement
+ return_expr test6.c 53:9 - statement
block - operand
- var_decl k test6.c 50:13 - block vars
+ var_decl k test6.c 52:13 - block vars
integer_cst 32 - decl size
integer_type - var type
- precisionBits: 32
@@ -451,7 +451,7 @@ function_decl func6 test6.c 46:6
integer_cst 10 - initial
block - operand
block - sub block
- var_decl k test6.c 50:13 - block vars
+ var_decl k test6.c 52:13 - block vars
integer_cst 32 - decl size
integer_type - var type
- precisionBits: 32
@@ -462,13 +462,13 @@ function_decl func6 test6.c 46:6
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
integer_cst 10 - initial
- cleanup_point_expr test6.c 54:16 - statement
+ cleanup_point_expr test6.c 56:13 - statement
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl aptr test6.c 46:17 - operand
+ parm_decl a test6.c 48:17 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -483,7 +483,7 @@ function_decl func6 test6.c 46:6
block - operand
block - sub block
block - sub block
- var_decl k test6.c 50:13 - block vars
+ var_decl k test6.c 52:13 - block vars
integer_cst 32 - decl size
integer_type - var type
- precisionBits: 32
@@ -494,3 +494,420 @@ function_decl func6 test6.c 46:6
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
integer_cst 10 - initial
+function_decl func7 test6.c 59: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 59: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 59: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 70:16 - code
+ statement_list - operand
+ bind_expr test6.c 68:5 - statement
+ if_stmt - operand
+ integer_cst 0 - condition
+ bind_expr test6.c 67:9 - then
+ bind_expr test6.c 67:9 - operand
+ if_stmt - operand
+ eq_expr test6.c 63:14 - condition
+ - isUsed: 1
+ parm_decl aptr test6.c 59: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 66:19 - then
+ var_decl k test6.c 65:17 - 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 65:21 - statement
+ decl_expr test6.c 65:21 - operand
+ var_decl k test6.c 65:17 - 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 66:13 - statement
+ block - operand
+ var_decl k test6.c 65:17 - 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 65:17 - 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
+ block - sub block
+ var_decl k test6.c 65:17 - 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
+ block - sub block
+ block - sub block
+ var_decl k test6.c 65:17 - 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 70:16 - statement
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ - isUsed: 1
+ parm_decl aptr test6.c 59: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 800 - operand
+ block - operand
+ block - sub block
+ block - sub block
+ block - sub block
+ block - sub block
+ var_decl k test6.c 65:17 - 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
+function_decl func8 test6.c 73: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 73: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 73: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 85:16 - code
+ statement_list - operand
+ bind_expr test6.c 83:5 - statement
+ if_stmt - operand
+ eq_expr test6.c 75:10 - condition
+ - isUsed: 1
+ parm_decl aptr test6.c 73: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 82:15 - then
+ statement_list - operand
+ bind_expr test6.c 81:9 - statement
+ if_stmt - operand
+ integer_cst 0 - condition
+ bind_expr test6.c 80:23 - then
+ var_decl k test6.c 79:17 - 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 79:21 - statement
+ decl_expr test6.c 79:21 - operand
+ var_decl k test6.c 79:17 - 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
+ cleanup_point_expr test6.c 80:21 - statement
+ decl_expr test6.c 80:21 - operand
+ var_decl l test6.c 80:17 - 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 20 - initial
+ block - operand
+ var_decl k test6.c 79:17 - 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
+ var_decl l test6.c 80:17 - 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 20 - initial
+ block - operand
+ block - sub block
+ var_decl k test6.c 79:17 - 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
+ var_decl l test6.c 80:17 - 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 20 - initial
+ return_expr test6.c 82:9 - statement
+ block - operand
+ block - sub block
+ block - sub block
+ var_decl k test6.c 79:17 - 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
+ var_decl l test6.c 80:17 - 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 20 - initial
+ block - operand
+ block - sub block
+ block - sub block
+ block - sub block
+ var_decl k test6.c 79:17 - 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
+ var_decl l test6.c 80:17 - 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 20 - initial
+ cleanup_point_expr test6.c 85:16 - statement
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ - isUsed: 1
+ parm_decl aptr test6.c 73: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 900 - operand
+ block - operand
+ block - sub block
+ block - sub block
+ block - sub block
+ block - sub block
+ var_decl k test6.c 79:17 - 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
+ var_decl l test6.c 80:17 - 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 20 - initial
diff --git a/test/test6-03.txt b/test/test6-03.txt
index 651aa6f..709f769 100644
--- a/test/test6-03.txt
+++ b/test/test6-03.txt
@@ -1,8 +1,12 @@
test6.c: In function 'void func1(int*)':
-test6.c:10:13: warning: Using variable without check for NULL
+test6.c:12: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
+test6.c:45:13: warning: Using variable without check for NULL
*a = 600;
^
+test6.c: In function 'void func7(int*)':
+test6.c:70:16: warning: Using variable without check for NULL
+ *aptr = 800;
+ ^
diff --git a/test/test6-04.txt b/test/test6-04.txt
index 9b349aa..6f568de 100644
--- a/test/test6-04.txt
+++ b/test/test6-04.txt
@@ -4,7 +4,7 @@ expr_stmt : a,
convert_expr : a,
modify_expr : a,
test6.c: In function 'void func1(int*)':
-test6.c:10:13: warning: Using variable without check for NULL
+test6.c:12:13: warning: Using variable without check for NULL
*a = 100;
^
indirect_ref : a,
@@ -38,7 +38,7 @@ function_decl func3:
statement_list : a,
if_stmt : a,
return_expr : a,
-cleanup_point_expr :
+cleanup_point_expr : a,
expr_stmt :
convert_expr :
modify_expr :
@@ -90,7 +90,7 @@ 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
+test6.c:45:13: warning: Using variable without check for NULL
*a = 600;
^
indirect_ref : a,
@@ -104,11 +104,84 @@ integer_cst 2147483647: a,
integer_cst 64: a,
integer_cst 600: a,
function_decl func6:
+bind_expr : a,
+statement_list : a,
+bind_expr : a,
+if_stmt : a,
+bind_expr : a,
+var_decl k: a,
+integer_cst 32: a,
+integer_type : a,
+type_decl int: a,
+integer_cst 32: a,
+integer_cst -2147483648: a,
+integer_cst 2147483647: a,
+integer_cst 10: a,
+statement_list : a,
+cleanup_point_expr : a,
+decl_expr : a,
+var_decl k: a,
+integer_cst 32: a,
+integer_type : a,
+type_decl int: a,
+integer_cst 32: a,
+integer_cst -2147483648: a,
+integer_cst 2147483647: a,
+integer_cst 10: a,
+return_expr : a,
+block : a,
+var_decl k: a,
+integer_cst 32: a,
+integer_type : a,
+type_decl int: a,
+integer_cst 32: a,
+integer_cst -2147483648: a,
+integer_cst 2147483647: a,
+integer_cst 10: a,
+block : a,
+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 : a,
+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 700:
+block : a,
+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:
+function_decl func7:
bind_expr : aptr,
statement_list : aptr,
bind_expr : aptr,
if_stmt : aptr,
bind_expr : aptr,
+bind_expr : aptr,
+if_stmt : aptr,
+bind_expr : aptr,
var_decl k: aptr,
integer_cst 32: aptr,
integer_type : aptr,
@@ -138,6 +211,17 @@ integer_cst 32: aptr,
integer_cst -2147483648: aptr,
integer_cst 2147483647: aptr,
integer_cst 10: aptr,
+block : aptr,
+block :
+var_decl k:
+integer_cst 32:
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 10:
+block : aptr,
block :
block :
var_decl k:
@@ -148,7 +232,164 @@ integer_cst 32:
integer_cst -2147483648:
integer_cst 2147483647:
integer_cst 10:
-cleanup_point_expr :
+block : 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,
+cleanup_point_expr : aptr,
+expr_stmt : aptr,
+convert_expr : aptr,
+modify_expr : aptr,
+test6.c: In function 'void func7(int*)':
+test6.c:70:16: warning: Using variable without check for NULL
+ *aptr = 800;
+ ^
+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 800: aptr,
+block : aptr,
+block : 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,
+function_decl func8:
+bind_expr : aptr,
+statement_list : aptr,
+bind_expr : aptr,
+if_stmt : aptr,
+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,
+cleanup_point_expr : aptr,
+decl_expr : aptr,
+var_decl l: 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 20: 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,
+var_decl l: 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 20: 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,
+var_decl l: 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 20: aptr,
+return_expr : 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,
+var_decl l: 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 20: aptr,
+block : aptr,
+block :
+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:
+var_decl l:
+integer_cst 32:
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 20:
+cleanup_point_expr : aptr,
expr_stmt :
convert_expr :
modify_expr :
@@ -161,7 +402,9 @@ integer_cst 32:
integer_cst -2147483648:
integer_cst 2147483647:
integer_cst 64:
-integer_cst 700:
+integer_cst 900:
+block : aptr,
+block :
block :
block :
block :
@@ -173,3 +416,11 @@ integer_cst 32:
integer_cst -2147483648:
integer_cst 2147483647:
integer_cst 10:
+var_decl l:
+integer_cst 32:
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 20:
diff --git a/test/test6.c b/test/test6.c
index 05c7738..3aca55b 100644
--- a/test/test6.c
+++ b/test/test6.c
@@ -4,6 +4,8 @@ void func3(int *a);
void func4(int *a);
void func5(int *a);
void func6(int *a);
+void func7(int *a);
+void func8(int *a);
void func1(int *a)
{
@@ -43,13 +45,42 @@ void func5(int *a)
*a = 600;
}
-void func6(int *aptr)
+void func6(int *a)
{
- if (!aptr)
+ if (!a)
{
int k = 10;
return;
}
- *aptr = 700;
+ *a = 700;
+}
+
+void func7(int *aptr)
+{
+ if (1 == 0)
+ {
+ if (!aptr)
+ {
+ int k = 10;
+ return;
+ }
+ }
+
+ *aptr = 800;
+}
+
+void func8(int *aptr)
+{
+ if (!aptr)
+ {
+ if (1 == 0)
+ {
+ int k = 10;
+ int l = 20;
+ }
+ return;
+ }
+
+ *aptr = 900;
}