summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-07-02 00:28:53 +0300
committerAndrei Karas <akaras@inbox.ru>2015-07-02 00:28:53 +0300
commit1674d5685a5b08314dcf584d0c08b15479a7e624 (patch)
tree53c1d5cec3c87f7485182442d1d69a1a4bc20fb5
parentcc63c846db8cf24928482417ef2f1f4e4bf7e3ee (diff)
downloadparanucker-1674d5685a5b08314dcf584d0c08b15479a7e624.tar.gz
paranucker-1674d5685a5b08314dcf584d0c08b15479a7e624.tar.bz2
paranucker-1674d5685a5b08314dcf584d0c08b15479a7e624.tar.xz
paranucker-1674d5685a5b08314dcf584d0c08b15479a7e624.zip
Add test 28.
-rw-r--r--test/Makefile15
-rw-r--r--test/test28-01.txt3408
-rw-r--r--test/test28-02.txt222
-rw-r--r--test/test28-03.txt812
-rw-r--r--test/test28-04.txt10
-rw-r--r--test/test28-05.txt10
-rw-r--r--test/test28.cpp231
7 files changed, 4707 insertions, 1 deletions
diff --git a/test/Makefile b/test/Makefile
index ea94603..a2ad1bd 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -31,7 +31,8 @@ TESTS24 = $(call TEST,24,5)
TESTS25 = $(call TEST,25,5)
TESTS26 = $(call TEST,26,5)
TESTS27 = $(call TEST,27,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
+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
ALLTESTS = $(foreach num,$(TESTNUMBERS),test$(num) ${TESTS$(num)})
.PHONY: ${ALLTESTS} ${CRASHES} all crashes
@@ -330,6 +331,18 @@ test27-04:
test27-05:
$(call CMDXX,detectnullpointers,test27.cpp,test27-05.txt,-O2 -std=c++0x -Wall -Wnonnull)
+test28: ${TESTS28}
+test28-01:
+ $(call CMDXX,dump,test28.cpp,test28-01.txt,-std=c++0x)
+test28-02:
+ $(call CMDXX,findargs,test28.cpp,test28-02.txt,-std=c++0x)
+test28-03:
+ $(call CMDXX,dumpnullpointers,test28.cpp,test28-03.txt,-std=c++0x)
+test28-04:
+ $(call CMDXX,detectnullpointers,test28.cpp,test28-04.txt,-std=c++0x)
+test28-05:
+ $(call CMDXX,detectnullpointers,test28.cpp,test28-05.txt,-O2 -std=c++0x -Wall -Wnonnull)
+
crashtest01:
$(call CMDXX,dump,crashtest01.h,crashtest01-01.txt)
crashtest02:
diff --git a/test/test28-01.txt b/test/test28-01.txt
new file mode 100644
index 0000000..82c37af
--- /dev/null
+++ b/test/test28-01.txt
@@ -0,0 +1,3408 @@
+function_decl func1 test28.cpp 19: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 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.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 test28.cpp 20:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test28.cpp 19:33 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ parm_decl ptr1 test28.cpp 19:29 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ cleanup_point_expr test28.cpp 21:57 - statement
+ expr_stmt test28.cpp 21:57 - operand
+ call_expr test28.cpp 21:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 22:60 - statement
+ expr_stmt test28.cpp 22:60 - operand
+ call_expr test28.cpp 22:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 23:57 - statement
+ expr_stmt test28.cpp 23:57 - operand
+ call_expr test28.cpp 23:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 24:65 - statement
+ expr_stmt test28.cpp 24:65 - operand
+ call_expr test28.cpp 24:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+function_decl func2 test28.cpp 27: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 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.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 test28.cpp 28:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test28.cpp 27:33 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 27:29 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ if_stmt test28.cpp 29:9 - statement
+ eq_expr test28.cpp 29:14 - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 27:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ return_expr test28.cpp 30:13 - then
+ cleanup_point_expr test28.cpp 31:57 - statement
+ expr_stmt test28.cpp 31:57 - operand
+ call_expr test28.cpp 31:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 32:64 - statement
+ expr_stmt test28.cpp 32:64 - operand
+ call_expr test28.cpp 32:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 33:57 - statement
+ expr_stmt test28.cpp 33:57 - operand
+ call_expr test28.cpp 33:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 34:61 - statement
+ expr_stmt test28.cpp 34:61 - operand
+ call_expr test28.cpp 34:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 37: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 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.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 test28.cpp 38:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test28.cpp 37:33 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 37:29 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ if_stmt test28.cpp 39:9 - statement
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 37:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 41:61 - statement
+ expr_stmt test28.cpp 41:61 - operand
+ call_expr test28.cpp 41:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 42:68 - statement
+ expr_stmt test28.cpp 42:68 - operand
+ call_expr test28.cpp 42:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 43:61 - statement
+ expr_stmt test28.cpp 43:61 - operand
+ call_expr test28.cpp 43:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 44:65 - statement
+ expr_stmt test28.cpp 44:65 - operand
+ call_expr test28.cpp 44:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ statement_list - else
+ cleanup_point_expr test28.cpp 48:61 - statement
+ expr_stmt test28.cpp 48:61 - operand
+ call_expr test28.cpp 48:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 49:64 - statement
+ expr_stmt test28.cpp 49:64 - operand
+ call_expr test28.cpp 49:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 50:65 - statement
+ expr_stmt test28.cpp 50:65 - operand
+ call_expr test28.cpp 50:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 51:69 - statement
+ expr_stmt test28.cpp 51:69 - operand
+ call_expr test28.cpp 51:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 53:57 - statement
+ expr_stmt test28.cpp 53:57 - operand
+ call_expr test28.cpp 53:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 54:60 - statement
+ expr_stmt test28.cpp 54:60 - operand
+ call_expr test28.cpp 54:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 55:57 - statement
+ expr_stmt test28.cpp 55:57 - operand
+ call_expr test28.cpp 55:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 56:65 - statement
+ expr_stmt test28.cpp 56:65 - operand
+ call_expr test28.cpp 56:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+function_decl func4 test28.cpp 59: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 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.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 test28.cpp 60:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test28.cpp 59:33 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 59:29 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ if_stmt test28.cpp 61:9 - statement
+ eq_expr test28.cpp 61:14 - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 59:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 63:61 - statement
+ expr_stmt test28.cpp 63:61 - operand
+ call_expr test28.cpp 63:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 64:64 - statement
+ expr_stmt test28.cpp 64:64 - operand
+ call_expr test28.cpp 64:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 65:65 - statement
+ expr_stmt test28.cpp 65:65 - operand
+ call_expr test28.cpp 65:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 66:69 - statement
+ expr_stmt test28.cpp 66:69 - operand
+ call_expr test28.cpp 66:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ statement_list - else
+ cleanup_point_expr test28.cpp 70:61 - statement
+ expr_stmt test28.cpp 70:61 - operand
+ call_expr test28.cpp 70:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 71:68 - statement
+ expr_stmt test28.cpp 71:68 - operand
+ call_expr test28.cpp 71:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 72:61 - statement
+ expr_stmt test28.cpp 72:61 - operand
+ call_expr test28.cpp 72:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 73:65 - statement
+ expr_stmt test28.cpp 73:65 - operand
+ call_expr test28.cpp 73:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 75:57 - statement
+ expr_stmt test28.cpp 75:57 - operand
+ call_expr test28.cpp 75:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 76:60 - statement
+ expr_stmt test28.cpp 76:60 - operand
+ call_expr test28.cpp 76:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 77:57 - statement
+ expr_stmt test28.cpp 77:57 - operand
+ call_expr test28.cpp 77:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 78:65 - statement
+ expr_stmt test28.cpp 78:65 - operand
+ call_expr test28.cpp 78:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+function_decl func5 test28.cpp 81: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 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.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 test28.cpp 82:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test28.cpp 81:33 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 81:29 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ if_stmt test28.cpp 83:9 - statement
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 81:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 85:61 - statement
+ expr_stmt test28.cpp 85:61 - operand
+ call_expr test28.cpp 85:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 86:68 - statement
+ expr_stmt test28.cpp 86:68 - operand
+ call_expr test28.cpp 86:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 87:61 - statement
+ expr_stmt test28.cpp 87:61 - operand
+ call_expr test28.cpp 87:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 88:65 - statement
+ expr_stmt test28.cpp 88:65 - operand
+ call_expr test28.cpp 88:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 89:13 - statement
+ statement_list - else
+ cleanup_point_expr test28.cpp 93:61 - statement
+ expr_stmt test28.cpp 93:61 - operand
+ call_expr test28.cpp 93:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 94:64 - statement
+ expr_stmt test28.cpp 94:64 - operand
+ call_expr test28.cpp 94:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 95:65 - statement
+ expr_stmt test28.cpp 95:65 - operand
+ call_expr test28.cpp 95:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 96:69 - statement
+ expr_stmt test28.cpp 96:69 - operand
+ call_expr test28.cpp 96:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 98:57 - statement
+ expr_stmt test28.cpp 98:57 - operand
+ call_expr test28.cpp 98:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 99:60 - statement
+ expr_stmt test28.cpp 99:60 - operand
+ call_expr test28.cpp 99:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 100:61 - statement
+ expr_stmt test28.cpp 100:61 - operand
+ call_expr test28.cpp 100:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 101:65 - statement
+ expr_stmt test28.cpp 101:65 - operand
+ call_expr test28.cpp 101:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+function_decl func6 test28.cpp 104: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 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.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 test28.cpp 105:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test28.cpp 104:33 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 104:29 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ if_stmt test28.cpp 106:9 - statement
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 104:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 108:61 - statement
+ expr_stmt test28.cpp 108:61 - operand
+ call_expr test28.cpp 108:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 109:68 - statement
+ expr_stmt test28.cpp 109:68 - operand
+ call_expr test28.cpp 109:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 110:61 - statement
+ expr_stmt test28.cpp 110:61 - operand
+ call_expr test28.cpp 110:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 111:65 - statement
+ expr_stmt test28.cpp 111:65 - operand
+ call_expr test28.cpp 111:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ statement_list - else
+ cleanup_point_expr test28.cpp 115:61 - statement
+ expr_stmt test28.cpp 115:61 - operand
+ call_expr test28.cpp 115:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 116:64 - statement
+ expr_stmt test28.cpp 116:64 - operand
+ call_expr test28.cpp 116:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 117:65 - statement
+ expr_stmt test28.cpp 117:65 - operand
+ call_expr test28.cpp 117:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 118:69 - statement
+ expr_stmt test28.cpp 118:69 - operand
+ call_expr test28.cpp 118:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ return_expr test28.cpp 119:13 - statement
+ cleanup_point_expr test28.cpp 121:57 - statement
+ expr_stmt test28.cpp 121:57 - operand
+ call_expr test28.cpp 121:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 122:64 - statement
+ expr_stmt test28.cpp 122:64 - operand
+ call_expr test28.cpp 122:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 123:57 - statement
+ expr_stmt test28.cpp 123:57 - operand
+ call_expr test28.cpp 123:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 124:61 - statement
+ expr_stmt test28.cpp 124:61 - operand
+ call_expr test28.cpp 124:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 func7 test28.cpp 127: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 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.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 test28.cpp 128:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test28.cpp 127:33 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 127:29 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ if_stmt test28.cpp 129:9 - statement
+ eq_expr test28.cpp 129:14 - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 127:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 131:61 - statement
+ expr_stmt test28.cpp 131:61 - operand
+ call_expr test28.cpp 131:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 132:64 - statement
+ expr_stmt test28.cpp 132:64 - operand
+ call_expr test28.cpp 132:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 133:65 - statement
+ expr_stmt test28.cpp 133:65 - operand
+ call_expr test28.cpp 133:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 134:69 - statement
+ expr_stmt test28.cpp 134:69 - operand
+ call_expr test28.cpp 134:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ statement_list - else
+ cleanup_point_expr test28.cpp 138:61 - statement
+ expr_stmt test28.cpp 138:61 - operand
+ call_expr test28.cpp 138:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 139:68 - statement
+ expr_stmt test28.cpp 139:68 - operand
+ call_expr test28.cpp 139:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 140:61 - statement
+ expr_stmt test28.cpp 140:61 - operand
+ call_expr test28.cpp 140:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 141:65 - statement
+ expr_stmt test28.cpp 141:65 - operand
+ call_expr test28.cpp 141:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 142:13 - statement
+ cleanup_point_expr test28.cpp 144:57 - statement
+ expr_stmt test28.cpp 144:57 - operand
+ call_expr test28.cpp 144:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 145:60 - statement
+ expr_stmt test28.cpp 145:60 - operand
+ call_expr test28.cpp 145:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 146:61 - statement
+ expr_stmt test28.cpp 146:61 - operand
+ call_expr test28.cpp 146:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 147:65 - statement
+ expr_stmt test28.cpp 147:65 - operand
+ call_expr test28.cpp 147:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+function_decl func8 test28.cpp 150: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 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.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 test28.cpp 151:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test28.cpp 150:33 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 150:29 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ if_stmt test28.cpp 152:9 - statement
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 150:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 154:61 - statement
+ expr_stmt test28.cpp 154:61 - operand
+ call_expr test28.cpp 154:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 155:68 - statement
+ expr_stmt test28.cpp 155:68 - operand
+ call_expr test28.cpp 155:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 156:61 - statement
+ expr_stmt test28.cpp 156:61 - operand
+ call_expr test28.cpp 156:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 157:65 - statement
+ expr_stmt test28.cpp 157:65 - operand
+ call_expr test28.cpp 157:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 158:13 - statement
+ statement_list - else
+ cleanup_point_expr test28.cpp 162:61 - statement
+ expr_stmt test28.cpp 162:61 - operand
+ call_expr test28.cpp 162:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 163:64 - statement
+ expr_stmt test28.cpp 163:64 - operand
+ call_expr test28.cpp 163:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 164:65 - statement
+ expr_stmt test28.cpp 164:65 - operand
+ call_expr test28.cpp 164:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 165:69 - statement
+ expr_stmt test28.cpp 165:69 - operand
+ call_expr test28.cpp 165:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ return_expr test28.cpp 166:13 - statement
+ cleanup_point_expr test28.cpp 168:57 - statement
+ expr_stmt test28.cpp 168:57 - operand
+ call_expr test28.cpp 168:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 169:64 - statement
+ expr_stmt test28.cpp 169:64 - operand
+ call_expr test28.cpp 169:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 170:61 - statement
+ expr_stmt test28.cpp 170:61 - operand
+ call_expr test28.cpp 170:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 171:61 - statement
+ expr_stmt test28.cpp 171:61 - operand
+ call_expr test28.cpp 171:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 func9 test28.cpp 174: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 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.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 test28.cpp 175:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test28.cpp 174:33 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test28.cpp 14:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test28.cpp 16:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test28.cpp 17:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test28.cpp 15:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 174:29 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ if_stmt test28.cpp 176:9 - statement
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 174:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 178:61 - statement
+ expr_stmt test28.cpp 178:61 - operand
+ call_expr test28.cpp 178:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 179:68 - statement
+ expr_stmt test28.cpp 179:68 - operand
+ call_expr test28.cpp 179:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 180:61 - statement
+ expr_stmt test28.cpp 180:61 - operand
+ call_expr test28.cpp 180:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 181:65 - statement
+ expr_stmt test28.cpp 181:65 - operand
+ call_expr test28.cpp 181:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ if_stmt test28.cpp 182:13 - statement
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 174:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 184:65 - statement
+ expr_stmt test28.cpp 184:65 - operand
+ call_expr test28.cpp 184:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 185:72 - statement
+ expr_stmt test28.cpp 185:72 - operand
+ call_expr test28.cpp 185:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 186:65 - statement
+ expr_stmt test28.cpp 186:65 - operand
+ call_expr test28.cpp 186:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 187:69 - statement
+ expr_stmt test28.cpp 187:69 - operand
+ call_expr test28.cpp 187:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 189:61 - statement
+ expr_stmt test28.cpp 189:61 - operand
+ call_expr test28.cpp 189:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 190:68 - statement
+ expr_stmt test28.cpp 190:68 - operand
+ call_expr test28.cpp 190:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 191:61 - statement
+ expr_stmt test28.cpp 191:61 - operand
+ call_expr test28.cpp 191:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 192:65 - statement
+ expr_stmt test28.cpp 192:65 - operand
+ call_expr test28.cpp 192:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ if_stmt test28.cpp 193:13 - statement
+ eq_expr test28.cpp 193:18 - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 174:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 195:65 - statement
+ expr_stmt test28.cpp 195:65 - operand
+ call_expr test28.cpp 195:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 196:72 - statement
+ expr_stmt test28.cpp 196:72 - operand
+ call_expr test28.cpp 196:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 197:65 - statement
+ expr_stmt test28.cpp 197:65 - operand
+ call_expr test28.cpp 197:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 198:69 - statement
+ expr_stmt test28.cpp 198:69 - operand
+ call_expr test28.cpp 198:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ statement_list - else
+ cleanup_point_expr test28.cpp 203:61 - statement
+ expr_stmt test28.cpp 203:61 - operand
+ call_expr test28.cpp 203:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 204:64 - statement
+ expr_stmt test28.cpp 204:64 - operand
+ call_expr test28.cpp 204:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 205:65 - statement
+ expr_stmt test28.cpp 205:65 - operand
+ call_expr test28.cpp 205:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 206:69 - statement
+ expr_stmt test28.cpp 206:69 - operand
+ call_expr test28.cpp 206:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ if_stmt test28.cpp 207:13 - statement
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 174:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 209:65 - statement
+ expr_stmt test28.cpp 209:65 - operand
+ call_expr test28.cpp 209:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 210:72 - statement
+ expr_stmt test28.cpp 210:72 - operand
+ call_expr test28.cpp 210:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 211:69 - statement
+ expr_stmt test28.cpp 211:69 - operand
+ call_expr test28.cpp 211:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 212:69 - statement
+ expr_stmt test28.cpp 212:69 - operand
+ call_expr test28.cpp 212:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 214:61 - statement
+ expr_stmt test28.cpp 214:61 - operand
+ call_expr test28.cpp 214:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 215:64 - statement
+ expr_stmt test28.cpp 215:64 - operand
+ call_expr test28.cpp 215:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 216:65 - statement
+ expr_stmt test28.cpp 216:65 - operand
+ call_expr test28.cpp 216:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 217:69 - statement
+ expr_stmt test28.cpp 217:69 - operand
+ call_expr test28.cpp 217:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
+ if_stmt test28.cpp 218:13 - statement
+ eq_expr test28.cpp 218:18 - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test28.cpp 174:29 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test28.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test28.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test28.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test28.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test28.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ statement_list - then
+ cleanup_point_expr test28.cpp 220:65 - statement
+ expr_stmt test28.cpp 220:65 - operand
+ call_expr test28.cpp 220:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 221:68 - statement
+ expr_stmt test28.cpp 221:68 - operand
+ call_expr test28.cpp 221:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 222:69 - statement
+ expr_stmt test28.cpp 222:69 - operand
+ call_expr test28.cpp 222:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 ptr1 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 223:73 - statement
+ expr_stmt test28.cpp 223:73 - operand
+ call_expr test28.cpp 223:39 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 226:57 - statement
+ expr_stmt test28.cpp 226:57 - operand
+ call_expr test28.cpp 226:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 - operand
+ - stringLength: 5
+ cleanup_point_expr test28.cpp 227:60 - statement
+ expr_stmt test28.cpp 227:60 - operand
+ call_expr test28.cpp 227:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 228:57 - statement
+ expr_stmt test28.cpp 228:57 - operand
+ call_expr test28.cpp 228:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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 test28.cpp 229:65 - statement
+ expr_stmt test28.cpp 229:65 - operand
+ call_expr test28.cpp 229:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test28.cpp 12: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
diff --git a/test/test28-02.txt b/test/test28-02.txt
new file mode 100644
index 0000000..a428738
--- /dev/null
+++ b/test/test28-02.txt
@@ -0,0 +1,222 @@
+func1: pointer_type ptr1,
+func2: pointer_type ptr1,
+test28.cpp: In member function 'void Object1::func2(Data1*)':
+test28.cpp:32:31: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:34:31: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+func3: pointer_type ptr1,
+test28.cpp: In member function 'void Object1::func3(Data1*)':
+test28.cpp:42:35: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:44:35: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+test28.cpp:50:35: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+func4: pointer_type ptr1,
+test28.cpp: In member function 'void Object1::func4(Data1*)':
+test28.cpp:65:35: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+test28.cpp:71:35: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:73:35: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+func5: pointer_type ptr1,
+test28.cpp: In member function 'void Object1::func5(Data1*)':
+test28.cpp:86:35: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:88:35: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+test28.cpp:95:35: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+test28.cpp:100:31: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+func6: pointer_type ptr1,
+test28.cpp: In member function 'void Object1::func6(Data1*)':
+test28.cpp:109:35: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:111:35: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+test28.cpp:117:35: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+test28.cpp:122:31: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:124:31: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+func7: pointer_type ptr1,
+test28.cpp: In member function 'void Object1::func7(Data1*)':
+test28.cpp:133:35: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+test28.cpp:139:35: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:141:35: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+test28.cpp:146:31: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+func8: pointer_type ptr1,
+test28.cpp: In member function 'void Object1::func8(Data1*)':
+test28.cpp:155:35: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:157:35: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+test28.cpp:164:35: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+test28.cpp:169:31: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:170:31: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+test28.cpp:171:31: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+func9: pointer_type ptr1,
+test28.cpp: In member function 'void Object1::func9(Data1*)':
+test28.cpp:179:35: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:181:35: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+test28.cpp:185:39: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:187:39: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+test28.cpp:190:35: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:192:35: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+test28.cpp:196:39: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:198:39: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+test28.cpp:205:35: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+test28.cpp:210:39: warning: warning: internal collections 'knownNonNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ ^
+test28.cpp:211:39: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+test28.cpp:212:39: warning: warning: internal collections 'needCheckNullVars' is different.
+want:
+ get: ptr1,
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ ^
+test28.cpp:216:35: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
+test28.cpp:222:39: warning: warning: internal collections 'knownNullVars' is different.
+want: ptr1,
+ get:
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ ^
diff --git a/test/test28-03.txt b/test/test28-03.txt
new file mode 100644
index 0000000..f1fba97
--- /dev/null
+++ b/test/test28-03.txt
@@ -0,0 +1,812 @@
+function_decl func1:
+statement_list : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+function_decl func2:
+statement_list : ptr1,
+if_stmt : ptr1,
+eq_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+function_decl func3:
+statement_list : ptr1,
+if_stmt : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+statement_list :
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+statement_list : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+function_decl func4:
+statement_list : ptr1,
+if_stmt : ptr1,
+eq_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+statement_list : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+statement_list :
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+function_decl func5:
+statement_list : ptr1,
+if_stmt : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+statement_list :
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+return_expr :
+statement_list : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+function_decl func6:
+statement_list : ptr1,
+if_stmt : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+statement_list :
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+statement_list : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+function_decl func7:
+statement_list : ptr1,
+if_stmt : ptr1,
+eq_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+statement_list : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+statement_list :
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+return_expr :
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+function_decl func8:
+statement_list : ptr1,
+if_stmt : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+statement_list :
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+return_expr :
+statement_list : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+function_decl func9:
+statement_list : ptr1,
+if_stmt : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+statement_list :
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+if_stmt :
+ne_expr :
+test28.cpp: In member function 'void Object1::func9(Data1*)':
+test28.cpp:182:13: warning: Useless variable check 'ptr1'. It already was checked before
+ if (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:
+integer_cst 0:
+statement_list :
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+if_stmt :
+eq_expr :
+test28.cpp:193:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!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:
+integer_cst 0:
+statement_list :
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+statement_list : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+if_stmt : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+statement_list :
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr :
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+if_stmt : ptr1,
+eq_expr : ptr1,
+test28.cpp:218:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1)
+ ^
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+statement_list : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+call_expr : ptr1,
+addr_expr : ptr1,
+function_decl paranuckerInternalTest: ptr1,
diff --git a/test/test28-04.txt b/test/test28-04.txt
new file mode 100644
index 0000000..ca36aad
--- /dev/null
+++ b/test/test28-04.txt
@@ -0,0 +1,10 @@
+test28.cpp: In member function 'void Object1::func9(Data1*)':
+test28.cpp:182:13: warning: Useless variable check 'ptr1'. It already was checked before
+ if (ptr1)
+ ^
+test28.cpp:193:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1)
+ ^
+test28.cpp:218:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1)
+ ^
diff --git a/test/test28-05.txt b/test/test28-05.txt
new file mode 100644
index 0000000..ca36aad
--- /dev/null
+++ b/test/test28-05.txt
@@ -0,0 +1,10 @@
+test28.cpp: In member function 'void Object1::func9(Data1*)':
+test28.cpp:182:13: warning: Useless variable check 'ptr1'. It already was checked before
+ if (ptr1)
+ ^
+test28.cpp:193:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1)
+ ^
+test28.cpp:218:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1)
+ ^
diff --git a/test/test28.cpp b/test/test28.cpp
new file mode 100644
index 0000000..8825d96
--- /dev/null
+++ b/test/test28.cpp
@@ -0,0 +1,231 @@
+struct Data1;
+
+struct Data1
+{
+ int val;
+ Data1 *ptrval;
+ int arr[3];
+};
+
+int k;
+
+void paranuckerInternalTest(const char *action, const char *collection, const char *values);
+
+class Object1
+{
+ Data1 *tmp1;
+ Data1 *tmp2;
+
+ void func1(Data1 *const ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+
+ void func2(Data1 *const ptr1)
+ {
+ if (!ptr1)
+ return;
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+
+ void func3(Data1 *const ptr1)
+ {
+ if (ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+ else
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+
+ void func4(Data1 *const ptr1)
+ {
+ if (!ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+ else
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+
+ void func5(Data1 *const ptr1)
+ {
+ if (ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ return;
+ }
+ else
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+
+ void func6(Data1 *const ptr1)
+ {
+ if (ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+ else
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ return;
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+
+ void func7(Data1 *const ptr1)
+ {
+ if (!ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+ else
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ return;
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+
+ void func8(Data1 *const ptr1)
+ {
+ if (ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ return;
+ }
+ else
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ return;
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+
+ void func9(Data1 *const ptr1)
+ {
+ if (ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ if (ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ if (!ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+ }
+ else
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ if (ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr1");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ if (!ptr1)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "ptr1");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr1");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
+ }
+};