summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-07-02 18:03:33 +0300
committerAndrei Karas <akaras@inbox.ru>2015-07-02 18:03:33 +0300
commit739619baa3b04c3e10fecdf0c7ac858c5cefb804 (patch)
treefb9858d157058d712f58bd815e8d085c379a4d12 /test
parent0c6aa5322c99a5a17d4ae3b33a60913117499276 (diff)
downloadparanucker-739619baa3b04c3e10fecdf0c7ac858c5cefb804.tar.gz
paranucker-739619baa3b04c3e10fecdf0c7ac858c5cefb804.tar.bz2
paranucker-739619baa3b04c3e10fecdf0c7ac858c5cefb804.tar.xz
paranucker-739619baa3b04c3e10fecdf0c7ac858c5cefb804.zip
Add test 29.
Diffstat (limited to 'test')
-rw-r--r--test/Makefile15
-rw-r--r--test/test29-01.txt1421
-rw-r--r--test/test29-02.txt4
-rw-r--r--test/test29-03.txt374
-rw-r--r--test/test29-04.txt0
-rw-r--r--test/test29-05.txt0
-rw-r--r--test/test29.cpp86
7 files changed, 1899 insertions, 1 deletions
diff --git a/test/Makefile b/test/Makefile
index a2ad1bd..4dd6af6 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -32,7 +32,8 @@ TESTS25 = $(call TEST,25,5)
TESTS26 = $(call TEST,26,5)
TESTS27 = $(call TEST,27,5)
TESTS28 = $(call TEST,28,5)
-TESTNUMBERS = 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
+TESTS29 = $(call TEST,29,5)
+TESTNUMBERS = 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
ALLTESTS = $(foreach num,$(TESTNUMBERS),test$(num) ${TESTS$(num)})
.PHONY: ${ALLTESTS} ${CRASHES} all crashes
@@ -343,6 +344,18 @@ test28-04:
test28-05:
$(call CMDXX,detectnullpointers,test28.cpp,test28-05.txt,-O2 -std=c++0x -Wall -Wnonnull)
+test29: ${TESTS29}
+test29-01:
+ $(call CMDXX,dump,test29.cpp,test29-01.txt,-std=c++0x)
+test29-02:
+ $(call CMDXX,findargs,test29.cpp,test29-02.txt,-std=c++0x)
+test29-03:
+ $(call CMDXX,dumpnullpointers,test29.cpp,test29-03.txt,-std=c++0x)
+test29-04:
+ $(call CMDXX,detectnullpointers,test29.cpp,test29-04.txt,-std=c++0x)
+test29-05:
+ $(call CMDXX,detectnullpointers,test29.cpp,test29-05.txt,-O2 -std=c++0x -Wall -Wnonnull)
+
crashtest01:
$(call CMDXX,dump,crashtest01.h,crashtest01-01.txt)
crashtest02:
diff --git a/test/test29-01.txt b/test/test29-01.txt
new file mode 100644
index 0000000..8b83a21
--- /dev/null
+++ b/test/test29-01.txt
@@ -0,0 +1,1421 @@
+function_decl getData test29.cpp 23:12
+- isPublic: 1
+ method_type - function type
+ pointer_type - method return type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test29.cpp 24:5 - function result
+ - isAutogenerated: 1
+ pointer_type - result type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - decl size
+ - isUsed: 1
+ parm_decl this test29.cpp 23:20 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ return_expr test29.cpp 25:16 - code
+ init_expr - operand
+ result_decl test29.cpp 24:5 - operand
+ - isAutogenerated: 1
+ pointer_type - result type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - decl size
+ component_ref test29.cpp 25:16 - operand
+ indirect_ref - object
+ nop_expr - ref
+ - isUsed: 1
+ parm_decl this test29.cpp 23:20 - operand
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+function_decl func1 test29.cpp 28:10
+- isPublic: 1
+ method_type - function type
+ void_type - method return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test29.cpp 29:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test29.cpp 28:40 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test29.cpp 28:23 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 28:36 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ cleanup_point_expr test29.cpp 30:62 - statement
+ expr_stmt test29.cpp 30:62 - operand
+ call_expr test29.cpp 30:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ cleanup_point_expr test29.cpp 31:60 - statement
+ expr_stmt test29.cpp 31:60 - operand
+ call_expr test29.cpp 31:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 32:57 - statement
+ expr_stmt test29.cpp 32:57 - operand
+ call_expr test29.cpp 32:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 33:70 - statement
+ expr_stmt test29.cpp 33:70 - operand
+ call_expr test29.cpp 33:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ if_stmt test29.cpp 34:9 - statement
+ eq_expr test29.cpp 34:14 - condition
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 28:36 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ return_expr test29.cpp 35:13 - then
+ cleanup_point_expr test29.cpp 36:62 - statement
+ expr_stmt test29.cpp 36:62 - operand
+ call_expr test29.cpp 36:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ cleanup_point_expr test29.cpp 37:64 - statement
+ expr_stmt test29.cpp 37:64 - operand
+ call_expr test29.cpp 37:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 38:57 - statement
+ expr_stmt test29.cpp 38:57 - operand
+ call_expr test29.cpp 38:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 39:65 - statement
+ expr_stmt test29.cpp 39:65 - operand
+ call_expr test29.cpp 39:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 40:20 - statement
+ expr_stmt test29.cpp 40:20 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test29.cpp 28:23 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 28:36 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ cleanup_point_expr test29.cpp 41:62 - statement
+ expr_stmt test29.cpp 41:62 - operand
+ call_expr test29.cpp 41:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ cleanup_point_expr test29.cpp 42:69 - statement
+ expr_stmt test29.cpp 42:69 - operand
+ call_expr test29.cpp 42:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ cleanup_point_expr test29.cpp 43:57 - statement
+ expr_stmt test29.cpp 43:57 - operand
+ call_expr test29.cpp 43:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 44:61 - statement
+ expr_stmt test29.cpp 44:61 - operand
+ call_expr test29.cpp 44:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+function_decl func2 test29.cpp 47:10
+- isPublic: 1
+ method_type - function type
+ void_type - method return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data2 test29.cpp 10:8 - type name
+ - isAutogenerated: 1
+ field_decl test29.cpp 10:8 - field
+ - signed
+ - isAutogenerated: 1
+ integer_cst 256 - decl size
+ type_decl Data2 test29.cpp 11:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test29.cpp 48:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test29.cpp 47:40 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test29.cpp 47:23 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 47:36 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data2 test29.cpp 10:8 - type name
+ - isAutogenerated: 1
+ field_decl test29.cpp 10:8 - field
+ - signed
+ - isAutogenerated: 1
+ integer_cst 256 - decl size
+ type_decl Data2 test29.cpp 11:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ cleanup_point_expr test29.cpp 49:62 - statement
+ expr_stmt test29.cpp 49:62 - operand
+ call_expr test29.cpp 49:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ cleanup_point_expr test29.cpp 50:60 - statement
+ expr_stmt test29.cpp 50:60 - operand
+ call_expr test29.cpp 50:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 51:57 - statement
+ expr_stmt test29.cpp 51:57 - operand
+ call_expr test29.cpp 51:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 52:70 - statement
+ expr_stmt test29.cpp 52:70 - operand
+ call_expr test29.cpp 52:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ if_stmt test29.cpp 53:9 - statement
+ eq_expr test29.cpp 53:14 - condition
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 47:36 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data2 test29.cpp 10:8 - type name
+ - isAutogenerated: 1
+ field_decl test29.cpp 10:8 - field
+ - signed
+ - isAutogenerated: 1
+ integer_cst 256 - decl size
+ type_decl Data2 test29.cpp 11:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ return_expr test29.cpp 54:13 - then
+ cleanup_point_expr test29.cpp 55:62 - statement
+ expr_stmt test29.cpp 55:62 - operand
+ call_expr test29.cpp 55:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ cleanup_point_expr test29.cpp 56:64 - statement
+ expr_stmt test29.cpp 56:64 - operand
+ call_expr test29.cpp 56:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 57:57 - statement
+ expr_stmt test29.cpp 57:57 - operand
+ call_expr test29.cpp 57:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 58:65 - statement
+ expr_stmt test29.cpp 58:65 - operand
+ call_expr test29.cpp 58:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 59:42 - statement
+ expr_stmt test29.cpp 59:42 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test29.cpp 47:23 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ nop_expr - operand
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 47:36 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data2 test29.cpp 10:8 - type name
+ - isAutogenerated: 1
+ field_decl test29.cpp 10:8 - field
+ - signed
+ - isAutogenerated: 1
+ integer_cst 256 - decl size
+ type_decl Data2 test29.cpp 11:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ cleanup_point_expr test29.cpp 60:62 - statement
+ expr_stmt test29.cpp 60:62 - operand
+ call_expr test29.cpp 60:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ cleanup_point_expr test29.cpp 61:69 - statement
+ expr_stmt test29.cpp 61:69 - operand
+ call_expr test29.cpp 61:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ cleanup_point_expr test29.cpp 62:57 - statement
+ expr_stmt test29.cpp 62:57 - operand
+ call_expr test29.cpp 62:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 63:61 - statement
+ expr_stmt test29.cpp 63:61 - operand
+ call_expr test29.cpp 63:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+function_decl func3 test29.cpp 66:12
+- isPublic: 1
+ method_type - function type
+ pointer_type - method return type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test29.cpp 67:5 - function result
+ - isAutogenerated: 1
+ pointer_type - result type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - decl size
+ parm_decl this test29.cpp 66:29 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 66:25 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ bind_expr test29.cpp 84:20 - code
+ var_decl ptr1 test29.cpp 68:16 - operand
+ - isUsed: 1
+ integer_cst 64 - decl size
+ pointer_type - var type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ statement_list - operand
+ decl_expr test29.cpp 68:16 - statement
+ var_decl ptr1 test29.cpp 68:16 - operand
+ - isUsed: 1
+ cleanup_point_expr test29.cpp 69:57 - statement
+ expr_stmt test29.cpp 69:57 - operand
+ call_expr test29.cpp 69:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 70:60 - statement
+ expr_stmt test29.cpp 70:60 - operand
+ call_expr test29.cpp 70:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 71:57 - statement
+ expr_stmt test29.cpp 71:57 - operand
+ call_expr test29.cpp 71:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 72:65 - statement
+ expr_stmt test29.cpp 72:65 - operand
+ call_expr test29.cpp 72:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ if_stmt test29.cpp 73:9 - statement
+ eq_expr test29.cpp 73:14 - condition
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 66:25 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ return_expr test29.cpp 74:20 - then
+ init_expr - operand
+ result_decl test29.cpp 67:5 - operand
+ - isAutogenerated: 1
+ pointer_type - result type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - decl size
+ integer_cst 0 - operand
+ cleanup_point_expr test29.cpp 75:57 - statement
+ expr_stmt test29.cpp 75:57 - operand
+ call_expr test29.cpp 75:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 76:64 - statement
+ expr_stmt test29.cpp 76:64 - operand
+ call_expr test29.cpp 76:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 77:57 - statement
+ expr_stmt test29.cpp 77:57 - operand
+ call_expr test29.cpp 77:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 78:61 - statement
+ expr_stmt test29.cpp 78:61 - operand
+ call_expr test29.cpp 78:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 79:20 - statement
+ expr_stmt test29.cpp 79:20 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl ptr1 test29.cpp 68:16 - operand
+ - isUsed: 1
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 66:25 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ cleanup_point_expr test29.cpp 80:62 - statement
+ expr_stmt test29.cpp 80:62 - operand
+ call_expr test29.cpp 80:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ cleanup_point_expr test29.cpp 81:69 - statement
+ expr_stmt test29.cpp 81:69 - operand
+ call_expr test29.cpp 81:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr1 ptr2 - operand
+ - stringLength: 10
+ cleanup_point_expr test29.cpp 82:57 - statement
+ expr_stmt test29.cpp 82:57 - operand
+ call_expr test29.cpp 82:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 83:61 - statement
+ expr_stmt test29.cpp 83:61 - operand
+ call_expr test29.cpp 83:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ return_expr test29.cpp 84:16 - statement
+ init_expr - operand
+ result_decl test29.cpp 67:5 - operand
+ - isAutogenerated: 1
+ pointer_type - result type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - decl size
+ var_decl ptr1 test29.cpp 68:16 - operand
+ - isUsed: 1
+ block - operand
+ var_decl ptr1 test29.cpp 68:16 - block vars
+ - isUsed: 1
diff --git a/test/test29-02.txt b/test/test29-02.txt
new file mode 100644
index 0000000..1a4bf26
--- /dev/null
+++ b/test/test29-02.txt
@@ -0,0 +1,4 @@
+getData:
+func1: pointer_type ptr1, pointer_type ptr2,
+func2: pointer_type ptr1, pointer_type ptr2,
+func3: pointer_type ptr2,
diff --git a/test/test29-03.txt b/test/test29-03.txt
new file mode 100644
index 0000000..a065e47
--- /dev/null
+++ b/test/test29-03.txt
@@ -0,0 +1,374 @@
+function_decl getData:
+return_expr :
+init_expr :
+result_decl :
+pointer_type :
+record_type :
+type_decl Data1:
+field_decl val:
+integer_cst 32:
+field_decl ptrval:
+integer_cst 64:
+field_decl arr:
+integer_cst 96:
+type_decl Data1:
+integer_cst 64:
+component_ref :
+indirect_ref :
+parm_decl this:
+pointer_type :
+record_type :
+type_decl Object1:
+field_decl tmp1:
+integer_cst 64:
+field_decl tmp2:
+integer_cst 64:
+type_decl Object1:
+integer_cst 64:
+field_decl tmp1:
+integer_cst 64:
+function_decl func1:
+statement_list : ptr1, ptr2,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1, ptr2,
+call_expr : ptr1, ptr2,
+addr_expr : ptr1, ptr2,
+function_decl paranuckerInternalTest: ptr1, ptr2,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1, ptr2,
+call_expr : ptr1, ptr2,
+addr_expr : ptr1, ptr2,
+function_decl paranuckerInternalTest: ptr1, ptr2,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1, ptr2,
+call_expr : ptr1, ptr2,
+addr_expr : ptr1, ptr2,
+function_decl paranuckerInternalTest: ptr1, ptr2,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1, ptr2,
+call_expr : ptr1, ptr2,
+addr_expr : ptr1, ptr2,
+function_decl paranuckerInternalTest: ptr1, ptr2,
+if_stmt : ptr1, ptr2,
+eq_expr : ptr1, ptr2,
+parm_decl ptr2: ptr1, ptr2,
+pointer_type : ptr1, ptr2,
+record_type : ptr1, ptr2,
+type_decl Data1: ptr1, ptr2,
+field_decl val: ptr1, ptr2,
+integer_cst 32: ptr1, ptr2,
+field_decl ptrval: ptr1, ptr2,
+integer_cst 64: ptr1, ptr2,
+field_decl arr: ptr1, ptr2,
+integer_cst 96: ptr1, ptr2,
+type_decl Data1: ptr1, ptr2,
+integer_cst 64: ptr1, ptr2,
+integer_cst 0: ptr1, ptr2,
+return_expr : ptr1, ptr2,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+parm_decl ptr1:
+pointer_type :
+record_type :
+type_decl Data1:
+field_decl val:
+integer_cst 32:
+field_decl ptrval:
+integer_cst 64:
+field_decl arr:
+integer_cst 96:
+type_decl Data1:
+integer_cst 64:
+parm_decl ptr2:
+pointer_type :
+record_type :
+type_decl Data1:
+field_decl val:
+integer_cst 32:
+field_decl ptrval:
+integer_cst 64:
+field_decl arr:
+integer_cst 96:
+type_decl Data1:
+integer_cst 64:
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+function_decl func2:
+statement_list : ptr1, ptr2,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1, ptr2,
+call_expr : ptr1, ptr2,
+addr_expr : ptr1, ptr2,
+function_decl paranuckerInternalTest: ptr1, ptr2,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1, ptr2,
+call_expr : ptr1, ptr2,
+addr_expr : ptr1, ptr2,
+function_decl paranuckerInternalTest: ptr1, ptr2,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1, ptr2,
+call_expr : ptr1, ptr2,
+addr_expr : ptr1, ptr2,
+function_decl paranuckerInternalTest: ptr1, ptr2,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1, ptr2,
+call_expr : ptr1, ptr2,
+addr_expr : ptr1, ptr2,
+function_decl paranuckerInternalTest: ptr1, ptr2,
+if_stmt : ptr1, ptr2,
+eq_expr : ptr1, ptr2,
+parm_decl ptr2: ptr1, ptr2,
+pointer_type : ptr1, ptr2,
+record_type : ptr1, ptr2,
+type_decl Data2: ptr1, ptr2,
+field_decl : ptr1, ptr2,
+integer_cst 256: ptr1, ptr2,
+type_decl Data2: ptr1, ptr2,
+integer_cst 64: ptr1, ptr2,
+integer_cst 0: ptr1, ptr2,
+return_expr : ptr1, ptr2,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+parm_decl ptr1:
+pointer_type :
+record_type :
+type_decl Data1:
+field_decl val:
+integer_cst 32:
+field_decl ptrval:
+integer_cst 64:
+field_decl arr:
+integer_cst 96:
+type_decl Data1:
+integer_cst 64:
+parm_decl ptr2:
+pointer_type :
+record_type :
+type_decl Data2:
+field_decl :
+integer_cst 256:
+type_decl Data2:
+integer_cst 64:
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1, ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+function_decl func3:
+bind_expr : ptr2,
+statement_list : ptr2,
+decl_expr : ptr2,
+var_decl ptr1: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+if_stmt : ptr2,
+eq_expr : ptr2,
+parm_decl ptr2: ptr2,
+pointer_type : ptr2,
+record_type : ptr2,
+type_decl Data1: ptr2,
+field_decl val: ptr2,
+integer_cst 32: ptr2,
+field_decl ptrval: ptr2,
+integer_cst 64: ptr2,
+field_decl arr: ptr2,
+integer_cst 96: ptr2,
+type_decl Data1: ptr2,
+integer_cst 64: ptr2,
+integer_cst 0: ptr2,
+return_expr : ptr2,
+init_expr : ptr2,
+result_decl : ptr2,
+pointer_type : ptr2,
+record_type : ptr2,
+type_decl Data1: ptr2,
+field_decl val: ptr2,
+integer_cst 32: ptr2,
+field_decl ptrval: ptr2,
+integer_cst 64: ptr2,
+field_decl arr: ptr2,
+integer_cst 96: ptr2,
+type_decl Data1: ptr2,
+integer_cst 64: ptr2,
+integer_cst 0: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr2,
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl ptr1:
+parm_decl ptr2:
+pointer_type :
+record_type :
+type_decl Data1:
+field_decl val:
+integer_cst 32:
+field_decl ptrval:
+integer_cst 64:
+field_decl arr:
+integer_cst 96:
+type_decl Data1:
+integer_cst 64:
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+return_expr : ptr2,
+init_expr :
+result_decl :
+pointer_type :
+record_type :
+type_decl Data1:
+field_decl val:
+integer_cst 32:
+field_decl ptrval:
+integer_cst 64:
+field_decl arr:
+integer_cst 96:
+type_decl Data1:
+integer_cst 64:
+var_decl ptr1:
+var_decl ptr1: ptr2,
+integer_cst 64:
+pointer_type :
+record_type :
+type_decl Data1:
+field_decl val:
+integer_cst 32:
+field_decl ptrval:
+integer_cst 64:
+field_decl arr:
+integer_cst 96:
+type_decl Data1:
+block : ptr2,
+var_decl ptr1:
diff --git a/test/test29-04.txt b/test/test29-04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/test29-04.txt
diff --git a/test/test29-05.txt b/test/test29-05.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test/test29-05.txt
diff --git a/test/test29.cpp b/test/test29.cpp
new file mode 100644
index 0000000..472f242
--- /dev/null
+++ b/test/test29.cpp
@@ -0,0 +1,86 @@
+struct Data1;
+
+struct Data1
+{
+ int val;
+ Data1 *ptrval;
+ int arr[3];
+};
+
+struct Data2 : public Data1
+{
+};
+
+int k;
+
+void paranuckerInternalTest(const char *action, const char *collection, const char *values);
+
+class Object1
+{
+ Data1 *tmp1;
+ Data1 *tmp2;
+
+ Data1 *getData()
+ {
+ return tmp1;
+ }
+
+ void func1(Data1 *ptr1, Data1 *ptr2)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
+ if (!ptr2)
+ return;
+ paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr2");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ ptr1 = ptr2;
+ paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+
+ void func2(Data1 *ptr1, Data2 *ptr2)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1 ptr2");
+ if (!ptr2)
+ return;
+ paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr2");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ ptr1 = dynamic_cast<Data1*>(ptr2);
+ paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+
+ Data1 *func3(Data1 *ptr2)
+ {
+ Data1 *ptr1;
+ paranuckerInternalTest("=", "knownVars", "ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
+ if (!ptr2)
+ return 0;
+ paranuckerInternalTest("=", "knownVars", "ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr2");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ptr1 = ptr2;
+ paranuckerInternalTest("=", "knownVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1 ptr2");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ return ptr1;
+ }
+};