diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-07-13 17:36:07 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-07-13 17:36:07 +0300 |
commit | eb47cc7c4105a6a45f68e955dcb61d9502d9c138 (patch) | |
tree | 5d7bc6dad99b03f8054d3a3e53783ef26ffe575b | |
parent | 6c98fdf78af4d1e051f149106bd45a011279ebda (diff) | |
download | paranucker-eb47cc7c4105a6a45f68e955dcb61d9502d9c138.tar.gz paranucker-eb47cc7c4105a6a45f68e955dcb61d9502d9c138.tar.bz2 paranucker-eb47cc7c4105a6a45f68e955dcb61d9502d9c138.tar.xz paranucker-eb47cc7c4105a6a45f68e955dcb61d9502d9c138.zip |
Add test 36.
-rw-r--r-- | test/Makefile | 15 | ||||
-rw-r--r-- | test/test36-01.txt | 1298 | ||||
-rw-r--r-- | test/test36-02.txt | 6 | ||||
-rw-r--r-- | test/test36-03.txt | 319 | ||||
-rw-r--r-- | test/test36-04.txt | 0 | ||||
-rw-r--r-- | test/test36-05.txt | 12 | ||||
-rw-r--r-- | test/test36.cpp | 81 |
7 files changed, 1730 insertions, 1 deletions
diff --git a/test/Makefile b/test/Makefile index 8248bdf..4490728 100644 --- a/test/Makefile +++ b/test/Makefile @@ -39,7 +39,8 @@ TESTS32 = $(call TEST,32,5) TESTS33 = $(call TEST,33,5) TESTS34 = $(call TEST,34,5) TESTS35 = $(call TEST,35,5) -TESTNUMBERS = 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 +TESTS36 = $(call TEST,36,5) +TESTNUMBERS = 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ALLTESTS = $(foreach num,$(TESTNUMBERS),test$(num) ${TESTS$(num)}) .PHONY: ${ALLTESTS} ${CRASHES} all crashes @@ -434,6 +435,18 @@ test35-04: test35-05: $(call CMDXX,detectnullpointers,test35.cpp,test35-05.txt,-O2 -std=c++0x -Wall -Wnonnull) +test36: ${TESTS36} +test36-01: + $(call CMDXX,dump,test36.cpp,test36-01.txt,-std=c++0x) +test36-02: + $(call CMDXX,findargs,test36.cpp,test36-02.txt,-std=c++0x) +test36-03: + $(call CMDXX,dumpnullpointers,test36.cpp,test36-03.txt,-std=c++0x) +test36-04: + $(call CMDXX,detectnullpointers,test36.cpp,test36-04.txt,-std=c++0x) +test36-05: + $(call CMDXX,detectnullpointers,test36.cpp,test36-05.txt,-O2 -std=c++0x -Wall -Wnonnull) + crashtest01: $(call CMDXX,dump,crashtest01.h,crashtest01-01.txt) crashtest02: diff --git a/test/test36-01.txt b/test/test36-01.txt new file mode 100644 index 0000000..df28524 --- /dev/null +++ b/test/test36-01.txt @@ -0,0 +1,1298 @@ +function_decl getData3 test36.cpp 8:12 +- isPublic: 1 + method_type - function type + pointer_type - method return type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + record_type - method base type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + tree_list - arg types + pointer_type - value + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.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 test36.cpp 9:5 - function result + - isAutogenerated: 1 + pointer_type - result type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + integer_cst 64 - decl size + - isUsed: 1 + parm_decl this test36.cpp 8:21 - argument + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + return_expr test36.cpp 10:16 - code + init_expr - operand + result_decl test36.cpp 9:5 - operand + - isAutogenerated: 1 + pointer_type - result type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + integer_cst 64 - decl size + component_ref test36.cpp 10:16 - operand + indirect_ref - object + nop_expr - ref + - isUsed: 1 + parm_decl this test36.cpp 8:21 - operand + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size +function_decl getData1 test36.cpp 27:12 +- isPublic: 1 + method_type - function type + pointer_type - method return type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + record_type - method base type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + tree_list - arg types + pointer_type - value + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + tree_list - chain + void_type - value + type_decl void <built-in> 0:0 - type name + - isAutogenerated: 1 + result_decl test36.cpp 28:5 - function result + - isAutogenerated: 1 + pointer_type - result type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + integer_cst 64 - decl size + - isUsed: 1 + parm_decl this test36.cpp 27:21 - argument + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + return_expr test36.cpp 29:16 - code + init_expr - operand + result_decl test36.cpp 28:5 - operand + - isAutogenerated: 1 + pointer_type - result type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + integer_cst 64 - decl size + component_ref test36.cpp 29:16 - operand + indirect_ref - object + nop_expr - ref + - isUsed: 1 + parm_decl this test36.cpp 27:21 - operand + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size +function_decl getData2 test36.cpp 32:12 +- isPublic: 1 + method_type - function type + tree_list - attribute + identifier_node returns_nonnull - purpose + pointer_type - method return type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + record_type - method base type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + tree_list - arg types + pointer_type - value + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + tree_list - chain + void_type - value + type_decl void <built-in> 0:0 - type name + - isAutogenerated: 1 + result_decl test36.cpp 33:5 - function result + - isAutogenerated: 1 + pointer_type - result type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + integer_cst 64 - decl size + - isUsed: 1 + parm_decl this test36.cpp 32:54 - argument + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + return_expr test36.cpp 34:16 - code + init_expr - operand + result_decl test36.cpp 33:5 - operand + - isAutogenerated: 1 + pointer_type - result type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + integer_cst 64 - decl size + component_ref test36.cpp 34:16 - operand + indirect_ref - object + nop_expr - ref + - isUsed: 1 + parm_decl this test36.cpp 32:54 - operand + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size +function_decl func1 test36.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 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + tree_list - arg types + pointer_type - value + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + tree_list - chain + void_type - value + type_decl void <built-in> 0:0 - type name + - isAutogenerated: 1 + result_decl test36.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 test36.cpp 37:16 - argument + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + bind_expr test36.cpp 49:71 - code + var_decl ptr1 test36.cpp 39:16 - operand + integer_cst 64 - decl size + pointer_type - var type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + statement_list - operand + decl_expr test36.cpp 39:27 - statement + var_decl ptr1 test36.cpp 39:16 - operand + cleanup_point_expr test36.cpp 39:27 - statement + expr_stmt test36.cpp 39:27 - operand + convert_expr - expresssion + init_expr - operand + var_decl ptr1 test36.cpp 39:16 - operand + nop_expr - operand + call_expr test36.cpp 39:27 - operand + addr_expr - function + function_decl operator new <built-in> 0:0 - operand + - isAutogenerated: 1 + - isExternal: 1 + - isPublic: 1 + function_type - function type + pointer_type - function return type + tree_list - attribute + identifier_node alloc_size - purpose + tree_list - value + integer_cst 1 - value + tree_list - chain + identifier_node externally_visible - purpose + integer_cst 32 - arg + cleanup_point_expr test36.cpp 40:57 - statement + expr_stmt test36.cpp 40:57 - operand + call_expr test36.cpp 40:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 41:64 - statement + expr_stmt test36.cpp 41:64 - operand + call_expr test36.cpp 41:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 42:57 - statement + expr_stmt test36.cpp 42:57 - operand + call_expr test36.cpp 42:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 43:61 - statement + expr_stmt test36.cpp 43:61 - operand + call_expr test36.cpp 43:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 44:55 - statement + expr_stmt test36.cpp 44:55 - operand + call_expr test36.cpp 44:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst addNullVars - operand + - stringLength: 12 + nop_expr - arg + addr_expr - operand + string_cst - operand + - stringLength: 1 + cleanup_point_expr test36.cpp 45:61 - statement + expr_stmt test36.cpp 45:61 - operand + call_expr test36.cpp 45:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst removeNullVarsAll - operand + - stringLength: 18 + nop_expr - arg + addr_expr - operand + string_cst - operand + - stringLength: 1 + cleanup_point_expr test36.cpp 46:58 - statement + expr_stmt test36.cpp 46:58 - operand + call_expr test36.cpp 46:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedVars - operand + - stringLength: 11 + nop_expr - arg + addr_expr - operand + string_cst ptr1 - operand + - stringLength: 5 + cleanup_point_expr test36.cpp 47:64 - statement + expr_stmt test36.cpp 47:64 - operand + call_expr test36.cpp 47:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedVars - operand + - stringLength: 11 + nop_expr - arg + addr_expr - operand + string_cst this->tmp1 - operand + - stringLength: 11 + cleanup_point_expr test36.cpp 48:65 - statement + expr_stmt test36.cpp 48:65 - operand + call_expr test36.cpp 48:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedReverseVars - operand + - stringLength: 18 + nop_expr - arg + addr_expr - operand + string_cst ptr1 - operand + - stringLength: 5 + cleanup_point_expr test36.cpp 49:71 - statement + expr_stmt test36.cpp 49:71 - operand + call_expr test36.cpp 49:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedReverseVars - operand + - stringLength: 18 + nop_expr - arg + addr_expr - operand + string_cst this->tmp1 - operand + - stringLength: 11 + block - operand + var_decl ptr1 test36.cpp 39:16 - block vars +function_decl func2 test36.cpp 52: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 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + tree_list - arg types + pointer_type - value + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + tree_list - chain + void_type - value + type_decl void <built-in> 0:0 - type name + - isAutogenerated: 1 + result_decl test36.cpp 53:5 - function result + - isAutogenerated: 1 + void_type - result type + type_decl void <built-in> 0:0 - type name + - isAutogenerated: 1 + parm_decl this test36.cpp 52:16 - argument + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + bind_expr test36.cpp 64:71 - code + var_decl ptr1 test36.cpp 54:16 - operand + integer_cst 64 - decl size + pointer_type - var type + record_type - nested type + type_decl Data1 test36.cpp 3:8 - type name + - isAutogenerated: 1 + field_decl val test36.cpp 5:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test36.cpp 6:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test36.cpp 7:14 - field + - signed + integer_cst 96 - decl size + type_decl Data1 test36.cpp 4:1 - field + - isAutogenerated: 1 + statement_list - operand + decl_expr test36.cpp 54:35 - statement + var_decl ptr1 test36.cpp 54:16 - operand + cleanup_point_expr test36.cpp 54:35 - statement + expr_stmt test36.cpp 54:35 - operand + convert_expr - expresssion + init_expr - operand + var_decl ptr1 test36.cpp 54:16 - operand + nop_expr - operand + call_expr test36.cpp 54:35 - operand + addr_expr - function + function_decl operator new [] <built-in> 0:0 - operand + - isAutogenerated: 1 + - isExternal: 1 + - isPublic: 1 + function_type - function type + pointer_type - function return type + tree_list - attribute + identifier_node alloc_size - purpose + tree_list - value + integer_cst 1 - value + tree_list - chain + identifier_node externally_visible - purpose + integer_cst 320 - arg + cleanup_point_expr test36.cpp 55:57 - statement + expr_stmt test36.cpp 55:57 - operand + call_expr test36.cpp 55:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 56:64 - statement + expr_stmt test36.cpp 56:64 - operand + call_expr test36.cpp 56:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 57:57 - statement + expr_stmt test36.cpp 57:57 - operand + call_expr test36.cpp 57:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 58:61 - statement + expr_stmt test36.cpp 58:61 - operand + call_expr test36.cpp 58:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 59:55 - statement + expr_stmt test36.cpp 59:55 - operand + call_expr test36.cpp 59:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst addNullVars - operand + - stringLength: 12 + nop_expr - arg + addr_expr - operand + string_cst - operand + - stringLength: 1 + cleanup_point_expr test36.cpp 60:61 - statement + expr_stmt test36.cpp 60:61 - operand + call_expr test36.cpp 60:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst removeNullVarsAll - operand + - stringLength: 18 + nop_expr - arg + addr_expr - operand + string_cst - operand + - stringLength: 1 + cleanup_point_expr test36.cpp 61:58 - statement + expr_stmt test36.cpp 61:58 - operand + call_expr test36.cpp 61:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedVars - operand + - stringLength: 11 + nop_expr - arg + addr_expr - operand + string_cst ptr1 - operand + - stringLength: 5 + cleanup_point_expr test36.cpp 62:64 - statement + expr_stmt test36.cpp 62:64 - operand + call_expr test36.cpp 62:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedVars - operand + - stringLength: 11 + nop_expr - arg + addr_expr - operand + string_cst this->tmp1 - operand + - stringLength: 11 + cleanup_point_expr test36.cpp 63:65 - statement + expr_stmt test36.cpp 63:65 - operand + call_expr test36.cpp 63:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedReverseVars - operand + - stringLength: 18 + nop_expr - arg + addr_expr - operand + string_cst ptr1 - operand + - stringLength: 5 + cleanup_point_expr test36.cpp 64:71 - statement + expr_stmt test36.cpp 64:71 - operand + call_expr test36.cpp 64:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedReverseVars - operand + - stringLength: 18 + nop_expr - arg + addr_expr - operand + string_cst this->tmp1 - operand + - stringLength: 11 + block - operand + var_decl ptr1 test36.cpp 54:16 - block vars +function_decl func3 test36.cpp 67: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 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + tree_list - arg types + pointer_type - value + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + tree_list - chain + void_type - value + type_decl void <built-in> 0:0 - type name + - isAutogenerated: 1 + result_decl test36.cpp 68:5 - function result + - isAutogenerated: 1 + void_type - result type + type_decl void <built-in> 0:0 - type name + - isAutogenerated: 1 + parm_decl this test36.cpp 67:16 - argument + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Object1 test36.cpp 22:7 - type name + - isAutogenerated: 1 + field_decl tmp1 test36.cpp 24:12 - field + - unsigned + integer_cst 64 - decl size + field_decl tmp2 test36.cpp 25:12 - field + - unsigned + integer_cst 64 - decl size + type_decl Object1 test36.cpp 23:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + bind_expr test36.cpp 79:71 - code + var_decl ptr1 test36.cpp 69:14 - operand + integer_cst 64 - decl size + pointer_type - var type + integer_type - nested type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 - type name + - isAutogenerated: 1 + integer_cst 32 - type size + integer_cst -2147483648 - min value + integer_cst 2147483647 - max value + statement_list - operand + decl_expr test36.cpp 69:31 - statement + var_decl ptr1 test36.cpp 69:14 - operand + cleanup_point_expr test36.cpp 69:31 - statement + expr_stmt test36.cpp 69:31 - operand + convert_expr - expresssion + init_expr - operand + var_decl ptr1 test36.cpp 69:14 - operand + nop_expr - operand + call_expr test36.cpp 69:31 - operand + addr_expr - function + function_decl operator new [] <built-in> 0:0 - operand + - isAutogenerated: 1 + - isExternal: 1 + - isPublic: 1 + function_type - function type + pointer_type - function return type + tree_list - attribute + identifier_node alloc_size - purpose + tree_list - value + integer_cst 1 - value + tree_list - chain + identifier_node externally_visible - purpose + integer_cst 40 - arg + cleanup_point_expr test36.cpp 70:57 - statement + expr_stmt test36.cpp 70:57 - operand + call_expr test36.cpp 70:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 71:64 - statement + expr_stmt test36.cpp 71:64 - operand + call_expr test36.cpp 71:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 72:57 - statement + expr_stmt test36.cpp 72:57 - operand + call_expr test36.cpp 72:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 73:61 - statement + expr_stmt test36.cpp 73:61 - operand + call_expr test36.cpp 73:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return 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 test36.cpp 74:55 - statement + expr_stmt test36.cpp 74:55 - operand + call_expr test36.cpp 74:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst addNullVars - operand + - stringLength: 12 + nop_expr - arg + addr_expr - operand + string_cst - operand + - stringLength: 1 + cleanup_point_expr test36.cpp 75:61 - statement + expr_stmt test36.cpp 75:61 - operand + call_expr test36.cpp 75:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst removeNullVarsAll - operand + - stringLength: 18 + nop_expr - arg + addr_expr - operand + string_cst - operand + - stringLength: 1 + cleanup_point_expr test36.cpp 76:58 - statement + expr_stmt test36.cpp 76:58 - operand + call_expr test36.cpp 76:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedVars - operand + - stringLength: 11 + nop_expr - arg + addr_expr - operand + string_cst ptr1 - operand + - stringLength: 5 + cleanup_point_expr test36.cpp 77:64 - statement + expr_stmt test36.cpp 77:64 - operand + call_expr test36.cpp 77:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedVars - operand + - stringLength: 11 + nop_expr - arg + addr_expr - operand + string_cst this->tmp1 - operand + - stringLength: 11 + cleanup_point_expr test36.cpp 78:65 - statement + expr_stmt test36.cpp 78:65 - operand + call_expr test36.cpp 78:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedReverseVars - operand + - stringLength: 18 + nop_expr - arg + addr_expr - operand + string_cst ptr1 - operand + - stringLength: 5 + cleanup_point_expr test36.cpp 79:71 - statement + expr_stmt test36.cpp 79:71 - operand + call_expr test36.cpp 79:31 - expresssion + addr_expr - function + function_decl paranuckerInternalTest test36.cpp 20:6 - operand + - isExternal: 1 + - isPublic: 1 + function_type - function type + void_type - function return type + nop_expr - arg + addr_expr - operand + string_cst = - operand + - stringLength: 2 + nop_expr - arg + addr_expr - operand + string_cst linkedReverseVars - operand + - stringLength: 18 + nop_expr - arg + addr_expr - operand + string_cst this->tmp1 - operand + - stringLength: 11 + block - operand + var_decl ptr1 test36.cpp 69:14 - block vars diff --git a/test/test36-02.txt b/test/test36-02.txt new file mode 100644 index 0000000..d0355df --- /dev/null +++ b/test/test36-02.txt @@ -0,0 +1,6 @@ +getData3: +getData1: +getData2: +func1: +func2: +func3: diff --git a/test/test36-03.txt b/test/test36-03.txt new file mode 100644 index 0000000..f482b17 --- /dev/null +++ b/test/test36-03.txt @@ -0,0 +1,319 @@ +function_decl getData3: +return_expr : +init_expr : +result_decl : +pointer_type : +record_type : +type_decl Data1: +field_decl val: +integer_cst 32: +field_decl ptrval: +integer_cst 64: +field_decl arr: +integer_cst 96: +type_decl Data1: +integer_cst 64: +component_ref : +indirect_ref : +parm_decl this: +pointer_type : +record_type : +type_decl 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: +field_decl ptrval: +integer_cst 64: +function_decl getData1: +return_expr : +init_expr : +result_decl : +pointer_type : +record_type : +type_decl Data1: +field_decl val: +integer_cst 32: +field_decl ptrval: +integer_cst 64: +field_decl arr: +integer_cst 96: +type_decl Data1: +integer_cst 64: +component_ref : +indirect_ref : +parm_decl this: +pointer_type : +record_type : +type_decl Object1: +field_decl tmp1: +integer_cst 64: +field_decl tmp2: +integer_cst 64: +type_decl Object1: +integer_cst 64: +field_decl tmp2: +integer_cst 64: +function_decl getData2: +return_expr : +init_expr : +result_decl : +pointer_type : +record_type : +type_decl Data1: +field_decl val: +integer_cst 32: +field_decl ptrval: +integer_cst 64: +field_decl arr: +integer_cst 96: +type_decl Data1: +integer_cst 64: +component_ref : +indirect_ref : +parm_decl this: +pointer_type : +record_type : +type_decl Object1: +field_decl tmp1: +integer_cst 64: +field_decl tmp2: +integer_cst 64: +type_decl Object1: +integer_cst 64: +field_decl tmp2: +integer_cst 64: +function_decl func1: +bind_expr : +statement_list : +decl_expr : +var_decl ptr1: +cleanup_point_expr : +expr_stmt : +convert_expr : +init_expr : +var_decl ptr1: +call_expr : +addr_expr : +function_decl operator new: +integer_cst 32: +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: +cleanup_point_expr : +expr_stmt : +call_expr : +addr_expr : +function_decl paranuckerInternalTest: +cleanup_point_expr : +expr_stmt : +call_expr : +addr_expr : +function_decl paranuckerInternalTest: +var_decl ptr1: +integer_cst 64: +pointer_type : +record_type : +type_decl Data1: +field_decl val: +integer_cst 32: +field_decl ptrval: +integer_cst 64: +field_decl arr: +integer_cst 96: +type_decl Data1: +block : +var_decl ptr1: +function_decl func2: +bind_expr : +statement_list : +decl_expr : +var_decl ptr1: +cleanup_point_expr : +expr_stmt : +convert_expr : +init_expr : +var_decl ptr1: +call_expr : +addr_expr : +function_decl operator new []: +integer_cst 320: +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: +cleanup_point_expr : +expr_stmt : +call_expr : +addr_expr : +function_decl paranuckerInternalTest: +cleanup_point_expr : +expr_stmt : +call_expr : +addr_expr : +function_decl paranuckerInternalTest: +var_decl ptr1: +integer_cst 64: +pointer_type : +record_type : +type_decl Data1: +field_decl val: +integer_cst 32: +field_decl ptrval: +integer_cst 64: +field_decl arr: +integer_cst 96: +type_decl Data1: +block : +var_decl ptr1: +function_decl func3: +bind_expr : +statement_list : +decl_expr : +var_decl ptr1: +cleanup_point_expr : +expr_stmt : +convert_expr : +init_expr : +var_decl ptr1: +call_expr : +addr_expr : +function_decl operator new []: +integer_cst 40: +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: +cleanup_point_expr : +expr_stmt : +call_expr : +addr_expr : +function_decl paranuckerInternalTest: +cleanup_point_expr : +expr_stmt : +call_expr : +addr_expr : +function_decl paranuckerInternalTest: +var_decl ptr1: +integer_cst 64: +pointer_type : +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +block : +var_decl ptr1: diff --git a/test/test36-04.txt b/test/test36-04.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/test/test36-04.txt diff --git a/test/test36-05.txt b/test/test36-05.txt new file mode 100644 index 0000000..3c4777d --- /dev/null +++ b/test/test36-05.txt @@ -0,0 +1,12 @@ +test36.cpp: In member function 'void Object1::func1()': +test36.cpp:39:16: warning: unused variable 'ptr1' [-Wunused-variable] + Data1 *ptr1 = new Data1; + ^ +test36.cpp: In member function 'void Object1::func2()': +test36.cpp:54:16: warning: unused variable 'ptr1' [-Wunused-variable] + Data1 *ptr1 = new Data1[10]; + ^ +test36.cpp: In member function 'void Object1::func3()': +test36.cpp:69:14: warning: unused variable 'ptr1' [-Wunused-variable] + int *ptr1 = new int[10]; + ^ diff --git a/test/test36.cpp b/test/test36.cpp new file mode 100644 index 0000000..84e9dea --- /dev/null +++ b/test/test36.cpp @@ -0,0 +1,81 @@ +struct Data1; + +struct Data1 +{ + int val; + Data1 *ptrval; + int arr[3]; + Data1 *getData3() + { + return ptrval; + } +}; + +struct Data2 : public Data1 +{ +}; + +int k; + +void paranuckerInternalTest(const char *action, const char *collection, const char *values); + +class Object1 +{ + Data1 *tmp1; + Data1 *tmp2; + + Data1 *getData1() + { + return tmp2; + } + + Data1 *getData2() __attribute__((returns_nonnull)) + { + return tmp2; + } + + void func1() + { + Data1 *ptr1 = new Data1; + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + paranuckerInternalTest("=", "linkedVars", "ptr1"); + paranuckerInternalTest("=", "linkedVars", "this->tmp1"); + paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); + paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); + } + + void func2() + { + Data1 *ptr1 = new Data1[10]; + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + paranuckerInternalTest("=", "linkedVars", "ptr1"); + paranuckerInternalTest("=", "linkedVars", "this->tmp1"); + paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); + paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); + } + + void func3() + { + int *ptr1 = new int[10]; + paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", ""); + paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "addNullVars", ""); + paranuckerInternalTest("=", "removeNullVarsAll", ""); + paranuckerInternalTest("=", "linkedVars", "ptr1"); + paranuckerInternalTest("=", "linkedVars", "this->tmp1"); + paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); + paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); + } +}; |