summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-07-03 19:45:06 +0300
committerAndrei Karas <akaras@inbox.ru>2015-07-03 19:45:06 +0300
commitf467445209b30d9028377aa72c6960c4741d98ab (patch)
treede7421689e7bb4d00ce78ff64d71b360bcf9611e
parent9c9a7d9647b279bf1c58b000f700548902280e6c (diff)
downloadparanucker-f467445209b30d9028377aa72c6960c4741d98ab.tar.gz
paranucker-f467445209b30d9028377aa72c6960c4741d98ab.tar.bz2
paranucker-f467445209b30d9028377aa72c6960c4741d98ab.tar.xz
paranucker-f467445209b30d9028377aa72c6960c4741d98ab.zip
Update test 29.
-rw-r--r--test/test29-01.txt895
-rw-r--r--test/test29-02.txt2
-rw-r--r--test/test29-03.txt221
-rw-r--r--test/test29.cpp60
4 files changed, 1178 insertions, 0 deletions
diff --git a/test/test29-01.txt b/test/test29-01.txt
index 610e59d..3fd56b0 100644
--- a/test/test29-01.txt
+++ b/test/test29-01.txt
@@ -6132,3 +6132,898 @@ function_decl func14 test29.cpp 359:10
addr_expr - operand
string_cst ptr1 - operand
- stringLength: 5
+function_decl func15 test29.cpp 384:10
+- isPublic: 1
+ method_type - function type
+ void_type - method return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test29.cpp 385:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test29.cpp 384:28 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 384:24 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ cleanup_point_expr test29.cpp 386:57 - statement
+ expr_stmt test29.cpp 386:57 - operand
+ call_expr test29.cpp 386:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 387:60 - statement
+ expr_stmt test29.cpp 387:60 - operand
+ call_expr test29.cpp 387:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 388:57 - statement
+ expr_stmt test29.cpp 388:57 - operand
+ call_expr test29.cpp 388:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 389:65 - statement
+ expr_stmt test29.cpp 389:65 - operand
+ call_expr test29.cpp 389:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ if_stmt test29.cpp 395:9 - statement
+ truth_orif_expr test29.cpp 395:19 - condition
+ eq_expr test29.cpp 395:14 - operand
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 384:24 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ eq_expr test29.cpp 395:24 - operand
+ var_decl k test29.cpp 14:5 - operand
+ - isUsed: 1
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - operand
+ statement_list - then
+ cleanup_point_expr test29.cpp 397:61 - statement
+ expr_stmt test29.cpp 397:61 - operand
+ call_expr test29.cpp 397:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 398:64 - statement
+ expr_stmt test29.cpp 398:64 - operand
+ call_expr test29.cpp 398:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 399:61 - statement
+ expr_stmt test29.cpp 399:61 - operand
+ call_expr test29.cpp 399:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 400:69 - statement
+ expr_stmt test29.cpp 400:69 - operand
+ call_expr test29.cpp 400:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ statement_list - else
+ cleanup_point_expr test29.cpp 404:61 - statement
+ expr_stmt test29.cpp 404:61 - operand
+ call_expr test29.cpp 404:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 405:68 - statement
+ expr_stmt test29.cpp 405:68 - operand
+ call_expr test29.cpp 405:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 406:61 - statement
+ expr_stmt test29.cpp 406:61 - operand
+ call_expr test29.cpp 406:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 407:65 - statement
+ expr_stmt test29.cpp 407:65 - operand
+ call_expr test29.cpp 407:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ return_expr test29.cpp 408:13 - statement
+ cleanup_point_expr test29.cpp 410:57 - statement
+ expr_stmt test29.cpp 410:57 - operand
+ call_expr test29.cpp 410:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 411:60 - statement
+ expr_stmt test29.cpp 411:60 - operand
+ call_expr test29.cpp 411:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 412:57 - statement
+ expr_stmt test29.cpp 412:57 - operand
+ call_expr test29.cpp 412:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 413:65 - statement
+ expr_stmt test29.cpp 413:65 - operand
+ call_expr test29.cpp 413:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+function_decl func16 test29.cpp 416:10
+- isPublic: 1
+ method_type - function type
+ void_type - method return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test29.cpp 417:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test29.cpp 416:28 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test29.cpp 18:7 - type name
+ - isAutogenerated: 1
+ field_decl tmp1 test29.cpp 20:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl tmp2 test29.cpp 21:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ type_decl Object1 test29.cpp 19:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 416:24 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ statement_list - code
+ cleanup_point_expr test29.cpp 418:57 - statement
+ expr_stmt test29.cpp 418:57 - operand
+ call_expr test29.cpp 418:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 419:60 - statement
+ expr_stmt test29.cpp 419:60 - operand
+ call_expr test29.cpp 419:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 420:57 - statement
+ expr_stmt test29.cpp 420:57 - operand
+ call_expr test29.cpp 420:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 421:65 - statement
+ expr_stmt test29.cpp 421:65 - operand
+ call_expr test29.cpp 421:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ if_stmt test29.cpp 423:9 - statement
+ truth_orif_expr test29.cpp 423:19 - condition
+ eq_expr test29.cpp 423:14 - operand
+ - isUsed: 1
+ parm_decl ptr2 test29.cpp 416:24 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test29.cpp 3:8 - type name
+ - isAutogenerated: 1
+ field_decl val test29.cpp 5:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test29.cpp 6:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test29.cpp 7:14 - field
+ - signed
+ integer_cst 96 - decl size
+ type_decl Data1 test29.cpp 4:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ eq_expr test29.cpp 423:24 - operand
+ var_decl k test29.cpp 14:5 - operand
+ - isUsed: 1
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - operand
+ statement_list - then
+ cleanup_point_expr test29.cpp 425:61 - statement
+ expr_stmt test29.cpp 425:61 - operand
+ call_expr test29.cpp 425:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 426:64 - statement
+ expr_stmt test29.cpp 426:64 - operand
+ call_expr test29.cpp 426:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 427:61 - statement
+ expr_stmt test29.cpp 427:61 - operand
+ call_expr test29.cpp 427:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 428:69 - statement
+ expr_stmt test29.cpp 428:69 - operand
+ call_expr test29.cpp 428:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ return_expr test29.cpp 429:13 - statement
+ statement_list - else
+ cleanup_point_expr test29.cpp 433:61 - statement
+ expr_stmt test29.cpp 433:61 - operand
+ call_expr test29.cpp 433:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 434:68 - statement
+ expr_stmt test29.cpp 434:68 - operand
+ call_expr test29.cpp 434:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 435:61 - statement
+ expr_stmt test29.cpp 435:61 - operand
+ call_expr test29.cpp 435:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 436:65 - statement
+ expr_stmt test29.cpp 436:65 - operand
+ call_expr test29.cpp 436:35 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ return_expr test29.cpp 437:13 - statement
+ cleanup_point_expr test29.cpp 439:57 - statement
+ expr_stmt test29.cpp 439:57 - operand
+ call_expr test29.cpp 439:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownVars - operand
+ - stringLength: 10
+ nop_expr - arg
+ addr_expr - operand
+ string_cst ptr2 - operand
+ - stringLength: 5
+ cleanup_point_expr test29.cpp 440:60 - statement
+ expr_stmt test29.cpp 440:60 - operand
+ call_expr test29.cpp 440:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNonNullVars - operand
+ - stringLength: 17
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 441:57 - statement
+ expr_stmt test29.cpp 441:57 - operand
+ call_expr test29.cpp 441:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst knownNullVars - operand
+ - stringLength: 14
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
+ cleanup_point_expr test29.cpp 442:61 - statement
+ expr_stmt test29.cpp 442:61 - operand
+ call_expr test29.cpp 442:31 - expresssion
+ addr_expr - function
+ function_decl paranuckerInternalTest test29.cpp 16:6 - operand
+ - isExternal: 1
+ - isPublic: 1
+ function_type - function type
+ nop_expr - arg
+ addr_expr - operand
+ string_cst = - operand
+ - stringLength: 2
+ nop_expr - arg
+ addr_expr - operand
+ string_cst needCheckNullVars - operand
+ - stringLength: 18
+ nop_expr - arg
+ addr_expr - operand
+ string_cst - operand
+ - stringLength: 1
diff --git a/test/test29-02.txt b/test/test29-02.txt
index 90073d6..9a5ea4c 100644
--- a/test/test29-02.txt
+++ b/test/test29-02.txt
@@ -13,3 +13,5 @@ func11: pointer_type ptr1, pointer_type ptr2,
func12: pointer_type ptr1, pointer_type ptr2,
func13: pointer_type ptr1,
func14: pointer_type ptr1,
+func15: pointer_type ptr2,
+func16: pointer_type ptr2,
diff --git a/test/test29-03.txt b/test/test29-03.txt
index 484ac0f..4565606 100644
--- a/test/test29-03.txt
+++ b/test/test29-03.txt
@@ -1593,3 +1593,224 @@ expr_stmt : ptr1,
call_expr : ptr1,
addr_expr : ptr1,
function_decl paranuckerInternalTest: ptr1,
+function_decl func15:
+statement_list : ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+if_stmt : ptr2,
+truth_orif_expr : ptr2,
+eq_expr : ptr2,
+parm_decl ptr2: ptr2,
+pointer_type : ptr2,
+record_type : ptr2,
+type_decl Data1: ptr2,
+field_decl val: ptr2,
+integer_cst 32: ptr2,
+field_decl ptrval: ptr2,
+integer_cst 64: ptr2,
+field_decl arr: ptr2,
+integer_cst 96: ptr2,
+type_decl Data1: ptr2,
+integer_cst 64: ptr2,
+integer_cst 0: ptr2,
+eq_expr :
+var_decl k:
+integer_cst 32:
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 10:
+statement_list : ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+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 : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+function_decl func16:
+statement_list : ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+if_stmt : ptr2,
+truth_orif_expr : ptr2,
+eq_expr : ptr2,
+parm_decl ptr2: ptr2,
+pointer_type : ptr2,
+record_type : ptr2,
+type_decl Data1: ptr2,
+field_decl val: ptr2,
+integer_cst 32: ptr2,
+field_decl ptrval: ptr2,
+integer_cst 64: ptr2,
+field_decl arr: ptr2,
+integer_cst 96: ptr2,
+type_decl Data1: ptr2,
+integer_cst 64: ptr2,
+integer_cst 0: ptr2,
+eq_expr :
+var_decl k:
+integer_cst 32:
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 10:
+statement_list : ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+cleanup_point_expr : ptr2,
+expr_stmt : ptr2,
+call_expr : ptr2,
+addr_expr : ptr2,
+function_decl paranuckerInternalTest: ptr2,
+return_expr : ptr2,
+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 : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
+cleanup_point_expr : ptr2,
+expr_stmt :
+call_expr :
+addr_expr :
+function_decl paranuckerInternalTest:
diff --git a/test/test29.cpp b/test/test29.cpp
index 0af523e..b8cd494 100644
--- a/test/test29.cpp
+++ b/test/test29.cpp
@@ -381,4 +381,64 @@ class Object1
paranuckerInternalTest("=", "needCheckNullVars", "ptr1");
}
+ void func15(Data1 *ptr2)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
+ // null || 10 -> continue
+ // null || 9 -> continue
+ // 123 || 10 -> continue
+ // 123 || 9 -> return
+ // wco if_stmt clean checkedElseNonNullVars:ptr2, needCheckNullVars:ptr2, knownVars:ptr2,
+ if (!ptr2 || k == 10)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
+ }
+ else
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr2");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ return;
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
+ }
+
+ void func16(Data1 *ptr2)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
+ // wco if_stmt clean checkedElseNonNullVars:ptr2, needCheckNullVars:ptr2, knownVars:ptr2,
+ if (!ptr2 || k == 10)
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "ptr2");
+ return;
+ }
+ else
+ {
+ paranuckerInternalTest("=", "knownVars", "ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "ptr2");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ return;
+ }
+ paranuckerInternalTest("=", "knownVars", "ptr2");
+ paranuckerInternalTest("=", "knownNonNullVars", "");
+ paranuckerInternalTest("=", "knownNullVars", "");
+ paranuckerInternalTest("=", "needCheckNullVars", "");
+ }
};