summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-06-10 02:18:36 +0300
committerAndrei Karas <akaras@inbox.ru>2015-06-10 02:18:36 +0300
commit899dca23fc159f87954b01910f52543455b6abf7 (patch)
tree82c20d498a306dcdb30cfd6c6a4d1142eb802e26
parentca0cde9f4f9760ed9dafeaf9c3bf72f634e82a79 (diff)
downloadparanucker-899dca23fc159f87954b01910f52543455b6abf7.tar.gz
paranucker-899dca23fc159f87954b01910f52543455b6abf7.tar.bz2
paranucker-899dca23fc159f87954b01910f52543455b6abf7.tar.xz
paranucker-899dca23fc159f87954b01910f52543455b6abf7.zip
Improve test5.c. Update test results.
-rw-r--r--test/Makefile2
-rw-r--r--test/crashtest2-01.txt326
-rw-r--r--test/test1-01.txt11
-rw-r--r--test/test1-02.txt11
-rw-r--r--test/test1-03.txt4
-rw-r--r--test/test4-03.txt0
-rw-r--r--test/test5-01.txt801
-rw-r--r--test/test5-02.txt5
-rw-r--r--test/test5-03.txt28
-rw-r--r--test/test5-04.txt0
-rw-r--r--test/test5.c35
11 files changed, 1205 insertions, 18 deletions
diff --git a/test/Makefile b/test/Makefile
index 65bdd9f..3ecddb3 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -27,10 +27,12 @@ test3:
test4:
$(call CMD,dump,test4.c,test4-01.txt)
$(call CMD,findargs,test4.c,test4-02.txt)
+ $(call CMD,detectnullpointers,test4.c,test4-03.txt)
test5:
$(call CMD,dump,test5.c,test5-01.txt)
$(call CMD,findargs,test5.c,test5-02.txt)
$(call CMD,detectnullpointers,test5.c,test5-03.txt)
+ $(call CMD,dumpunsupported,test5.c,test5-04.txt)
crashtest1:
$(call CMD,dump,crashtest1.h,crashtest1-01.txt)
diff --git a/test/crashtest2-01.txt b/test/crashtest2-01.txt
index aca3d21..b93e370 100644
--- a/test/crashtest2-01.txt
+++ b/test/crashtest2-01.txt
@@ -7195,12 +7195,16 @@ function_decl _mm_undefined_ps crashtest2.h 107:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ var_decl __Y crashtest2.h 109:10 - initial
+ - isUsed: 1
statement_list - operand
decl_expr crashtest2.h 109:16 - statement
var_decl __Y crashtest2.h 109:10 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ var_decl __Y crashtest2.h 109:10 - initial
+ - isUsed: 1
return_expr crashtest2.h 110:10 - statement
init_expr - operand
result_decl crashtest2.h 107:23 - operand
@@ -7211,11 +7215,15 @@ function_decl _mm_undefined_ps crashtest2.h 107:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ var_decl __Y crashtest2.h 109:10 - initial
+ - isUsed: 1
block - operand
var_decl __Y crashtest2.h 109:10 - block vars
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ var_decl __Y crashtest2.h 109:10 - initial
+ - isUsed: 1
function_decl _mm_setzero_ps crashtest2.h 115:1
- isExternal: 1
- isPublic: 1
@@ -11339,11 +11347,32 @@ function_decl _mm_cvtpi32x2_ps crashtest2.h 711:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ call_expr crashtest2.h 714:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __zero crashtest2.h 713:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ Unsupported node type: non_lvalue_expr - arg - initial
decl_expr crashtest2.h 715:61 - statement
var_decl __sfb crashtest2.h 715:10 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ call_expr crashtest2.h 715:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __sfa crashtest2.h 714:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ call_expr crashtest2.h 714:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __zero crashtest2.h 713:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ Unsupported node type: non_lvalue_expr - arg - initial
+ Unsupported node type: non_lvalue_expr - arg - initial
return_expr crashtest2.h 716:55 - statement
init_expr - operand
result_decl crashtest2.h 711:38 - operand
@@ -11356,10 +11385,31 @@ function_decl _mm_cvtpi32x2_ps crashtest2.h 711:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - arg
+ call_expr crashtest2.h 714:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __zero crashtest2.h 713:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ Unsupported node type: non_lvalue_expr - arg - initial
var_decl __sfb crashtest2.h 715:10 - arg
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - arg
+ call_expr crashtest2.h 715:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __sfa crashtest2.h 714:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ call_expr crashtest2.h 714:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __zero crashtest2.h 713:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ Unsupported node type: non_lvalue_expr - arg - initial
+ Unsupported node type: non_lvalue_expr - arg - initial
block - operand
var_decl __zero crashtest2.h 713:10 - block vars
- isUsed: 1
@@ -11369,10 +11419,31 @@ function_decl _mm_cvtpi32x2_ps crashtest2.h 711:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ call_expr crashtest2.h 714:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __zero crashtest2.h 713:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ Unsupported node type: non_lvalue_expr - arg - initial
var_decl __sfb crashtest2.h 715:10 - block vars
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ call_expr crashtest2.h 715:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __sfa crashtest2.h 714:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ call_expr crashtest2.h 714:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __zero crashtest2.h 713:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ Unsupported node type: non_lvalue_expr - arg - initial
+ Unsupported node type: non_lvalue_expr - arg - initial
function_decl _mm_cvtps_pi16 crashtest2.h 721:1
- isExternal: 1
- isPublic: 1
@@ -11403,27 +11474,73 @@ function_decl _mm_cvtps_pi16 crashtest2.h 721:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
statement_list - operand
decl_expr crashtest2.h 723:27 - statement
var_decl __hisf crashtest2.h 723:10 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
decl_expr crashtest2.h 724:57 - statement
var_decl __losf crashtest2.h 724:10 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ call_expr crashtest2.h 724:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __hisf crashtest2.h 723:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
+ var_decl __hisf crashtest2.h 723:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
decl_expr crashtest2.h 725:50 - statement
var_decl __hisi crashtest2.h 725:10 - operand
- isUsed: 1
integer_cst 64 - decl size
Unsupported node type: vector_type - var type - operand
+ call_expr crashtest2.h 725:43 - initial
+ - function: LOAD_LANES - initial
+ var_decl __hisf crashtest2.h 723:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
decl_expr crashtest2.h 726:50 - statement
var_decl __losi crashtest2.h 726:10 - operand
- isUsed: 1
integer_cst 64 - decl size
Unsupported node type: vector_type - var type - operand
+ call_expr crashtest2.h 726:43 - initial
+ - function: LOAD_LANES - initial
+ var_decl __losf crashtest2.h 724:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ call_expr crashtest2.h 724:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __hisf crashtest2.h 723:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
+ var_decl __hisf crashtest2.h 723:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
return_expr crashtest2.h 727:57 - statement
init_expr - operand
result_decl crashtest2.h 721:26 - operand
@@ -11436,18 +11553,62 @@ function_decl _mm_cvtps_pi16 crashtest2.h 721:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
var_decl __losf crashtest2.h 724:10 - block vars
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ call_expr crashtest2.h 724:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __hisf crashtest2.h 723:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
+ var_decl __hisf crashtest2.h 723:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
var_decl __hisi crashtest2.h 725:10 - block vars
- isUsed: 1
integer_cst 64 - decl size
Unsupported node type: vector_type - var type - block vars
+ call_expr crashtest2.h 725:43 - initial
+ - function: LOAD_LANES - initial
+ var_decl __hisf crashtest2.h 723:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
var_decl __losi crashtest2.h 726:10 - block vars
- isUsed: 1
integer_cst 64 - decl size
Unsupported node type: vector_type - var type - block vars
+ call_expr crashtest2.h 726:43 - initial
+ - function: LOAD_LANES - initial
+ var_decl __losf crashtest2.h 724:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ call_expr crashtest2.h 724:42 - initial
+ - function: LOAD_LANES - initial
+ var_decl __hisf crashtest2.h 723:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
+ var_decl __hisf crashtest2.h 723:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 721:23 - initial
function_decl _mm_cvtps_pi8 crashtest2.h 732:1
- isExternal: 1
- isPublic: 1
@@ -12746,12 +12907,26 @@ function_decl _mm_loadr_ps crashtest2.h 936:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ indirect_ref - initial
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl __P crashtest2.h 936:28 - operand
+ pointer_type - decl type
+ Unsupported node type: real_type - nested type - decl type
+ integer_cst 64 - parm size
statement_list - operand
decl_expr crashtest2.h 938:29 - statement
var_decl __tmp crashtest2.h 938:10 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ indirect_ref - initial
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl __P crashtest2.h 936:28 - operand
+ pointer_type - decl type
+ Unsupported node type: real_type - nested type - decl type
+ integer_cst 64 - parm size
return_expr crashtest2.h 939:77 - statement
init_expr - operand
result_decl crashtest2.h 936:31 - operand
@@ -12764,16 +12939,37 @@ function_decl _mm_loadr_ps crashtest2.h 936:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - arg
+ indirect_ref - initial
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl __P crashtest2.h 936:28 - operand
+ pointer_type - decl type
+ Unsupported node type: real_type - nested type - decl type
+ integer_cst 64 - parm size
var_decl __tmp crashtest2.h 938:10 - arg
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - arg
+ indirect_ref - initial
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl __P crashtest2.h 936:28 - operand
+ pointer_type - decl type
+ Unsupported node type: real_type - nested type - decl type
+ integer_cst 64 - parm size
integer_cst 27 - arg
block - operand
var_decl __tmp crashtest2.h 938:10 - block vars
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ indirect_ref - initial
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl __P crashtest2.h 936:28 - operand
+ pointer_type - decl type
+ Unsupported node type: real_type - nested type - decl type
+ integer_cst 64 - parm size
function_decl _mm_set_ps crashtest2.h 944:1
- isExternal: 1
- isPublic: 1
@@ -13100,17 +13296,36 @@ function_decl _mm_store1_ps crashtest2.h 985:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ - isUsed: 1
+ parm_decl __A crashtest2.h 985:35 - initial
statement_list - operand
decl_expr crashtest2.h 987:25 - statement
var_decl __va crashtest2.h 987:10 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ - isUsed: 1
+ parm_decl __A crashtest2.h 985:35 - initial
decl_expr crashtest2.h 988:74 - statement
var_decl __tmp crashtest2.h 988:10 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ call_expr crashtest2.h 988:40 - initial
+ - function: LOAD_LANES - initial
+ var_decl __va crashtest2.h 987:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 985:35 - initial
+ var_decl __va crashtest2.h 987:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 985:35 - initial
+ integer_cst 0 - arg
cleanup_point_expr crashtest2.h 989:29 - statement
expr_stmt - operand
call_expr crashtest2.h 989:17 - expresssion
@@ -13124,15 +13339,47 @@ function_decl _mm_store1_ps crashtest2.h 985:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - arg
+ call_expr crashtest2.h 988:40 - initial
+ - function: LOAD_LANES - initial
+ var_decl __va crashtest2.h 987:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 985:35 - initial
+ var_decl __va crashtest2.h 987:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 985:35 - initial
+ integer_cst 0 - arg
block - operand
var_decl __va crashtest2.h 987:10 - block vars
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ - isUsed: 1
+ parm_decl __A crashtest2.h 985:35 - initial
var_decl __tmp crashtest2.h 988:10 - block vars
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ call_expr crashtest2.h 988:40 - initial
+ - function: LOAD_LANES - initial
+ var_decl __va crashtest2.h 987:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 985:35 - initial
+ var_decl __va crashtest2.h 987:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 985:35 - initial
+ integer_cst 0 - arg
function_decl _mm_store_ps1 crashtest2.h 993:1
- isExternal: 1
- isPublic: 1
@@ -13223,17 +13470,36 @@ function_decl _mm_storer_ps crashtest2.h 1000:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ - isUsed: 1
+ parm_decl __A crashtest2.h 1000:35 - initial
statement_list - operand
decl_expr crashtest2.h 1002:25 - statement
var_decl __va crashtest2.h 1002:10 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ - isUsed: 1
+ parm_decl __A crashtest2.h 1000:35 - initial
decl_expr crashtest2.h 1003:74 - statement
var_decl __tmp crashtest2.h 1003:10 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ call_expr crashtest2.h 1003:40 - initial
+ - function: LOAD_LANES - initial
+ var_decl __va crashtest2.h 1002:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 1000:35 - initial
+ var_decl __va crashtest2.h 1002:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 1000:35 - initial
+ integer_cst 27 - arg
cleanup_point_expr crashtest2.h 1004:28 - statement
expr_stmt - operand
call_expr crashtest2.h 1004:16 - expresssion
@@ -13247,15 +13513,47 @@ function_decl _mm_storer_ps crashtest2.h 1000:1
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - arg
+ call_expr crashtest2.h 1003:40 - initial
+ - function: LOAD_LANES - initial
+ var_decl __va crashtest2.h 1002:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 1000:35 - initial
+ var_decl __va crashtest2.h 1002:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 1000:35 - initial
+ integer_cst 27 - arg
block - operand
var_decl __va crashtest2.h 1002:10 - block vars
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ - isUsed: 1
+ parm_decl __A crashtest2.h 1000:35 - initial
var_decl __tmp crashtest2.h 1003:10 - block vars
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ call_expr crashtest2.h 1003:40 - initial
+ - function: LOAD_LANES - initial
+ var_decl __va crashtest2.h 1002:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 1000:35 - initial
+ var_decl __va crashtest2.h 1002:10 - arg
+ - isUsed: 1
+ integer_cst 128 - decl size
+ Unsupported node type: vector_type - var type - arg
+ - isUsed: 1
+ parm_decl __A crashtest2.h 1000:35 - initial
+ integer_cst 27 - arg
function_decl _mm_move_ss crashtest2.h 1009:1
- isExternal: 1
- isPublic: 1
@@ -14584,12 +14882,16 @@ function_decl _mm_undefined_pd /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 97:11 - initial
+ - isUsed: 1
statement_list - operand
decl_expr /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 97:17 - statement
var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 97:11 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 97:11 - initial
+ - isUsed: 1
return_expr /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 98:10 - statement
init_expr - operand
result_decl /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 95:23 - operand
@@ -14600,11 +14902,15 @@ function_decl _mm_undefined_pd /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 97:11 - initial
+ - isUsed: 1
block - operand
var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 97:11 - block vars
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 97:11 - initial
+ - isUsed: 1
function_decl _mm_setzero_pd /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 103:1
- isExternal: 1
- isPublic: 1
@@ -15984,12 +16290,20 @@ function_decl _mm_sqrt_sd /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 29
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ call_expr /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 298:39 - initial
+ - function: LOAD_LANES - initial
+ Unsupported node type: non_lvalue_expr - arg - initial
+ Unsupported node type: non_lvalue_expr - arg - initial
statement_list - operand
decl_expr /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 298:64 - statement
var_decl __tmp /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 298:10 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ call_expr /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 298:39 - initial
+ - function: LOAD_LANES - initial
+ Unsupported node type: non_lvalue_expr - arg - initial
+ Unsupported node type: non_lvalue_expr - arg - initial
return_expr /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 299:55 - statement
init_expr - operand
result_decl /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 296:38 - operand
@@ -16004,6 +16318,10 @@ function_decl _mm_sqrt_sd /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 29
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ call_expr /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 298:39 - initial
+ - function: LOAD_LANES - initial
+ Unsupported node type: non_lvalue_expr - arg - initial
+ Unsupported node type: non_lvalue_expr - arg - initial
function_decl _mm_min_pd /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 303:1
- isExternal: 1
- isPublic: 1
@@ -20858,12 +21176,16 @@ function_decl _mm_undefined_si128 /usr/lib/gcc/x86_64-linux-gnu/5/include/emmint
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 747:11 - initial
+ - isUsed: 1
statement_list - operand
decl_expr /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 747:17 - statement
var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 747:11 - operand
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 747:11 - initial
+ - isUsed: 1
return_expr /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 748:10 - statement
init_expr - operand
result_decl /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 745:26 - operand
@@ -20874,11 +21196,15 @@ function_decl _mm_undefined_si128 /usr/lib/gcc/x86_64-linux-gnu/5/include/emmint
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - operand
+ var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 747:11 - initial
+ - isUsed: 1
block - operand
var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 747:11 - block vars
- isUsed: 1
integer_cst 128 - decl size
Unsupported node type: vector_type - var type - block vars
+ var_decl __Y /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 747:11 - initial
+ - isUsed: 1
function_decl _mm_setzero_si128 /usr/lib/gcc/x86_64-linux-gnu/5/include/emmintrin.h 753:1
- isExternal: 1
- isPublic: 1
diff --git a/test/test1-01.txt b/test/test1-01.txt
index c550fbf..6ddfb33 100644
--- a/test/test1-01.txt
+++ b/test/test1-01.txt
@@ -370,6 +370,7 @@ function_decl fun test1.c 21:6
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 1 - initial
cleanup_point_expr test1.c 26:6 - else
expr_stmt - operand
convert_expr - expresssion
@@ -468,6 +469,7 @@ function_decl fun1 test1.c 29:5
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 0 - initial
statement_list - operand
cleanup_point_expr test1.c 31:8 - statement
decl_expr test1.c 31:8 - operand
@@ -482,6 +484,7 @@ function_decl fun1 test1.c 29:5
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 0 - initial
cleanup_point_expr test1.c 31:16 - statement
decl_expr test1.c 31:16 - operand
var_decl b test1.c 31:14 - operand
@@ -495,6 +498,7 @@ function_decl fun1 test1.c 29:5
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 1 - initial
cleanup_point_expr test1.c 32:5 - statement
expr_stmt - operand
convert_expr - expresssion
@@ -510,6 +514,7 @@ function_decl fun1 test1.c 29:5
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 1 - initial
var_decl b test1.c 31:14 - operand
- isUsed: 1
integer_cst 32 - decl size
@@ -521,6 +526,7 @@ function_decl fun1 test1.c 29:5
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 1 - initial
cleanup_point_expr test1.c 33:10 - statement
expr_stmt - operand
call_expr test1.c 33:5 - expresssion
@@ -540,6 +546,7 @@ function_decl fun1 test1.c 29:5
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 0 - initial
integer_cst 0 - operand
return_expr test1.c 35:12 - then
init_expr - operand
@@ -566,6 +573,7 @@ function_decl fun1 test1.c 29:5
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 0 - initial
var_decl b test1.c 31:14 - operand
- isUsed: 1
integer_cst 32 - decl size
@@ -577,6 +585,7 @@ function_decl fun1 test1.c 29:5
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 1 - initial
return_expr test1.c 36:14 - else
init_expr - operand
result_decl test1.c 29:30 - operand
@@ -603,6 +612,7 @@ function_decl fun1 test1.c 29:5
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 0 - initial
var_decl b test1.c 31:14 - block vars
- isUsed: 1
integer_cst 32 - decl size
@@ -614,6 +624,7 @@ function_decl fun1 test1.c 29:5
integer_cst 32 - type size
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
+ integer_cst 1 - initial
function_decl fun2 test1.c 38:6
- isPublic: 1
function_type - function type
diff --git a/test/test1-02.txt b/test/test1-02.txt
index a95e5e0..533c13b 100644
--- a/test/test1-02.txt
+++ b/test/test1-02.txt
@@ -254,6 +254,7 @@
9 integer_cst
9 integer_cst
9 integer_cst
+8 integer_cst
2 cleanup_point_expr test1.c
3 expr_stmt
4 convert_expr
@@ -323,6 +324,7 @@
4 integer_cst
4 integer_cst
4 integer_cst
+3 integer_cst
2 statement_list
3 cleanup_point_expr test1.c
4 decl_expr test1.c
@@ -333,6 +335,7 @@
7 integer_cst
7 integer_cst
7 integer_cst
+6 integer_cst
3 cleanup_point_expr test1.c
4 decl_expr test1.c
5 var_decl test1.c
@@ -342,6 +345,7 @@
7 integer_cst
7 integer_cst
7 integer_cst
+6 integer_cst
3 cleanup_point_expr test1.c
4 expr_stmt
5 convert_expr
@@ -353,6 +357,7 @@
9 integer_cst
9 integer_cst
9 integer_cst
+8 integer_cst
7 var_decl test1.c
8 integer_cst
8 integer_type
@@ -360,6 +365,7 @@
9 integer_cst
9 integer_cst
9 integer_cst
+8 integer_cst
3 cleanup_point_expr test1.c
4 expr_stmt
5 call_expr test1.c
@@ -374,6 +380,7 @@
7 integer_cst
7 integer_cst
7 integer_cst
+6 integer_cst
5 integer_cst
4 return_expr test1.c
5 init_expr
@@ -392,6 +399,7 @@
9 integer_cst
9 integer_cst
9 integer_cst
+8 integer_cst
7 var_decl test1.c
8 integer_cst
8 integer_type
@@ -399,6 +407,7 @@
9 integer_cst
9 integer_cst
9 integer_cst
+8 integer_cst
4 return_expr test1.c
5 init_expr
6 result_decl test1.c
@@ -417,6 +426,7 @@
5 integer_cst
5 integer_cst
5 integer_cst
+4 integer_cst
3 var_decl test1.c
4 integer_cst
4 integer_type
@@ -424,6 +434,7 @@
5 integer_cst
5 integer_cst
5 integer_cst
+4 integer_cst
0 function_decl test1.c
1 function_type
2 integer_type
diff --git a/test/test1-03.txt b/test/test1-03.txt
index 8056416..ced6511 100644
--- a/test/test1-03.txt
+++ b/test/test1-03.txt
@@ -2,9 +2,9 @@ Allocations before cleanup: 80
Allocations after cleanup: 0
Allocations before cleanup: 96
Allocations after cleanup: 0
-Allocations before cleanup: 92
+Allocations before cleanup: 93
Allocations after cleanup: 0
-Allocations before cleanup: 158
+Allocations before cleanup: 168
Allocations after cleanup: 0
Allocations before cleanup: 50
Allocations after cleanup: 0
diff --git a/test/test4-03.txt b/test/test4-03.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/test4-03.txt
diff --git a/test/test5-01.txt b/test/test5-01.txt
index ebeb2ab..3354491 100644
--- a/test/test5-01.txt
+++ b/test/test5-01.txt
@@ -1,4 +1,4 @@
-function_decl func1 test5.c 4:6
+function_decl func1 test5.c 10:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -37,12 +37,12 @@ function_decl func1 test5.c 4:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test5.c 4:33 - function result
+ result_decl test5.c 10:33 - function result
- isAutogenerated: 1
void_type - result type
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- parm_decl a test5.c 4:16 - argument
+ parm_decl a test5.c 10:16 - argument
integer_type - decl type
- precisionBits: 32
- signed
@@ -53,7 +53,7 @@ function_decl func1 test5.c 4:6
integer_cst 2147483647 - max value
integer_cst 32 - parm size
- isUsed: 1
- parm_decl b test5.c 4:24 - argument
+ parm_decl b test5.c 10:24 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -64,7 +64,7 @@ function_decl func1 test5.c 4:6
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
integer_cst 64 - parm size
- parm_decl c test5.c 4:32 - argument
+ parm_decl c test5.c 10:32 - argument
integer_type - decl type
- precisionBits: 32
- signed
@@ -74,13 +74,13 @@ function_decl func1 test5.c 4:6
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
integer_cst 8 - parm size
- cleanup_point_expr test5.c 6:13 - code
+ cleanup_point_expr test5.c 12:13 - code
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- isUsed: 1
- parm_decl b test5.c 4:24 - operand
+ parm_decl b test5.c 10:24 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -92,7 +92,7 @@ function_decl func1 test5.c 4:6
integer_cst 2147483647 - max value
integer_cst 64 - parm size
integer_cst 100 - operand
-function_decl func2 test5.c 9:6
+function_decl func2 test5.c 15:6
- isPublic: 1
function_type - function type
void_type - function return type
@@ -131,12 +131,12 @@ function_decl func2 test5.c 9:6
void_type - value
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- result_decl test5.c 9:33 - function result
+ result_decl test5.c 15:33 - function result
- isAutogenerated: 1
void_type - result type
type_decl void <built-in> 0:0 - type name
- isAutogenerated: 1
- parm_decl a test5.c 9:16 - argument
+ parm_decl a test5.c 15:16 - argument
integer_type - decl type
- precisionBits: 32
- signed
@@ -147,7 +147,7 @@ function_decl func2 test5.c 9:6
integer_cst 2147483647 - max value
integer_cst 32 - parm size
- isUsed: 1
- parm_decl b test5.c 9:24 - argument
+ parm_decl b test5.c 15:24 - argument
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -158,7 +158,7 @@ function_decl func2 test5.c 9:6
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
integer_cst 64 - parm size
- parm_decl c test5.c 9:32 - argument
+ parm_decl c test5.c 15:32 - argument
integer_type - decl type
- precisionBits: 32
- signed
@@ -168,14 +168,14 @@ function_decl func2 test5.c 9:6
integer_cst -2147483648 - min value
integer_cst 2147483647 - max value
integer_cst 8 - parm size
- cleanup_point_expr test5.c 11:19 - code
+ cleanup_point_expr test5.c 17:19 - code
expr_stmt - operand
convert_expr - expresssion
modify_expr - operand
indirect_ref - operand
- pointer_plus_expr test5.c 11:9 - operand
+ pointer_plus_expr test5.c 17:9 - operand
- isUsed: 1
- parm_decl b test5.c 9:24 - operand
+ parm_decl b test5.c 15:24 - operand
pointer_type - decl type
integer_type - nested type
- precisionBits: 32
@@ -188,3 +188,774 @@ function_decl func2 test5.c 9:6
integer_cst 64 - parm size
integer_cst 4 - operand
integer_cst 200 - operand
+function_decl func3 test5.c 20: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
+ integer_type - value
+ - 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
+ 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
+ integer_type - value
+ - precisionBits: 8
+ - isChar: 1
+ - signed
+ type_decl char <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 8 - type size
+ integer_cst -128 - min value
+ integer_cst 127 - max value
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test5.c 20:33 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl a test5.c 20:16 - argument
+ integer_type - decl 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 32 - parm size
+ - isUsed: 1
+ parm_decl b test5.c 20:24 - 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
+ parm_decl c test5.c 20:32 - argument
+ integer_type - decl 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 8 - parm size
+ cleanup_point_expr test5.c 22:25 - code
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ pointer_plus_expr test5.c 22:9 - operand
+ - isUsed: 1
+ parm_decl b test5.c 20:24 - 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 8 - operand
+ integer_cst 300 - operand
+function_decl func5 test5.c 25: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
+ integer_type - value
+ - 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
+ 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
+ integer_type - value
+ - precisionBits: 8
+ - isChar: 1
+ - signed
+ type_decl char <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 8 - type size
+ integer_cst -128 - min value
+ integer_cst 127 - max value
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test5.c 25:33 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl a test5.c 25:16 - argument
+ integer_type - decl 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 32 - parm size
+ - isUsed: 1
+ parm_decl b test5.c 25:24 - 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
+ parm_decl c test5.c 25:32 - argument
+ integer_type - decl 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 8 - parm size
+ bind_expr test5.c 28:22 - code
+ var_decl var1 test5.c 27:9 - operand
+ - isUsed: 1
+ 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 1 - initial
+ statement_list - operand
+ cleanup_point_expr test5.c 27:16 - statement
+ decl_expr test5.c 27:16 - operand
+ var_decl var1 test5.c 27:9 - operand
+ - isUsed: 1
+ 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 1 - initial
+ cleanup_point_expr test5.c 28:22 - statement
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ pointer_plus_expr test5.c 28:12 - operand
+ - isUsed: 1
+ parm_decl b test5.c 25:24 - 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
+ nop_expr - operand
+ mult_expr - operand
+ nop_expr - operand
+ var_decl var1 test5.c 27:9 - operand
+ - isUsed: 1
+ 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 1 - initial
+ integer_cst 4 - operand
+ integer_cst 400 - operand
+ block - operand
+ var_decl var1 test5.c 27:9 - block vars
+ - isUsed: 1
+ 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 1 - initial
+function_decl func6 test5.c 31: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
+ integer_type - value
+ - 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
+ 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
+ integer_type - value
+ - precisionBits: 8
+ - isChar: 1
+ - signed
+ type_decl char <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 8 - type size
+ integer_cst -128 - min value
+ integer_cst 127 - max value
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test5.c 31:33 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl a test5.c 31:16 - argument
+ integer_type - decl 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 32 - parm size
+ - isUsed: 1
+ parm_decl b test5.c 31:24 - 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
+ parm_decl c test5.c 31:32 - argument
+ integer_type - decl 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 8 - parm size
+ bind_expr test5.c 34:16 - code
+ var_decl var2 test5.c 33:10 - operand
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var 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
+ - isUsed: 1
+ parm_decl b test5.c 31:24 - initial
+ statement_list - operand
+ decl_expr test5.c 33:17 - statement
+ var_decl var2 test5.c 33:10 - operand
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var 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
+ - isUsed: 1
+ parm_decl b test5.c 31:24 - initial
+ cleanup_point_expr test5.c 34:16 - statement
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ var_decl var2 test5.c 33:10 - operand
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var 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
+ - isUsed: 1
+ parm_decl b test5.c 31:24 - initial
+ integer_cst 500 - operand
+ block - operand
+ var_decl var2 test5.c 33:10 - block vars
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var 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
+ - isUsed: 1
+ parm_decl b test5.c 31:24 - initial
+function_decl func7 test5.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
+ integer_type - value
+ - 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
+ 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
+ integer_type - value
+ - precisionBits: 8
+ - isChar: 1
+ - signed
+ type_decl char <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 8 - type size
+ integer_cst -128 - min value
+ integer_cst 127 - max value
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test5.c 37:33 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl a test5.c 37:16 - argument
+ integer_type - decl 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 32 - parm size
+ - isUsed: 1
+ parm_decl b test5.c 37:24 - 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
+ parm_decl c test5.c 37:32 - argument
+ integer_type - decl 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 8 - parm size
+ bind_expr test5.c 40:16 - code
+ var_decl var3 test5.c 39:10 - operand
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var 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
+ pointer_plus_expr test5.c 39:20 - initial
+ - isUsed: 1
+ parm_decl b test5.c 37:24 - 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 48 - operand
+ statement_list - operand
+ decl_expr test5.c 39:22 - statement
+ var_decl var3 test5.c 39:10 - operand
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var 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
+ pointer_plus_expr test5.c 39:20 - initial
+ - isUsed: 1
+ parm_decl b test5.c 37:24 - 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 48 - operand
+ cleanup_point_expr test5.c 40:16 - statement
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ var_decl var3 test5.c 39:10 - operand
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var 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
+ pointer_plus_expr test5.c 39:20 - initial
+ - isUsed: 1
+ parm_decl b test5.c 37:24 - 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 48 - operand
+ integer_cst 600 - operand
+ block - operand
+ var_decl var3 test5.c 39:10 - block vars
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var 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
+ pointer_plus_expr test5.c 39:20 - initial
+ - isUsed: 1
+ parm_decl b test5.c 37:24 - 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 48 - operand
+function_decl func8 test5.c 43: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
+ integer_type - value
+ - 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
+ 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
+ integer_type - value
+ - precisionBits: 8
+ - isChar: 1
+ - signed
+ type_decl char <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 8 - type size
+ integer_cst -128 - min value
+ integer_cst 127 - max value
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test5.c 43:36 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl a test5.c 43:16 - argument
+ integer_type - decl 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 32 - parm size
+ - isUsed: 1
+ parm_decl bptr test5.c 43:24 - 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
+ parm_decl c test5.c 43:35 - argument
+ integer_type - decl 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 8 - parm size
+ bind_expr test5.c 46:17 - code
+ var_decl var4 test5.c 45:11 - operand
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var type
+ pointer_type - nested 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
+ addr_expr - initial
+ - isUsed: 1
+ parm_decl bptr test5.c 43:24 - 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
+ statement_list - operand
+ decl_expr test5.c 45:19 - statement
+ var_decl var4 test5.c 45:11 - operand
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var type
+ pointer_type - nested 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
+ addr_expr - initial
+ - isUsed: 1
+ parm_decl bptr test5.c 43:24 - 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
+ cleanup_point_expr test5.c 46:17 - statement
+ expr_stmt - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ indirect_ref - operand
+ indirect_ref - operand
+ var_decl var4 test5.c 45:11 - operand
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var type
+ pointer_type - nested 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
+ addr_expr - initial
+ - isUsed: 1
+ parm_decl bptr test5.c 43:24 - 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
+ var_decl var4 test5.c 45:11 - block vars
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var type
+ pointer_type - nested 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
+ addr_expr - initial
+ - isUsed: 1
+ parm_decl bptr test5.c 43:24 - 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
diff --git a/test/test5-02.txt b/test/test5-02.txt
index e9557cf..d077f83 100644
--- a/test/test5-02.txt
+++ b/test/test5-02.txt
@@ -1,2 +1,7 @@
func1: pointer_type b,
func2: pointer_type b,
+func3: pointer_type b,
+func5: pointer_type b,
+func6: pointer_type b,
+func7: pointer_type b,
+func8: pointer_type bptr,
diff --git a/test/test5-03.txt b/test/test5-03.txt
index 506dead..0ac71e5 100644
--- a/test/test5-03.txt
+++ b/test/test5-03.txt
@@ -1,4 +1,30 @@
test5.c: In function 'void func1(int, int*, char)':
-test5.c:6:13: warning: Using variable without check for NULL
+test5.c:12:13: warning: Using variable without check for NULL
*b = 100;
^
+test5.c: In function 'void func2(int, int*, char)':
+test5.c:17:9: warning: Using variable without check for NULL
+ *(1 + b) = 200;
+ ^
+test5.c: In function 'void func3(int, int*, char)':
+test5.c:22:9: warning: Using variable without check for NULL
+ *(1 + (1 + b)) = 300;
+ ^
+test5.c: In function 'void func5(int, int*, char)':
+test5.c:28:12: warning: Using variable without check for NULL
+ *(var1 + b) = 400;
+ ^
+test5.c: In function 'void func6(int, int*, char)':
+test5.c:33:10: warning: Using variable without check for NULL
+ int *var2 = b;
+ ^
+test5.c:33:10: warning: Using variable without check for NULL
+test5.c:33:10: warning: Using variable without check for NULL
+test5.c:33:10: warning: Using variable without check for NULL
+test5.c: In function 'void func7(int, int*, char)':
+test5.c:39:20: warning: Using variable without check for NULL
+ int *var3 = 12 + b;
+ ^
+test5.c:39:20: warning: Using variable without check for NULL
+test5.c:39:20: warning: Using variable without check for NULL
+test5.c:39:20: warning: Using variable without check for NULL
diff --git a/test/test5-04.txt b/test/test5-04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/test5-04.txt
diff --git a/test/test5.c b/test/test5.c
index 0312c52..320e202 100644
--- a/test/test5.c
+++ b/test/test5.c
@@ -1,5 +1,11 @@
void func1(int a, int *b, char c);
void func2(int a, int *b, char c);
+void func3(int a, int *b, char c);
+void func4(int a, int *b, char c);
+void func5(int a, int *b, char c);
+void func6(int a, int *b, char c);
+void func7(int a, int *b, char c);
+void func8(int a, int *b, char c);
void func1(int a, int *b, char c)
{
@@ -10,3 +16,32 @@ void func2(int a, int *b, char c)
{
*(1 + b) = 200;
}
+
+void func3(int a, int *b, char c)
+{
+ *(1 + (1 + b)) = 300;
+}
+
+void func5(int a, int *b, char c)
+{
+ int var1 = 1;
+ *(var1 + b) = 400;
+}
+
+void func6(int a, int *b, char c)
+{
+ int *var2 = b;
+ *var2 = 500;
+}
+
+void func7(int a, int *b, char c)
+{
+ int *var3 = 12 + b;
+ *var3 = 600;
+}
+
+void func8(int a, int *bptr, char c)
+{
+ int **var4 = &bptr;
+ **var4 = 700;
+}