C++: Accept test results with location fixes

This commit is contained in:
Jonas Jensen
2020-05-28 09:42:49 +02:00
parent 6eaf64c896
commit 9153f568be
28 changed files with 890 additions and 923 deletions

View File

@@ -430,28 +430,28 @@ DynamicCast.cpp:
#-----| Conversion = [BaseClassConversion] base class conversion
#-----| Type = [PointerType] Base *
#-----| ValueCategory = prvalue
#-----| expr: [ThisExpr] this
#-----| Type = [PointerType] Derived *
#-----| ValueCategory = prvalue(load)
# 4| expr: [ThisExpr] this
# 4| Type = [PointerType] Derived *
# 4| ValueCategory = prvalue(load)
#-----| 0: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] const Base &
#-----| ValueCategory = prvalue
#-----| expr: [PointerDereferenceExpr] * ...
#-----| Type = [SpecifiedType] const Base
#-----| ValueCategory = lvalue
# 4| expr: [PointerDereferenceExpr] * ...
# 4| Type = [SpecifiedType] const Base
# 4| ValueCategory = lvalue
#-----| 0: [CStyleCast] (const Base *)...
#-----| Conversion = [BaseClassConversion] base class conversion
#-----| Type = [PointerType] const Base *
#-----| ValueCategory = prvalue
#-----| expr: [AddressOfExpr] & ...
#-----| Type = [PointerType] const Derived *
#-----| ValueCategory = prvalue
# 4| expr: [AddressOfExpr] & ...
# 4| Type = [PointerType] const Derived *
# 4| ValueCategory = prvalue
#-----| 0: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Derived
#-----| ValueCategory = lvalue
#-----| expr: [VariableAccess] p#0
#-----| Type = [LValueReferenceType] const Derived &
#-----| ValueCategory = prvalue(load)
# 4| expr: [VariableAccess] p#0
# 4| Type = [LValueReferenceType] const Derived &
# 4| ValueCategory = prvalue(load)
#-----| 1: [ReturnStmt] return ...
#-----| 0: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] Derived &
@@ -1248,9 +1248,9 @@ union_etc.cpp:
# 6| 0: [PointerFieldAccess] x
# 6| Type = [IntType] int
# 6| ValueCategory = lvalue
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] S *
#-----| ValueCategory = prvalue(load)
# 6| -1: [ThisExpr] this
# 6| Type = [PointerType] S *
# 6| ValueCategory = prvalue(load)
# 6| 1: [VariableAccess] val
# 6| Type = [IntType] int
# 6| ValueCategory = prvalue(load)
@@ -1431,9 +1431,9 @@ union_etc.cpp:
# 33| 0: [PointerFieldAccess] q
# 33| Type = [IntType] int
# 33| ValueCategory = lvalue
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] T *
#-----| ValueCategory = prvalue(load)
# 33| -1: [ThisExpr] this
# 33| Type = [PointerType] T *
# 33| ValueCategory = prvalue(load)
# 33| 1: [VariableAccess] val
# 33| Type = [IntType] int
# 33| ValueCategory = prvalue(load)

View File

@@ -79,4 +79,4 @@
| blocks.cpp:57:12:57:32 | call to expression |
| blocks.cpp:57:14:57:30 | ^ { ... } |
| blocks.cpp:57:23:57:26 | four |
| file://:0:0:0:0 | this |
| blocks.cpp:57:23:57:26 | this |

View File

@@ -1,5 +1,8 @@
| edg.c:12:14:12:51 | (int)... | 0 | 0 |
| edg.c:12:14:12:51 | __builtin_offsetof | 1 | 1 |
| edg.c:12:14:12:51 | mystruct | 0 | 0 |
| edg.c:12:49:12:50 | 0 | 0 | 0 |
| edg.c:12:49:12:50 | * ... | 0 | 0 |
| edg.c:12:49:12:50 | f2 | 0 | 0 |
| edg.c:13:14:13:45 | 0 | 0 | 0 |
| edg.c:13:14:13:45 | & ... | 0 | 0 |
@@ -10,6 +13,3 @@
| edg.c:13:14:13:45 | (size_t)... | 0 | 0 |
| edg.c:13:14:13:45 | __INTADDR__ | 1 | 1 |
| edg.c:13:43:13:44 | f2 | 0 | 0 |
| file://:0:0:0:0 | 0 | 0 | 0 |
| file://:0:0:0:0 | * ... | 0 | 0 |
| file://:0:0:0:0 | mystruct | 0 | 0 |

View File

@@ -1,298 +1,298 @@
| file://:0:0:0:0 | 0 | | 0 |
| file://:0:0:0:0 | 1 | | 1 |
| file://:0:0:0:0 | 2 | | 2 |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C1 | | <none> |
| file://:0:0:0:0 | C2 | | <none> |
| file://:0:0:0:0 | C2 | | <none> |
| file://:0:0:0:0 | C2 | | <none> |
| file://:0:0:0:0 | C2 | | <none> |
| file://:0:0:0:0 | C2 | | <none> |
| file://:0:0:0:0 | C2 | | <none> |
| file://:0:0:0:0 | C3 | | <none> |
| file://:0:0:0:0 | C3 | | <none> |
| file://:0:0:0:0 | C3 | | <none> |
| file://:0:0:0:0 | C3 | | <none> |
| file://:0:0:0:0 | C3 | | <none> |
| file://:0:0:0:0 | C3 | | <none> |
| file://:0:0:0:0 | C4 | | <none> |
| file://:0:0:0:0 | C4 | | <none> |
| file://:0:0:0:0 | C5 | | <none> |
| file://:0:0:0:0 | C5 | | <none> |
| file://:0:0:0:0 | a_final_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct | | <none> |
| file://:0:0:0:0 | a_struct_plus | | <none> |
| file://:0:0:0:0 | a_union | | <none> |
| file://:0:0:0:0 | a_union | | <none> |
| file://:0:0:0:0 | a_union | | <none> |
| file://:0:0:0:0 | abstract | | <none> |
| file://:0:0:0:0 | abstract | | <none> |
| file://:0:0:0:0 | abstract | | <none> |
| file://:0:0:0:0 | an_enum | | <none> |
| file://:0:0:0:0 | an_enum | | <none> |
| file://:0:0:0:0 | an_enum | | <none> |
| file://:0:0:0:0 | data | | <none> |
| file://:0:0:0:0 | double | | <none> |
| file://:0:0:0:0 | double | | <none> |
| file://:0:0:0:0 | double | | <none> |
| file://:0:0:0:0 | double | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | empty | | <none> |
| file://:0:0:0:0 | float | | <none> |
| file://:0:0:0:0 | float | | <none> |
| file://:0:0:0:0 | float | | <none> |
| file://:0:0:0:0 | float | | <none> |
| file://:0:0:0:0 | float | | <none> |
| file://:0:0:0:0 | float | | <none> |
| file://:0:0:0:0 | has_assign | | <none> |
| file://:0:0:0:0 | has_assign | | <none> |
| file://:0:0:0:0 | has_assign | | <none> |
| file://:0:0:0:0 | has_assign | | <none> |
| file://:0:0:0:0 | has_assign | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_copy | | <none> |
| file://:0:0:0:0 | has_noexcept_destructor | | <none> |
| file://:0:0:0:0 | has_noexcept_destructor | | <none> |
| file://:0:0:0:0 | has_nothrow_assign | | <none> |
| file://:0:0:0:0 | has_nothrow_assign | | <none> |
| file://:0:0:0:0 | has_nothrow_constructor | | <none> |
| file://:0:0:0:0 | has_nothrow_constructor | | <none> |
| file://:0:0:0:0 | has_nothrow_copy | | <none> |
| file://:0:0:0:0 | has_user_destructor | | <none> |
| file://:0:0:0:0 | has_user_destructor | | <none> |
| file://:0:0:0:0 | has_user_destructor | | <none> |
| file://:0:0:0:0 | has_user_destructor | | <none> |
| file://:0:0:0:0 | has_user_destructor | | <none> |
| file://:0:0:0:0 | has_user_destructor | | <none> |
| file://:0:0:0:0 | has_user_destructor | | <none> |
| file://:0:0:0:0 | has_virtual_destructor | | <none> |
| file://:0:0:0:0 | has_virtual_destructor | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | int | | <none> |
| file://:0:0:0:0 | long | | <none> |
| file://:0:0:0:0 | long | | <none> |
| file://:0:0:0:0 | long | | <none> |
| file://:0:0:0:0 | long | | <none> |
| file://:0:0:0:0 | method | | <none> |
| file://:0:0:0:0 | method | | <none> |
| file://:0:0:0:0 | method | | <none> |
| file://:0:0:0:0 | method_data | | <none> |
| file://:0:0:0:0 | no_has_nothrow_constructor | | <none> |
| file://:0:0:0:0 | no_has_nothrow_constructor | | <none> |
| ms.cpp:38:41:38:45 | 0 | | 0 |
| ms.cpp:88:27:88:45 | __has_assign | empty | 0 |
| ms.cpp:88:27:88:45 | empty | | <none> |
| ms.cpp:89:27:89:50 | __has_assign | has_assign | 1 |
| ms.cpp:89:27:89:50 | has_assign | | <none> |
| ms.cpp:91:25:91:41 | __has_copy | empty | 0 |
| ms.cpp:91:25:91:41 | empty | | <none> |
| ms.cpp:92:25:92:44 | __has_copy | has_copy | 1 |
| ms.cpp:92:25:92:44 | has_copy | | <none> |
| ms.cpp:94:35:94:61 | __has_nothrow_assign | empty | 1 |
| ms.cpp:94:35:94:61 | empty | | <none> |
| ms.cpp:95:35:95:66 | __has_nothrow_assign | has_assign | 0 |
| ms.cpp:95:35:95:66 | has_assign | | <none> |
| ms.cpp:96:35:96:74 | __has_nothrow_assign | has_nothrow_assign | 1 |
| ms.cpp:96:35:96:74 | has_nothrow_assign | | <none> |
| ms.cpp:98:40:98:71 | __has_nothrow_constructor | empty | 1 |
| ms.cpp:98:40:98:71 | empty | | <none> |
| ms.cpp:99:40:99:92 | __has_nothrow_constructor | no_has_nothrow_constructor | 0 |
| ms.cpp:99:40:99:92 | no_has_nothrow_constructor | | <none> |
| ms.cpp:100:40:100:89 | __has_nothrow_constructor | has_nothrow_constructor | 1 |
| ms.cpp:100:40:100:89 | has_nothrow_constructor | | <none> |
| ms.cpp:102:33:102:57 | __has_nothrow_copy | empty | 1 |
| ms.cpp:102:33:102:57 | empty | | <none> |
| ms.cpp:103:33:103:60 | __has_nothrow_copy | has_copy | 0 |
| ms.cpp:103:33:103:60 | has_copy | | <none> |
| ms.cpp:104:33:104:68 | __has_nothrow_copy | has_nothrow_copy | 1 |
| ms.cpp:104:33:104:68 | has_nothrow_copy | | <none> |
| ms.cpp:106:35:106:61 | __has_trivial_assign | empty | 1 |
| ms.cpp:106:35:106:61 | empty | | <none> |
| ms.cpp:107:35:107:66 | __has_trivial_assign | has_assign | 0 |
| ms.cpp:107:35:107:66 | has_assign | | <none> |
| ms.cpp:109:40:109:71 | __has_trivial_constructor | empty | 1 |
| ms.cpp:109:40:109:71 | empty | | <none> |
| ms.cpp:110:40:110:92 | __has_trivial_constructor | no_has_nothrow_constructor | 0 |
| ms.cpp:110:40:110:92 | no_has_nothrow_constructor | | <none> |
| ms.cpp:111:40:111:89 | __has_trivial_constructor | has_nothrow_constructor | 0 |
| ms.cpp:111:40:111:89 | has_nothrow_constructor | | <none> |
| ms.cpp:113:33:113:57 | __has_trivial_copy | empty | 1 |
| ms.cpp:113:33:113:57 | empty | | <none> |
| ms.cpp:114:33:114:60 | __has_trivial_copy | has_copy | 0 |
| ms.cpp:114:33:114:60 | has_copy | | <none> |
| ms.cpp:116:36:116:63 | __has_user_destructor | empty | 0 |
| ms.cpp:116:36:116:63 | empty | | <none> |
| ms.cpp:117:36:117:77 | __has_user_destructor | has_user_destructor | 1 |
| ms.cpp:117:36:117:77 | has_user_destructor | | <none> |
| ms.cpp:118:36:118:80 | __has_user_destructor | has_virtual_destructor | 1 |
| ms.cpp:118:36:118:80 | has_virtual_destructor | | <none> |
| ms.cpp:120:39:120:69 | __has_virtual_destructor | empty | 0 |
| ms.cpp:120:39:120:69 | empty | | <none> |
| ms.cpp:121:39:121:83 | __has_virtual_destructor | has_user_destructor | 0 |
| ms.cpp:121:39:121:83 | has_user_destructor | | <none> |
| ms.cpp:122:39:122:86 | __has_virtual_destructor | has_virtual_destructor | 1 |
| ms.cpp:122:39:122:86 | has_virtual_destructor | | <none> |
| ms.cpp:124:28:124:47 | __is_abstract | empty | 0 |
| ms.cpp:124:28:124:47 | empty | | <none> |
| ms.cpp:125:28:125:50 | __is_abstract | abstract | 1 |
| ms.cpp:125:28:125:50 | abstract | | <none> |
| ms.cpp:126:28:126:48 | __is_abstract | method | 0 |
| ms.cpp:126:28:126:48 | method | | <none> |
| ms.cpp:128:27:128:45 | C1 | | <none> |
| ms.cpp:128:27:128:45 | C1 | | <none> |
| ms.cpp:128:27:128:45 | __is_base_of | C1,C1 | 1 |
| ms.cpp:129:27:129:45 | C1 | | <none> |
| ms.cpp:129:27:129:45 | C2 | | <none> |
| ms.cpp:129:27:129:45 | __is_base_of | C1,C2 | 1 |
| ms.cpp:130:27:130:45 | C1 | | <none> |
| ms.cpp:130:27:130:45 | C3 | | <none> |
| ms.cpp:130:27:130:45 | __is_base_of | C1,C3 | 1 |
| ms.cpp:131:27:131:45 | C1 | | <none> |
| ms.cpp:131:27:131:45 | C5 | | <none> |
| ms.cpp:131:27:131:45 | __is_base_of | C1,C5 | 0 |
| ms.cpp:132:27:132:45 | C2 | | <none> |
| ms.cpp:132:27:132:45 | C3 | | <none> |
| ms.cpp:132:27:132:45 | __is_base_of | C3,C2 | 0 |
| ms.cpp:133:27:133:45 | C1 | | <none> |
| ms.cpp:133:27:133:45 | C3 | | <none> |
| ms.cpp:133:27:133:45 | __is_base_of | C3,C1 | 0 |
| ms.cpp:134:27:134:45 | C2 | | <none> |
| ms.cpp:134:27:134:45 | C4 | | <none> |
| ms.cpp:134:27:134:45 | __is_base_of | C2,C4 | 0 |
| ms.cpp:135:27:135:47 | __is_base_of | int,int | 0 |
| ms.cpp:135:27:135:47 | int | | <none> |
| ms.cpp:135:27:135:47 | int | | <none> |
| ms.cpp:136:27:136:48 | __is_base_of | int,long | 0 |
| ms.cpp:136:27:136:48 | int | | <none> |
| ms.cpp:136:27:136:48 | long | | <none> |
| ms.cpp:137:28:137:49 | __is_base_of | long,int | 0 |
| ms.cpp:137:28:137:49 | int | | <none> |
| ms.cpp:137:28:137:49 | long | | <none> |
| ms.cpp:138:28:138:51 | __is_base_of | int,double | 0 |
| ms.cpp:138:28:138:51 | double | | <none> |
| ms.cpp:138:28:138:51 | int | | <none> |
| ms.cpp:139:28:139:51 | __is_base_of | double,int | 0 |
| ms.cpp:139:28:139:51 | double | | <none> |
| ms.cpp:139:28:139:51 | int | | <none> |
| ms.cpp:141:25:141:41 | __is_class | empty | 1 |
| ms.cpp:141:25:141:41 | empty | | <none> |
| ms.cpp:142:25:142:43 | __is_class | an_enum | 0 |
| ms.cpp:142:25:142:43 | an_enum | | <none> |
| ms.cpp:143:25:143:43 | __is_class | a_union | 0 |
| ms.cpp:143:25:143:43 | a_union | | <none> |
| ms.cpp:144:25:144:44 | __is_class | a_struct | 1 |
| ms.cpp:144:25:144:44 | a_struct | | <none> |
| ms.cpp:145:25:145:39 | __is_class | int | 0 |
| ms.cpp:145:25:145:39 | int | | <none> |
| ms.cpp:147:34:147:59 | C1 | | <none> |
| ms.cpp:147:34:147:59 | C1 | | <none> |
| ms.cpp:147:34:147:59 | __is_convertible_to | C1,C1 | 1 |
| ms.cpp:148:34:148:59 | C1 | | <none> |
| ms.cpp:148:34:148:59 | C2 | | <none> |
| ms.cpp:148:34:148:59 | __is_convertible_to | C1,C2 | 0 |
| ms.cpp:149:34:149:59 | C1 | | <none> |
| ms.cpp:149:34:149:59 | C3 | | <none> |
| ms.cpp:149:34:149:59 | __is_convertible_to | C1,C3 | 0 |
| ms.cpp:150:34:150:59 | C1 | | <none> |
| ms.cpp:150:34:150:59 | C5 | | <none> |
| ms.cpp:150:34:150:59 | __is_convertible_to | C1,C5 | 0 |
| ms.cpp:151:34:151:59 | C2 | | <none> |
| ms.cpp:151:34:151:59 | C3 | | <none> |
| ms.cpp:151:34:151:59 | __is_convertible_to | C3,C2 | 0 |
| ms.cpp:152:34:152:59 | C1 | | <none> |
| ms.cpp:152:34:152:59 | C3 | | <none> |
| ms.cpp:152:34:152:59 | __is_convertible_to | C3,C1 | 0 |
| ms.cpp:153:34:153:59 | C2 | | <none> |
| ms.cpp:153:34:153:59 | C4 | | <none> |
| ms.cpp:153:34:153:59 | __is_convertible_to | C2,C4 | 0 |
| ms.cpp:154:34:154:61 | __is_convertible_to | int,int | 1 |
| ms.cpp:154:34:154:61 | int | | <none> |
| ms.cpp:154:34:154:61 | int | | <none> |
| ms.cpp:155:34:155:62 | __is_convertible_to | int,long | 1 |
| ms.cpp:155:34:155:62 | int | | <none> |
| ms.cpp:155:34:155:62 | long | | <none> |
| ms.cpp:156:35:156:63 | __is_convertible_to | long,int | 1 |
| ms.cpp:156:35:156:63 | int | | <none> |
| ms.cpp:156:35:156:63 | long | | <none> |
| ms.cpp:157:35:157:65 | __is_convertible_to | int,double | 1 |
| ms.cpp:157:35:157:65 | double | | <none> |
| ms.cpp:157:35:157:65 | int | | <none> |
| ms.cpp:158:35:158:65 | __is_convertible_to | double,int | 1 |
| ms.cpp:158:35:158:65 | double | | <none> |
| ms.cpp:158:35:158:65 | int | | <none> |
| ms.cpp:160:25:160:41 | __is_empty | empty | 1 |
| ms.cpp:160:25:160:41 | empty | | <none> |
| ms.cpp:161:25:161:42 | __is_empty | method | 1 |
| ms.cpp:161:25:161:42 | method | | <none> |
| ms.cpp:162:25:162:40 | __is_empty | data | 0 |
| ms.cpp:162:25:162:40 | data | | <none> |
| ms.cpp:163:25:163:47 | __is_empty | method_data | 0 |
| ms.cpp:163:25:163:47 | method_data | | <none> |
| ms.cpp:164:25:164:44 | __is_empty | abstract | 0 |
| ms.cpp:164:25:164:44 | abstract | | <none> |
| ms.cpp:166:24:166:39 | __is_enum | empty | 0 |
| ms.cpp:166:24:166:39 | empty | | <none> |
| ms.cpp:167:24:167:41 | __is_enum | an_enum | 1 |
| ms.cpp:167:24:167:41 | an_enum | | <none> |
| ms.cpp:168:24:168:41 | __is_enum | a_union | 0 |
| ms.cpp:168:24:168:41 | a_union | | <none> |
| ms.cpp:170:31:170:53 | __is_polymorphic | empty | 0 |
| ms.cpp:170:31:170:53 | empty | | <none> |
| ms.cpp:171:31:171:56 | __is_polymorphic | abstract | 1 |
| ms.cpp:171:31:171:56 | abstract | | <none> |
| ms.cpp:172:31:172:54 | __is_polymorphic | method | 0 |
| ms.cpp:172:31:172:54 | method | | <none> |
| ms.cpp:174:25:174:41 | __is_union | empty | 0 |
| ms.cpp:174:25:174:41 | empty | | <none> |
| ms.cpp:175:25:175:43 | __is_union | an_enum | 0 |
| ms.cpp:175:25:175:43 | an_enum | | <none> |
| ms.cpp:176:25:176:43 | __is_union | a_union | 1 |
| ms.cpp:176:25:176:43 | a_union | | <none> |
| ms.cpp:177:25:177:44 | __is_union | a_struct | 0 |
| ms.cpp:177:25:177:44 | a_struct | | <none> |
| ms.cpp:178:25:178:39 | __is_union | int | 0 |
| ms.cpp:178:25:178:39 | int | | <none> |
| ms.cpp:180:42:180:79 | __is_trivially_constructible | a_struct | 1 |
| ms.cpp:180:42:180:79 | a_struct | | <none> |
| ms.cpp:181:42:181:76 | __is_trivially_constructible | empty | 1 |
| ms.cpp:181:42:181:76 | empty | | <none> |
| ms.cpp:182:42:182:79 | __is_trivially_constructible | has_copy | 0 |
| ms.cpp:182:42:182:79 | has_copy | | <none> |
| ms.cpp:184:31:184:57 | __is_destructible | a_struct | 1 |
| ms.cpp:184:31:184:57 | a_struct | | <none> |
| ms.cpp:185:31:185:54 | __is_destructible | empty | 1 |
| ms.cpp:185:31:185:54 | empty | | <none> |
| ms.cpp:186:31:186:57 | __is_destructible | has_copy | 1 |
| ms.cpp:186:31:186:57 | has_copy | | <none> |
| ms.cpp:187:31:187:68 | __is_destructible | has_user_destructor | 0 |
| ms.cpp:187:31:187:68 | has_user_destructor | | <none> |
| ms.cpp:189:39:189:73 | __is_nothrow_destructible | a_struct | 1 |
| ms.cpp:189:39:189:73 | a_struct | | <none> |
| ms.cpp:190:39:190:70 | __is_nothrow_destructible | empty | 1 |
| ms.cpp:190:39:190:70 | empty | | <none> |
| ms.cpp:191:39:191:73 | __is_nothrow_destructible | has_copy | 1 |
| ms.cpp:191:39:191:73 | has_copy | | <none> |
| ms.cpp:192:39:192:84 | __is_nothrow_destructible | has_user_destructor | 0 |
| ms.cpp:192:39:192:84 | has_user_destructor | | <none> |
| ms.cpp:193:39:193:88 | __is_nothrow_destructible | has_noexcept_destructor | 0 |
| ms.cpp:193:39:193:88 | has_noexcept_destructor | | <none> |
| ms.cpp:195:41:195:77 | __is_trivially_destructible | a_struct | 1 |
| ms.cpp:195:41:195:77 | a_struct | | <none> |
| ms.cpp:196:41:196:74 | __is_trivially_destructible | empty | 1 |
| ms.cpp:196:41:196:74 | empty | | <none> |
| ms.cpp:197:41:197:77 | __is_trivially_destructible | has_copy | 1 |
| ms.cpp:197:41:197:77 | has_copy | | <none> |
| ms.cpp:198:41:198:88 | __is_trivially_destructible | has_user_destructor | 0 |
| ms.cpp:198:41:198:88 | has_user_destructor | | <none> |
| ms.cpp:199:41:199:92 | __is_trivially_destructible | has_noexcept_destructor | 0 |
| ms.cpp:199:41:199:92 | has_noexcept_destructor | | <none> |
| ms.cpp:201:39:201:82 | __is_trivially_assignable | a_struct,a_struct | 1 |
| ms.cpp:201:39:201:82 | a_struct | | <none> |
| ms.cpp:201:39:201:82 | a_struct | | <none> |
| ms.cpp:202:39:202:79 | __is_trivially_assignable | a_struct,empty | 0 |
| ms.cpp:202:39:202:79 | a_struct | | <none> |
| ms.cpp:202:39:202:79 | empty | | <none> |
| ms.cpp:203:39:203:77 | __is_trivially_assignable | a_struct,int | 0 |
| ms.cpp:203:39:203:77 | a_struct | | <none> |
| ms.cpp:203:39:203:77 | int | | <none> |
| ms.cpp:205:37:205:78 | __is_nothrow_assignable | a_struct,a_struct | 1 |
| ms.cpp:205:37:205:78 | a_struct | | <none> |
| ms.cpp:205:37:205:78 | a_struct | | <none> |
| ms.cpp:206:37:206:75 | __is_nothrow_assignable | a_struct,empty | 0 |
| ms.cpp:206:37:206:75 | a_struct | | <none> |
| ms.cpp:206:37:206:75 | empty | | <none> |
| ms.cpp:207:37:207:73 | __is_nothrow_assignable | a_struct,int | 0 |
| ms.cpp:207:37:207:73 | a_struct | | <none> |
| ms.cpp:207:37:207:73 | int | | <none> |
| ms.cpp:209:34:209:63 | __is_standard_layout | a_struct | 1 |
| ms.cpp:209:34:209:63 | a_struct | | <none> |
| ms.cpp:210:34:210:68 | __is_standard_layout | a_struct_plus | 0 |
| ms.cpp:210:34:210:68 | a_struct_plus | | <none> |
| ms.cpp:212:37:212:66 | __is_trivially_copyable | empty | 1 |
| ms.cpp:212:37:212:66 | empty | | <none> |
| ms.cpp:213:37:213:69 | __is_trivially_copyable | has_copy | 0 |
| ms.cpp:213:37:213:69 | has_copy | | <none> |
| ms.cpp:215:31:215:54 | __is_literal_type | empty | 1 |
| ms.cpp:215:31:215:54 | empty | | <none> |
| ms.cpp:216:31:216:68 | __is_literal_type | has_user_destructor | 0 |
| ms.cpp:216:31:216:68 | has_user_destructor | | <none> |
| ms.cpp:218:44:218:80 | __has_trivial_move_constructor | empty | 1 |
| ms.cpp:218:44:218:80 | empty | | <none> |
| ms.cpp:219:44:219:83 | __has_trivial_move_constructor | has_copy | 0 |
| ms.cpp:219:44:219:83 | has_copy | | <none> |
| ms.cpp:220:44:220:94 | __has_trivial_move_constructor | has_user_destructor | 1 |
| ms.cpp:220:44:220:94 | has_user_destructor | | <none> |
| ms.cpp:222:39:222:70 | __has_trivial_move_assign | empty | 1 |
| ms.cpp:222:39:222:70 | empty | | <none> |
| ms.cpp:223:39:223:73 | __has_trivial_move_assign | has_copy | 1 |
| ms.cpp:223:39:223:73 | has_copy | | <none> |
| ms.cpp:224:39:224:75 | __has_trivial_move_assign | has_assign | 0 |
| ms.cpp:224:39:224:75 | has_assign | | <none> |
| ms.cpp:226:39:226:70 | __has_nothrow_move_assign | empty | 1 |
| ms.cpp:226:39:226:70 | empty | | <none> |
| ms.cpp:227:39:227:73 | __has_nothrow_move_assign | has_copy | 1 |
| ms.cpp:227:39:227:73 | has_copy | | <none> |
| ms.cpp:228:39:228:75 | __has_nothrow_move_assign | has_assign | 0 |
| ms.cpp:228:39:228:75 | has_assign | | <none> |
| ms.cpp:229:39:229:83 | __has_nothrow_move_assign | has_nothrow_assign | 1 |
| ms.cpp:229:39:229:83 | has_nothrow_assign | | <none> |
| ms.cpp:231:32:231:54 | __is_constructible | int | 1 |
| ms.cpp:231:32:231:54 | int | | <none> |
| ms.cpp:232:32:232:60 | __is_constructible | int,float | 1 |
| ms.cpp:232:32:232:60 | float | | <none> |
| ms.cpp:232:32:232:60 | int | | <none> |
| ms.cpp:233:32:233:66 | __is_constructible | int,float,float | 0 |
| ms.cpp:233:32:233:66 | float | | <none> |
| ms.cpp:233:32:233:66 | float | | <none> |
| ms.cpp:233:32:233:66 | int | | <none> |
| ms.cpp:235:40:235:70 | __is_nothrow_constructible | int | 1 |
| ms.cpp:235:40:235:70 | int | | <none> |
| ms.cpp:236:40:236:76 | __is_nothrow_constructible | int,float | 1 |
| ms.cpp:236:40:236:76 | float | | <none> |
| ms.cpp:236:40:236:76 | int | | <none> |
| ms.cpp:237:40:237:82 | __is_nothrow_constructible | int,float,float | 0 |
| ms.cpp:237:40:237:82 | float | | <none> |
| ms.cpp:237:40:237:82 | float | | <none> |
| ms.cpp:237:40:237:82 | int | | <none> |
| ms.cpp:239:29:239:50 | __has_finalizer | empty | 0 |
| ms.cpp:239:29:239:50 | empty | | <none> |
| ms.cpp:241:27:241:46 | __is_delegate | empty | 0 |
| ms.cpp:241:27:241:46 | empty | | <none> |
| ms.cpp:243:34:243:60 | __is_interface_class | empty | 0 |
| ms.cpp:243:34:243:60 | empty | | <none> |
| ms.cpp:245:28:245:48 | __is_ref_array | empty | 0 |
| ms.cpp:245:28:245:48 | empty | | <none> |
| ms.cpp:247:28:247:48 | __is_ref_class | empty | 0 |
| ms.cpp:247:28:247:48 | empty | | <none> |
| ms.cpp:249:25:249:42 | __is_sealed | empty | 0 |
| ms.cpp:249:25:249:42 | empty | | <none> |
| ms.cpp:251:37:251:66 | __is_simple_value_class | empty | 0 |
| ms.cpp:251:37:251:66 | empty | | <none> |
| ms.cpp:253:30:253:52 | __is_value_class | empty | 0 |
| ms.cpp:253:30:253:52 | empty | | <none> |
| ms.cpp:255:24:255:43 | __is_final | a_struct | 0 |
| ms.cpp:255:24:255:43 | a_struct | | <none> |
| ms.cpp:256:24:256:49 | __is_final | a_final_struct | 1 |
| ms.cpp:256:24:256:49 | a_final_struct | | <none> |

View File

@@ -1,6 +1,6 @@
| file://:0:0:0:0 | 0 |
| file://:0:0:0:0 | this |
| test.cpp:4:9:4:9 | call to f |
| test.cpp:4:9:4:9 | f |
| test.cpp:4:9:4:9 | this |
| test.cpp:4:9:4:11 | call to expression |
| test.cpp:10:5:10:11 | call to Foo |

View File

@@ -1,7 +1,6 @@
| file://:0:0:0:0 | |
| file://:0:0:0:0 | (global namespace) |
| file://:0:0:0:0 | <error expr> |
| file://:0:0:0:0 | <error expr> |
| file://:0:0:0:0 | <error> |
| file://:0:0:0:0 | There was an error during this compilation |
| file://:0:0:0:0 | _Complex __float128 |
@@ -125,6 +124,7 @@
| test.cpp:2:10:4:1 | { ... } |
| test.cpp:3:5:3:15 | if (...) ... |
| test.cpp:3:9:3:12 | (condition decl) |
| test.cpp:3:9:3:12 | <error expr> |
| test.cpp:3:12:3:12 | <error> |
| test.cpp:3:12:3:12 | a condition declaration must include an initializer |
| test.cpp:3:12:3:12 | declaration of <error> |

View File

@@ -551,7 +551,7 @@ irGuardsControl
| test.c:146:8:146:8 | Load: x | false | 147 | 147 |
| test.c:152:10:152:10 | Load: x | true | 152 | 152 |
| test.c:152:15:152:15 | Load: y | true | 152 | 152 |
| test.cpp:18:8:18:12 | CompareNE: (bool)... | true | 0 | 0 |
| test.cpp:18:8:18:12 | CompareNE: (bool)... | true | 19 | 19 |
| test.cpp:31:7:31:13 | CompareEQ: ... == ... | false | 34 | 34 |
| test.cpp:31:7:31:13 | CompareEQ: ... == ... | true | 30 | 30 |
| test.cpp:31:7:31:13 | CompareEQ: ... == ... | true | 32 | 32 |
@@ -690,8 +690,8 @@ irGuardsEnsure
| test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:14:109:14 | Constant: 0 | != | test.c:109:9:109:9 | Load: x | 0 | 113 | 113 |
| test.c:109:19:109:23 | CompareLT: ... < ... | test.c:109:19:109:19 | Load: y | >= | test.c:109:23:109:23 | Constant: (long)... | 0 | 113 | 113 |
| test.c:109:19:109:23 | CompareLT: ... < ... | test.c:109:23:109:23 | Constant: (long)... | < | test.c:109:19:109:19 | Load: y | 1 | 113 | 113 |
| test.cpp:18:8:18:12 | CompareNE: (bool)... | test.cpp:18:8:18:10 | Call: call to get | != | test.cpp:18:8:18:12 | Constant: (bool)... | 0 | 0 | 0 |
| test.cpp:18:8:18:12 | CompareNE: (bool)... | test.cpp:18:8:18:12 | Constant: (bool)... | != | test.cpp:18:8:18:10 | Call: call to get | 0 | 0 | 0 |
| test.cpp:18:8:18:12 | CompareNE: (bool)... | test.cpp:18:8:18:10 | Call: call to get | != | test.cpp:18:8:18:12 | Constant: (bool)... | 0 | 19 | 19 |
| test.cpp:18:8:18:12 | CompareNE: (bool)... | test.cpp:18:8:18:12 | Constant: (bool)... | != | test.cpp:18:8:18:10 | Call: call to get | 0 | 19 | 19 |
| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | != | test.cpp:31:12:31:13 | Constant: - ... | 0 | 34 | 34 |
| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | == | test.cpp:31:12:31:13 | Constant: - ... | 0 | 30 | 30 |
| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | == | test.cpp:31:12:31:13 | Constant: - ... | 0 | 32 | 32 |

View File

@@ -2,14 +2,8 @@
| | cpp_range_based_for | 0 | 1 | file://:0:0:0:0 | (reference dereference) | <none> |
| | cpp_range_based_for | 0 | 1 | file://:0:0:0:0 | (reference to) | <none> |
| | cpp_range_based_for | 0 | 9 | file://:0:0:0:0 | initializer for (__range) | declaration |
| | cpp_range_based_for | 0 | 11 | file://:0:0:0:0 | (__range) | call to begin |
| | cpp_range_based_for | 0 | 13 | file://:0:0:0:0 | initializer for (__begin) | (__range) |
| | cpp_range_based_for | 0 | 14 | file://:0:0:0:0 | (__range) | call to end |
| | cpp_range_based_for | 0 | 16 | file://:0:0:0:0 | initializer for (__end) | (__end) |
| | cpp_range_based_for | 0 | 28 | file://:0:0:0:0 | (__begin) | call to operator!= |
| | cpp_range_based_for | 0 | 28 | file://:0:0:0:0 | (__begin) | call to operator* |
| | cpp_range_based_for | 0 | 28 | file://:0:0:0:0 | (__begin) | call to operator++ |
| | cpp_range_based_for | 0 | 28 | file://:0:0:0:0 | (__end) | (__begin) |
| cpp | CopyConstructorClass | 28 | 1 | cpp.cpp:28:5:28:24 | CopyConstructorClass | <none> |
| cpp | CopyConstructorClass | 30 | 1 | cpp.cpp:30:5:30:24 | CopyConstructorClass | <none> |
| cpp | IntVectorIter | 4 | 1 | cpp.cpp:4:7:4:7 | IntVectorIter | <none> |
@@ -37,10 +31,16 @@
| cpp | cpp_range_based_for | 22 | 7 | cpp.cpp:22:5:23:12 | declaration | vec |
| cpp | cpp_range_based_for | 22 | 8 | cpp.cpp:22:18:22:20 | vec | initializer for (__range) |
| cpp | cpp_range_based_for | 22 | 10 | cpp.cpp:22:5:23:12 | declaration | (__range) |
| cpp | cpp_range_based_for | 22 | 11 | cpp.cpp:22:18:22:18 | (__range) | call to begin |
| cpp | cpp_range_based_for | 22 | 12 | cpp.cpp:22:18:22:18 | call to begin | initializer for (__begin) |
| cpp | cpp_range_based_for | 22 | 14 | cpp.cpp:22:18:22:18 | (__range) | call to end |
| cpp | cpp_range_based_for | 22 | 15 | cpp.cpp:22:18:22:18 | call to end | initializer for (__end) |
| cpp | cpp_range_based_for | 22 | 28 | cpp.cpp:22:5:23:12 | declaration | (__begin) |
| cpp | cpp_range_based_for | 22 | 28 | cpp.cpp:22:14:22:14 | initializer for i | ExprStmt |
| cpp | cpp_range_based_for | 22 | 28 | cpp.cpp:22:18:22:18 | (__begin) | call to operator!= |
| cpp | cpp_range_based_for | 22 | 28 | cpp.cpp:22:18:22:18 | (__begin) | call to operator* |
| cpp | cpp_range_based_for | 22 | 28 | cpp.cpp:22:18:22:18 | (__begin) | call to operator++ |
| cpp | cpp_range_based_for | 22 | 28 | cpp.cpp:22:18:22:18 | (__end) | (__begin) |
| cpp | cpp_range_based_for | 22 | 28 | cpp.cpp:22:18:22:18 | call to operator!= | <false> return ... |
| cpp | cpp_range_based_for | 22 | 28 | cpp.cpp:22:18:22:18 | call to operator!= | <true> declaration |
| cpp | cpp_range_based_for | 22 | 28 | cpp.cpp:22:18:22:18 | call to operator* | initializer for i |

View File

@@ -2,12 +2,6 @@ uniqueEnclosingCallable
uniqueTypeBound
uniqueTypeRepr
uniqueNodeLocation
| dispatch.cpp:60:18:60:29 | call to Bottom | Node should have one location but has 2. |
| dispatch.cpp:61:18:61:29 | call to Middle | Node should have one location but has 2. |
| dispatch.cpp:65:10:65:21 | call to Bottom | Node should have one location but has 2. |
| file://:0:0:0:0 | call to Bottom | Node should have one location but has 2. |
| file://:0:0:0:0 | call to Bottom | Node should have one location but has 2. |
| file://:0:0:0:0 | call to Middle | Node should have one location but has 2. |
missingLocation
uniqueNodeToString
missingToString

View File

@@ -12,24 +12,6 @@ uniqueTypeRepr
| complex.cpp:25:7:25:7 | constructor init of field inner [post-this] | Node should have one type representation but has 0. |
| complex.cpp:25:7:25:7 | constructor init of field inner [pre-this] | Node should have one type representation but has 0. |
uniqueNodeLocation
| A.cpp:38:7:38:8 | call to C | Node should have one location but has 2. |
| A.cpp:39:7:39:8 | call to C | Node should have one location but has 2. |
| A.cpp:41:15:41:21 | call to C | Node should have one location but has 2. |
| A.cpp:47:12:47:18 | call to C | Node should have one location but has 2. |
| A.cpp:57:17:57:23 | call to C | Node should have one location but has 2. |
| A.cpp:64:21:64:28 | call to C2 | Node should have one location but has 2. |
| A.cpp:73:25:73:32 | call to C2 | Node should have one location but has 2. |
| A.cpp:126:12:126:18 | call to C | Node should have one location but has 2. |
| A.cpp:142:14:142:20 | call to C | Node should have one location but has 2. |
| file://:0:0:0:0 | call to C | Node should have one location but has 2. |
| file://:0:0:0:0 | call to C | Node should have one location but has 2. |
| file://:0:0:0:0 | call to C | Node should have one location but has 2. |
| file://:0:0:0:0 | call to C | Node should have one location but has 2. |
| file://:0:0:0:0 | call to C | Node should have one location but has 2. |
| file://:0:0:0:0 | call to C | Node should have one location but has 2. |
| file://:0:0:0:0 | call to C | Node should have one location but has 2. |
| file://:0:0:0:0 | call to C2 | Node should have one location but has 2. |
| file://:0:0:0:0 | call to C2 | Node should have one location but has 2. |
missingLocation
uniqueNodeToString
missingToString

View File

@@ -4,5 +4,5 @@
| partialdefinitions.cpp:15:4:15:4 | partial def of y | partialdefinitions.cpp:15:4:15:4 | y | partialdefinitions.cpp:15:2:15:10 | ... = ... |
| partialdefinitions.cpp:15:6:15:6 | partial def of z | partialdefinitions.cpp:15:6:15:6 | z | partialdefinitions.cpp:15:2:15:10 | ... = ... |
| partialdefinitions.cpp:22:29:22:32 | partial def of data | partialdefinitions.cpp:22:29:22:32 | data | partialdefinitions.cpp:22:29:22:40 | ... = ... |
| partialdefinitions.cpp:22:29:22:32 | partial def of this | file://:0:0:0:0 | this | partialdefinitions.cpp:22:29:22:40 | ... = ... |
| partialdefinitions.cpp:22:29:22:32 | partial def of this | partialdefinitions.cpp:22:29:22:32 | this | partialdefinitions.cpp:22:29:22:40 | ... = ... |
| partialdefinitions.cpp:27:3:27:7 | partial def of myInt | partialdefinitions.cpp:27:3:27:7 | myInt | partialdefinitions.cpp:27:9:27:15 | call to setData |

View File

@@ -367,7 +367,7 @@
| taint.cpp:228:11:228:11 | this | taint.cpp:228:11:228:11 | constructor init of field t [pre-this] | |
| taint.cpp:228:17:228:17 | this | taint.cpp:229:3:229:6 | this | |
| taint.cpp:229:3:229:6 | this | taint.cpp:230:3:230:6 | this | |
| taint.cpp:230:3:230:6 | this | taint.cpp:231:3:231:11 | this | |
| taint.cpp:230:3:230:6 | this | file://:0:0:0:0 | this | |
| taint.cpp:235:10:239:2 | [...](...){...} | taint.cpp:240:2:240:2 | b | |
| taint.cpp:235:10:239:2 | {...} | taint.cpp:235:10:239:2 | [...](...){...} | |
| taint.cpp:235:11:235:11 | Unknown literal | taint.cpp:235:11:235:11 | constructor init of field t | TAINT |

View File

@@ -11,8 +11,11 @@
| addressOf.cpp:38:20:38:20 | i | non-const address |
| addressOf.cpp:40:15:40:15 | i | non-const address |
| addressOf.cpp:42:19:42:22 | iref | non-const address |
| addressOf.cpp:47:12:47:31 | captured | non-const address |
| addressOf.cpp:47:19:47:28 | captured | |
| addressOf.cpp:48:3:48:4 | f1 | const address |
| addressOf.cpp:49:15:49:22 | captured | non-const address |
| addressOf.cpp:49:27:49:36 | captured | |
| addressOf.cpp:50:3:50:4 | f2 | const address |
| addressOf.cpp:51:10:51:17 | captured | |
| addressOf.cpp:56:16:56:16 | i | |
@@ -29,9 +32,6 @@
| addressOf.cpp:71:32:71:34 | obj | |
| addressOf.cpp:77:27:77:27 | x | non-const address |
| addressOf.cpp:77:48:77:48 | x | |
| file://:0:0:0:0 | captured | |
| file://:0:0:0:0 | captured | |
| file://:0:0:0:0 | captured | non-const address |
| indirect_use.cpp:17:32:17:43 | globalIntPtr | non-const address |
| indirect_use.cpp:20:14:20:15 | ip | |
| indirect_use.cpp:21:17:21:17 | p | |

View File

@@ -1,5 +1,5 @@
| addressOf.cpp:31:23:31:23 | i | addressOf.cpp:32:19:32:19 | i |
| addressOf.cpp:46:17:46:24 | captured | file://:0:0:0:0 | captured |
| addressOf.cpp:46:17:46:24 | captured | addressOf.cpp:47:12:47:31 | captured |
| addressOf.cpp:55:17:55:17 | i | addressOf.cpp:56:16:56:16 | i |
| addressOf.cpp:55:17:55:17 | i | addressOf.cpp:56:19:56:19 | i |
| addressOf.cpp:55:17:55:17 | i | addressOf.cpp:56:24:56:24 | i |

View File

@@ -10,9 +10,9 @@
| addressOf.cpp:31:23:31:23 | i | addressOf.cpp:38:20:38:20 | i |
| addressOf.cpp:31:23:31:23 | i | addressOf.cpp:40:15:40:15 | i |
| addressOf.cpp:40:8:40:11 | iref | addressOf.cpp:42:19:42:22 | iref |
| addressOf.cpp:46:17:46:24 | captured | addressOf.cpp:47:12:47:31 | captured |
| addressOf.cpp:46:17:46:24 | captured | addressOf.cpp:49:15:49:22 | captured |
| addressOf.cpp:46:17:46:24 | captured | addressOf.cpp:51:10:51:17 | captured |
| addressOf.cpp:46:17:46:24 | captured | file://:0:0:0:0 | captured |
| addressOf.cpp:47:8:47:9 | f1 | addressOf.cpp:48:3:48:4 | f1 |
| addressOf.cpp:49:8:49:9 | f2 | addressOf.cpp:50:3:50:4 | f2 |
| addressOf.cpp:55:17:55:17 | i | addressOf.cpp:56:16:56:16 | i |

View File

@@ -86,9 +86,9 @@ bad_asts.cpp:
# 10| 1: [PointerFieldAccess] x
# 10| Type = [IntType] int
# 10| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] S *
#-----| ValueCategory = prvalue(load)
# 10| -1: [ThisExpr] this
# 10| Type = [PointerType] S *
# 10| ValueCategory = prvalue(load)
# 10| 1: [VariableAccess] y
# 10| Type = [IntType] int
# 10| ValueCategory = prvalue(load)
@@ -111,9 +111,9 @@ bad_asts.cpp:
# 10| 1: [PointerFieldAccess] x
# 10| Type = [IntType] int
# 10| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] S *
#-----| ValueCategory = prvalue(load)
# 10| -1: [ThisExpr] this
# 10| Type = [PointerType] S *
# 10| ValueCategory = prvalue(load)
# 10| 1: [VariableAccess] y
# 10| Type = [IntType] int
# 10| ValueCategory = prvalue(load)
@@ -219,9 +219,9 @@ bad_asts.cpp:
# 33| 0: [VariableAccess] x
# 33| Type = [IntType] int
# 33| ValueCategory = lvalue
#-----| 1: [ErrorExpr] <error expr>
#-----| Type = [ErroneousType] error
#-----| ValueCategory = prvalue(load)
# 33| 1: [ErrorExpr] <error expr>
# 33| Type = [ErroneousType] error
# 33| ValueCategory = prvalue(load)
# 34| 3: [ReturnStmt] return ...
clang.cpp:
# 5| [TopLevelFunction] int* globalIntAddress()
@@ -5621,9 +5621,9 @@ ir.cpp:
# 645| 0: [PointerFieldAccess] m_a
# 645| Type = [IntType] int
# 645| ValueCategory = lvalue
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] C *
#-----| ValueCategory = prvalue(load)
# 645| -1: [ThisExpr] this
# 645| Type = [PointerType] C *
# 645| ValueCategory = prvalue(load)
# 645| 1: [Literal] 2
# 645| Type = [IntType] int
# 645| Value = [Literal] 2
@@ -5673,9 +5673,9 @@ ir.cpp:
# 649| 1: [PointerFieldAccess] m_a
# 649| Type = [IntType] int
# 649| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] C *
#-----| ValueCategory = prvalue(load)
# 649| -1: [ThisExpr] this
# 649| Type = [PointerType] C *
# 649| ValueCategory = prvalue(load)
# 650| 7: [ReturnStmt] return ...
# 652| [MemberFunction] void C::MethodCalls()
# 652| params:
@@ -5712,9 +5712,9 @@ ir.cpp:
# 655| 0: [FunctionCall] call to InstanceMemberFunction
# 655| Type = [IntType] int
# 655| ValueCategory = prvalue
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] C *
#-----| ValueCategory = prvalue(load)
# 655| -1: [ThisExpr] this
# 655| Type = [PointerType] C *
# 655| ValueCategory = prvalue(load)
# 655| 0: [Literal] 2
# 655| Type = [IntType] int
# 655| Value = [Literal] 2
@@ -6173,27 +6173,27 @@ ir.cpp:
# 745| expr: [FunctionCall] call to operator=
# 745| Type = [LValueReferenceType] String &
# 745| ValueCategory = prvalue
#-----| -1: [AddressOfExpr] & ...
#-----| Type = [PointerType] String *
#-----| ValueCategory = prvalue
#-----| 0: [PointerFieldAccess] base_s
#-----| Type = [Struct] String
#-----| ValueCategory = lvalue
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] Base *
#-----| ValueCategory = prvalue(load)
# 745| -1: [AddressOfExpr] & ...
# 745| Type = [PointerType] String *
# 745| ValueCategory = prvalue
# 745| 0: [PointerFieldAccess] base_s
# 745| Type = [Struct] String
# 745| ValueCategory = lvalue
# 745| -1: [ThisExpr] this
# 745| Type = [PointerType] Base *
# 745| ValueCategory = prvalue(load)
#-----| 0: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] const String &
#-----| ValueCategory = prvalue
#-----| expr: [ReferenceFieldAccess] base_s
#-----| Type = [Struct] String
#-----| ValueCategory = lvalue
# 745| expr: [ReferenceFieldAccess] base_s
# 745| Type = [Struct] String
# 745| ValueCategory = lvalue
#-----| -1: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Base
#-----| ValueCategory = lvalue
#-----| expr: [VariableAccess] p#0
#-----| Type = [LValueReferenceType] const Base &
#-----| ValueCategory = prvalue(load)
# 745| expr: [VariableAccess] p#0
# 745| Type = [LValueReferenceType] const Base &
# 745| ValueCategory = prvalue(load)
#-----| 1: [ReturnStmt] return ...
#-----| 0: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] Base &
@@ -6258,28 +6258,28 @@ ir.cpp:
#-----| Conversion = [BaseClassConversion] base class conversion
#-----| Type = [PointerType] Base *
#-----| ValueCategory = prvalue
#-----| expr: [ThisExpr] this
#-----| Type = [PointerType] Middle *
#-----| ValueCategory = prvalue(load)
# 754| expr: [ThisExpr] this
# 754| Type = [PointerType] Middle *
# 754| ValueCategory = prvalue(load)
#-----| 0: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] const Base &
#-----| ValueCategory = prvalue
#-----| expr: [PointerDereferenceExpr] * ...
#-----| Type = [SpecifiedType] const Base
#-----| ValueCategory = lvalue
# 754| expr: [PointerDereferenceExpr] * ...
# 754| Type = [SpecifiedType] const Base
# 754| ValueCategory = lvalue
#-----| 0: [CStyleCast] (const Base *)...
#-----| Conversion = [BaseClassConversion] base class conversion
#-----| Type = [PointerType] const Base *
#-----| ValueCategory = prvalue
#-----| expr: [AddressOfExpr] & ...
#-----| Type = [PointerType] const Middle *
#-----| ValueCategory = prvalue
# 754| expr: [AddressOfExpr] & ...
# 754| Type = [PointerType] const Middle *
# 754| ValueCategory = prvalue
#-----| 0: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Middle
#-----| ValueCategory = lvalue
#-----| expr: [VariableAccess] p#0
#-----| Type = [LValueReferenceType] const Middle &
#-----| ValueCategory = prvalue(load)
# 754| expr: [VariableAccess] p#0
# 754| Type = [LValueReferenceType] const Middle &
# 754| ValueCategory = prvalue(load)
#-----| 1: [ExprStmt] ExprStmt
#-----| 0: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [Struct] String
@@ -6287,27 +6287,27 @@ ir.cpp:
# 754| expr: [FunctionCall] call to operator=
# 754| Type = [LValueReferenceType] String &
# 754| ValueCategory = prvalue
#-----| -1: [AddressOfExpr] & ...
#-----| Type = [PointerType] String *
#-----| ValueCategory = prvalue
#-----| 0: [PointerFieldAccess] middle_s
#-----| Type = [Struct] String
#-----| ValueCategory = lvalue
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] Middle *
#-----| ValueCategory = prvalue(load)
# 754| -1: [AddressOfExpr] & ...
# 754| Type = [PointerType] String *
# 754| ValueCategory = prvalue
# 754| 0: [PointerFieldAccess] middle_s
# 754| Type = [Struct] String
# 754| ValueCategory = lvalue
# 754| -1: [ThisExpr] this
# 754| Type = [PointerType] Middle *
# 754| ValueCategory = prvalue(load)
#-----| 0: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] const String &
#-----| ValueCategory = prvalue
#-----| expr: [ReferenceFieldAccess] middle_s
#-----| Type = [Struct] String
#-----| ValueCategory = lvalue
# 754| expr: [ReferenceFieldAccess] middle_s
# 754| Type = [Struct] String
# 754| ValueCategory = lvalue
#-----| -1: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Middle
#-----| ValueCategory = lvalue
#-----| expr: [VariableAccess] p#0
#-----| Type = [LValueReferenceType] const Middle &
#-----| ValueCategory = prvalue(load)
# 754| expr: [VariableAccess] p#0
# 754| Type = [LValueReferenceType] const Middle &
# 754| ValueCategory = prvalue(load)
#-----| 2: [ReturnStmt] return ...
#-----| 0: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] Middle &
@@ -6369,28 +6369,28 @@ ir.cpp:
#-----| Conversion = [BaseClassConversion] base class conversion
#-----| Type = [PointerType] Middle *
#-----| ValueCategory = prvalue
#-----| expr: [ThisExpr] this
#-----| Type = [PointerType] Derived *
#-----| ValueCategory = prvalue(load)
# 763| expr: [ThisExpr] this
# 763| Type = [PointerType] Derived *
# 763| ValueCategory = prvalue(load)
#-----| 0: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] const Middle &
#-----| ValueCategory = prvalue
#-----| expr: [PointerDereferenceExpr] * ...
#-----| Type = [SpecifiedType] const Middle
#-----| ValueCategory = lvalue
# 763| expr: [PointerDereferenceExpr] * ...
# 763| Type = [SpecifiedType] const Middle
# 763| ValueCategory = lvalue
#-----| 0: [CStyleCast] (const Middle *)...
#-----| Conversion = [BaseClassConversion] base class conversion
#-----| Type = [PointerType] const Middle *
#-----| ValueCategory = prvalue
#-----| expr: [AddressOfExpr] & ...
#-----| Type = [PointerType] const Derived *
#-----| ValueCategory = prvalue
# 763| expr: [AddressOfExpr] & ...
# 763| Type = [PointerType] const Derived *
# 763| ValueCategory = prvalue
#-----| 0: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Derived
#-----| ValueCategory = lvalue
#-----| expr: [VariableAccess] p#0
#-----| Type = [LValueReferenceType] const Derived &
#-----| ValueCategory = prvalue(load)
# 763| expr: [VariableAccess] p#0
# 763| Type = [LValueReferenceType] const Derived &
# 763| ValueCategory = prvalue(load)
#-----| 1: [ExprStmt] ExprStmt
#-----| 0: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [Struct] String
@@ -6398,27 +6398,27 @@ ir.cpp:
# 763| expr: [FunctionCall] call to operator=
# 763| Type = [LValueReferenceType] String &
# 763| ValueCategory = prvalue
#-----| -1: [AddressOfExpr] & ...
#-----| Type = [PointerType] String *
#-----| ValueCategory = prvalue
#-----| 0: [PointerFieldAccess] derived_s
#-----| Type = [Struct] String
#-----| ValueCategory = lvalue
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] Derived *
#-----| ValueCategory = prvalue(load)
# 763| -1: [AddressOfExpr] & ...
# 763| Type = [PointerType] String *
# 763| ValueCategory = prvalue
# 763| 0: [PointerFieldAccess] derived_s
# 763| Type = [Struct] String
# 763| ValueCategory = lvalue
# 763| -1: [ThisExpr] this
# 763| Type = [PointerType] Derived *
# 763| ValueCategory = prvalue(load)
#-----| 0: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] const String &
#-----| ValueCategory = prvalue
#-----| expr: [ReferenceFieldAccess] derived_s
#-----| Type = [Struct] String
#-----| ValueCategory = lvalue
# 763| expr: [ReferenceFieldAccess] derived_s
# 763| Type = [Struct] String
# 763| ValueCategory = lvalue
#-----| -1: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Derived
#-----| ValueCategory = lvalue
#-----| expr: [VariableAccess] p#0
#-----| Type = [LValueReferenceType] const Derived &
#-----| ValueCategory = prvalue(load)
# 763| expr: [VariableAccess] p#0
# 763| Type = [LValueReferenceType] const Derived &
# 763| ValueCategory = prvalue(load)
#-----| 2: [ReturnStmt] return ...
#-----| 0: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] Derived &
@@ -8533,15 +8533,15 @@ ir.cpp:
# 1043| expr: [ReferenceDereferenceExpr] (reference dereference)
# 1043| Type = [SpecifiedType] const String
# 1043| ValueCategory = lvalue
#-----| expr: [VariableAccess] s
#-----| Type = [LValueReferenceType] const String &
#-----| ValueCategory = prvalue(load)
# 1043| expr: [VariableAccess] s
# 1043| Type = [LValueReferenceType] const String &
# 1043| ValueCategory = prvalue(load)
#-----| .x: [ReferenceToExpr] (reference to)
#-----| Type = [LValueReferenceType] int &
#-----| ValueCategory = prvalue
#-----| expr: [VariableAccess] x
#-----| Type = [IntType] int
#-----| ValueCategory = lvalue
# 1043| expr: [VariableAccess] x
# 1043| Type = [IntType] int
# 1043| ValueCategory = lvalue
# 1044| 3: [ExprStmt] ExprStmt
# 1044| 0: [FunctionCall] call to operator()
# 1044| Type = [PlainCharType] char
@@ -8572,12 +8572,12 @@ ir.cpp:
# 1045| 0: [ClassAggregateLiteral] {...}
# 1045| Type = [Closure,LocalClass] decltype([...](...){...})
# 1045| ValueCategory = prvalue
#-----| .s: [ConstructorCall] call to String
#-----| Type = [VoidType] void
#-----| ValueCategory = prvalue
#-----| .x: [VariableAccess] x
#-----| Type = [IntType] int
#-----| ValueCategory = prvalue(load)
# 1045| .s: [ConstructorCall] call to String
# 1045| Type = [VoidType] void
# 1045| ValueCategory = prvalue
# 1045| .x: [VariableAccess] x
# 1045| Type = [IntType] int
# 1045| ValueCategory = prvalue(load)
# 1046| 5: [ExprStmt] ExprStmt
# 1046| 0: [FunctionCall] call to operator()
# 1046| Type = [PlainCharType] char
@@ -8647,9 +8647,9 @@ ir.cpp:
# 1049| 0: [ClassAggregateLiteral] {...}
# 1049| Type = [Closure,LocalClass] decltype([...](...){...})
# 1049| ValueCategory = prvalue
#-----| .s: [ConstructorCall] call to String
#-----| Type = [VoidType] void
#-----| ValueCategory = prvalue
# 1049| .s: [ConstructorCall] call to String
# 1049| Type = [VoidType] void
# 1049| ValueCategory = prvalue
# 1050| 9: [ExprStmt] ExprStmt
# 1050| 0: [FunctionCall] call to operator()
# 1050| Type = [PlainCharType] char
@@ -8849,21 +8849,21 @@ ir.cpp:
# 1043| -1: [ReferenceDereferenceExpr] (reference dereference)
# 1043| Type = [SpecifiedType] const String
# 1043| ValueCategory = lvalue
#-----| expr: [PointerFieldAccess] s
#-----| Type = [LValueReferenceType] const String &
#-----| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1043, col. 21 *
#-----| ValueCategory = prvalue(load)
# 1043| expr: [PointerFieldAccess] s
# 1043| Type = [LValueReferenceType] const String &
# 1043| ValueCategory = prvalue(load)
# 1043| -1: [ThisExpr] this
# 1043| Type = [PointerType] const lambda [] type at line 1043, col. 21 *
# 1043| ValueCategory = prvalue(load)
# 1043| 1: [ReferenceDereferenceExpr] (reference dereference)
# 1043| Type = [IntType] int
# 1043| ValueCategory = prvalue(load)
#-----| expr: [PointerFieldAccess] x
#-----| Type = [LValueReferenceType] int &
#-----| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1043, col. 21 *
#-----| ValueCategory = prvalue(load)
# 1043| expr: [PointerFieldAccess] x
# 1043| Type = [LValueReferenceType] int &
# 1043| ValueCategory = prvalue(load)
# 1043| -1: [ThisExpr] this
# 1043| Type = [PointerType] const lambda [] type at line 1043, col. 21 *
# 1043| ValueCategory = prvalue(load)
# 1045| [CopyAssignmentOperator] (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)& (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::operator=((void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21) const&)
# 1045| params:
#-----| 0: [Parameter] p#0
@@ -8904,18 +8904,18 @@ ir.cpp:
# 1045| 0: [FunctionCall] call to c_str
# 1045| Type = [PointerType] const char *
# 1045| ValueCategory = prvalue
#-----| -1: [PointerFieldAccess] s
#-----| Type = [SpecifiedType] const String
#-----| ValueCategory = lvalue
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1045, col. 21 *
#-----| ValueCategory = prvalue(load)
#-----| 1: [PointerFieldAccess] x
#-----| Type = [IntType] int
#-----| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1045, col. 21 *
#-----| ValueCategory = prvalue(load)
# 1045| -1: [PointerFieldAccess] s
# 1045| Type = [SpecifiedType] const String
# 1045| ValueCategory = lvalue
# 1045| -1: [ThisExpr] this
# 1045| Type = [PointerType] const lambda [] type at line 1045, col. 21 *
# 1045| ValueCategory = prvalue(load)
# 1045| 1: [PointerFieldAccess] x
# 1045| Type = [IntType] int
# 1045| ValueCategory = prvalue(load)
# 1045| -1: [ThisExpr] this
# 1045| Type = [PointerType] const lambda [] type at line 1045, col. 21 *
# 1045| ValueCategory = prvalue(load)
# 1047| [CopyAssignmentOperator] (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)& (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)::operator=((void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30) const&)
# 1047| params:
#-----| 0: [Parameter] p#0
@@ -8945,12 +8945,12 @@ ir.cpp:
# 1047| -1: [ReferenceDereferenceExpr] (reference dereference)
# 1047| Type = [SpecifiedType] const String
# 1047| ValueCategory = lvalue
#-----| expr: [PointerFieldAccess] s
#-----| Type = [LValueReferenceType] const String &
#-----| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1047, col. 30 *
#-----| ValueCategory = prvalue(load)
# 1047| expr: [PointerFieldAccess] s
# 1047| Type = [LValueReferenceType] const String &
# 1047| ValueCategory = prvalue(load)
# 1047| -1: [ThisExpr] this
# 1047| Type = [PointerType] const lambda [] type at line 1047, col. 30 *
# 1047| ValueCategory = prvalue(load)
# 1047| 1: [Literal] 0
# 1047| Type = [IntType] int
# 1047| Value = [Literal] 0
@@ -8995,12 +8995,12 @@ ir.cpp:
# 1049| 0: [FunctionCall] call to c_str
# 1049| Type = [PointerType] const char *
# 1049| ValueCategory = prvalue
#-----| -1: [PointerFieldAccess] s
#-----| Type = [SpecifiedType] const String
#-----| ValueCategory = lvalue
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1049, col. 30 *
#-----| ValueCategory = prvalue(load)
# 1049| -1: [PointerFieldAccess] s
# 1049| Type = [SpecifiedType] const String
# 1049| ValueCategory = lvalue
# 1049| -1: [ThisExpr] this
# 1049| Type = [PointerType] const lambda [] type at line 1049, col. 30 *
# 1049| ValueCategory = prvalue(load)
# 1049| 1: [Literal] 0
# 1049| Type = [IntType] int
# 1049| Value = [Literal] 0
@@ -9034,18 +9034,18 @@ ir.cpp:
# 1051| -1: [ReferenceDereferenceExpr] (reference dereference)
# 1051| Type = [SpecifiedType] const String
# 1051| ValueCategory = lvalue
#-----| expr: [PointerFieldAccess] s
#-----| Type = [LValueReferenceType] const String &
#-----| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1051, col. 32 *
#-----| ValueCategory = prvalue(load)
#-----| 1: [PointerFieldAccess] x
#-----| Type = [IntType] int
#-----| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1051, col. 32 *
#-----| ValueCategory = prvalue(load)
# 1051| expr: [PointerFieldAccess] s
# 1051| Type = [LValueReferenceType] const String &
# 1051| ValueCategory = prvalue(load)
# 1051| -1: [ThisExpr] this
# 1051| Type = [PointerType] const lambda [] type at line 1051, col. 32 *
# 1051| ValueCategory = prvalue(load)
# 1051| 1: [PointerFieldAccess] x
# 1051| Type = [IntType] int
# 1051| ValueCategory = prvalue(load)
# 1051| -1: [ThisExpr] this
# 1051| Type = [PointerType] const lambda [] type at line 1051, col. 32 *
# 1051| ValueCategory = prvalue(load)
# 1054| [CopyAssignmentOperator] (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)& (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)::operator=((void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23) const&)
# 1054| params:
#-----| 0: [Parameter] p#0
@@ -9075,39 +9075,39 @@ ir.cpp:
# 1054| -1: [ReferenceDereferenceExpr] (reference dereference)
# 1054| Type = [SpecifiedType] const String
# 1054| ValueCategory = lvalue
#-----| expr: [PointerFieldAccess] s
#-----| Type = [LValueReferenceType] const String &
#-----| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1054, col. 23 *
#-----| ValueCategory = prvalue(load)
# 1054| expr: [PointerFieldAccess] s
# 1054| Type = [LValueReferenceType] const String &
# 1054| ValueCategory = prvalue(load)
# 1054| -1: [ThisExpr] this
# 1054| Type = [PointerType] const lambda [] type at line 1054, col. 23 *
# 1054| ValueCategory = prvalue(load)
# 1054| 1: [SubExpr] ... - ...
# 1054| Type = [IntType] int
# 1054| ValueCategory = prvalue
# 1054| 0: [AddExpr] ... + ...
# 1054| Type = [IntType] int
# 1054| ValueCategory = prvalue
#-----| 0: [PointerFieldAccess] x
#-----| Type = [IntType] int
#-----| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1054, col. 23 *
#-----| ValueCategory = prvalue(load)
# 1054| 0: [PointerFieldAccess] x
# 1054| Type = [IntType] int
# 1054| ValueCategory = prvalue(load)
# 1054| -1: [ThisExpr] this
# 1054| Type = [PointerType] const lambda [] type at line 1054, col. 23 *
# 1054| ValueCategory = prvalue(load)
# 1054| 1: [PointerFieldAccess] i
# 1054| Type = [IntType] int
# 1054| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1054, col. 23 *
#-----| ValueCategory = prvalue(load)
# 1054| -1: [ThisExpr] this
# 1054| Type = [PointerType] const lambda [] type at line 1054, col. 23 *
# 1054| ValueCategory = prvalue(load)
# 1054| 1: [ReferenceDereferenceExpr] (reference dereference)
# 1054| Type = [IntType] int
# 1054| ValueCategory = prvalue(load)
# 1054| expr: [PointerFieldAccess] j
# 1054| Type = [LValueReferenceType] int &
# 1054| ValueCategory = prvalue(load)
#-----| -1: [ThisExpr] this
#-----| Type = [PointerType] const lambda [] type at line 1054, col. 23 *
#-----| ValueCategory = prvalue(load)
# 1054| -1: [ThisExpr] this
# 1054| Type = [PointerType] const lambda [] type at line 1054, col. 23 *
# 1054| ValueCategory = prvalue(load)
# 1059| [CopyAssignmentOperator] vector<int>& vector<int>::operator=(vector<int> const&)
# 1059| params:
#-----| 0: [Parameter] p#0
@@ -9175,21 +9175,21 @@ ir.cpp:
#-----| Conversion = [GlvalueConversion] glvalue conversion
#-----| Type = [SpecifiedType] const iterator
#-----| ValueCategory = lvalue
#-----| expr: [VariableAccess] (__begin)
#-----| Type = [NestedStruct] iterator
#-----| ValueCategory = lvalue
#-----| 0: [VariableAccess] (__end)
#-----| Type = [NestedStruct] iterator
#-----| ValueCategory = prvalue(load)
# 1078| expr: [VariableAccess] (__begin)
# 1078| Type = [NestedStruct] iterator
# 1078| ValueCategory = lvalue
# 1078| 0: [VariableAccess] (__end)
# 1078| Type = [NestedStruct] iterator
# 1078| ValueCategory = prvalue(load)
# 1078| 3: [ReferenceDereferenceExpr] (reference dereference)
# 1078| Type = [NestedStruct] iterator
# 1078| ValueCategory = lvalue
# 1078| expr: [FunctionCall] call to operator++
# 1078| Type = [LValueReferenceType] iterator &
# 1078| ValueCategory = prvalue
#-----| -1: [VariableAccess] (__begin)
#-----| Type = [NestedStruct] iterator
#-----| ValueCategory = lvalue
# 1078| -1: [VariableAccess] (__begin)
# 1078| Type = [NestedStruct] iterator
# 1078| ValueCategory = lvalue
# 1078| 4: [DeclStmt] declaration
# 1078| 5: [Block] { ... }
# 1079| 0: [IfStmt] if (...) ...
@@ -9216,21 +9216,21 @@ ir.cpp:
#-----| Conversion = [GlvalueConversion] glvalue conversion
#-----| Type = [SpecifiedType] const iterator
#-----| ValueCategory = lvalue
#-----| expr: [VariableAccess] (__begin)
#-----| Type = [NestedStruct] iterator
#-----| ValueCategory = lvalue
#-----| 0: [VariableAccess] (__end)
#-----| Type = [NestedStruct] iterator
#-----| ValueCategory = prvalue(load)
# 1084| expr: [VariableAccess] (__begin)
# 1084| Type = [NestedStruct] iterator
# 1084| ValueCategory = lvalue
# 1084| 0: [VariableAccess] (__end)
# 1084| Type = [NestedStruct] iterator
# 1084| ValueCategory = prvalue(load)
# 1084| 3: [ReferenceDereferenceExpr] (reference dereference)
# 1084| Type = [NestedStruct] iterator
# 1084| ValueCategory = lvalue
# 1084| expr: [FunctionCall] call to operator++
# 1084| Type = [LValueReferenceType] iterator &
# 1084| ValueCategory = prvalue
#-----| -1: [VariableAccess] (__begin)
#-----| Type = [NestedStruct] iterator
#-----| ValueCategory = lvalue
# 1084| -1: [VariableAccess] (__begin)
# 1084| Type = [NestedStruct] iterator
# 1084| ValueCategory = lvalue
# 1084| 4: [DeclStmt] declaration
# 1084| 5: [Block] { ... }
# 1085| 0: [IfStmt] if (...) ...
@@ -9535,10 +9535,10 @@ ir.cpp:
# 1166| 1: [VariableAccess] vi4
# 1166| Type = [SpecifiedType] __attribute((vector_size(16UL))) int
# 1166| ValueCategory = prvalue(load)
#-----| 2: [AddExpr] ... + ...
#-----| Type = [IntType] int
#-----| Value = [AddExpr] 3
#-----| ValueCategory = prvalue
# 1166| 2: [AddExpr] ... + ...
# 1166| Type = [IntType] int
# 1166| Value = [AddExpr] 3
# 1166| ValueCategory = prvalue
# 1166| 0: [Literal] 3
# 1166| Type = [IntType] int
# 1166| Value = [Literal] 3

File diff suppressed because it is too large Load Diff

View File

@@ -32,9 +32,13 @@
| captures.cpp:3:15:3:15 | definition of operator() |
| captures.cpp:3:15:3:15 | operator() |
| captures.cpp:3:15:5:5 | { ... } |
| captures.cpp:4:7:4:7 | (captured this) |
| captures.cpp:4:7:4:7 | call to a |
| captures.cpp:4:7:4:7 | this |
| captures.cpp:4:7:4:15 | ExprStmt |
| captures.cpp:4:9:4:13 | ... + ... |
| captures.cpp:4:9:4:13 | this |
| captures.cpp:4:9:4:13 | x |
| captures.cpp:4:13:4:13 | 1 |
| captures.cpp:5:5:5:5 | return ... |
| captures.cpp:6:3:6:3 | return ... |
@@ -52,6 +56,8 @@
| captures.cpp:9:5:9:5 | definition of operator= |
| captures.cpp:9:5:9:5 | operator= |
| captures.cpp:9:5:11:5 | [...](...){...} |
| captures.cpp:9:5:11:5 | this |
| captures.cpp:9:5:11:5 | x |
| captures.cpp:9:5:11:5 | {...} |
| captures.cpp:9:5:11:6 | ExprStmt |
| captures.cpp:9:9:9:9 | definition of operator() |
@@ -59,13 +65,17 @@
| captures.cpp:9:9:11:5 | { ... } |
| captures.cpp:10:7:10:7 | (captured this) |
| captures.cpp:10:7:10:7 | (captured this) |
| captures.cpp:10:7:10:7 | (captured this) |
| captures.cpp:10:7:10:7 | call to b |
| captures.cpp:10:7:10:7 | definition of (captured this) |
| captures.cpp:10:7:10:7 | this |
| captures.cpp:10:7:10:15 | ExprStmt |
| captures.cpp:10:9:10:9 | definition of x |
| captures.cpp:10:9:10:9 | x |
| captures.cpp:10:9:10:9 | x |
| captures.cpp:10:9:10:13 | ... + ... |
| captures.cpp:10:9:10:13 | this |
| captures.cpp:10:9:10:13 | x |
| captures.cpp:10:13:10:13 | 1 |
| captures.cpp:11:5:11:5 | return ... |
| captures.cpp:12:3:12:3 | return ... |
@@ -110,6 +120,7 @@
| captures.cpp:22:8:22:15 | myLambda |
| captures.cpp:22:18:24:3 | [...](...){...} |
| captures.cpp:22:18:24:3 | initializer for myLambda |
| captures.cpp:22:18:24:3 | y |
| captures.cpp:22:18:24:3 | {...} |
| captures.cpp:22:19:22:19 | (constructor) |
| captures.cpp:22:19:22:19 | (constructor) |
@@ -136,6 +147,10 @@
| captures.cpp:22:40:24:3 | { ... } |
| captures.cpp:23:5:23:21 | return ... |
| captures.cpp:23:12:23:16 | ... + ... |
| captures.cpp:23:12:23:16 | this |
| captures.cpp:23:12:23:16 | this |
| captures.cpp:23:12:23:16 | x |
| captures.cpp:23:12:23:16 | y |
| captures.cpp:23:12:23:20 | ... + ... |
| captures.cpp:23:16:23:16 | (reference dereference) |
| captures.cpp:23:16:23:16 | definition of y |
@@ -191,8 +206,6 @@
| end_pos.cpp:10:16:10:16 | 1 |
| end_pos.cpp:12:1:12:1 | return ... |
| file://:0:0:0:0 | |
| file://:0:0:0:0 | (captured this) |
| file://:0:0:0:0 | (captured this) |
| file://:0:0:0:0 | (global namespace) |
| file://:0:0:0:0 | (reference to) |
| file://:0:0:0:0 | ..()(..) |
@@ -292,17 +305,4 @@
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | reg_save_area |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | void * |
| file://:0:0:0:0 | x |
| file://:0:0:0:0 | x |
| file://:0:0:0:0 | x |
| file://:0:0:0:0 | x |
| file://:0:0:0:0 | y |
| file://:0:0:0:0 | y |

View File

@@ -16,7 +16,7 @@ rangeVariables
| test.cpp:44:3:46:3 | for(...:...) ... | test.cpp:44:3:44:3 | (__range) | file://:0:0:0:0 | const List<long> & |
conditions
| test.cpp:8:3:10:3 | for(...:...) ... | file://:0:0:0:0 | ... != ... | file://:0:0:0:0 | (__begin) | file://:0:0:0:0 | (__end) |
| test.cpp:28:3:30:3 | for(...:...) ... | test.cpp:28:20:28:20 | call to operator!= | file://:0:0:0:0 | (__begin) | file://:0:0:0:0 | (__end) |
| test.cpp:28:3:30:3 | for(...:...) ... | test.cpp:28:20:28:20 | call to operator!= | test.cpp:28:20:28:20 | (__begin) | test.cpp:28:20:28:20 | (__end) |
| test.cpp:44:3:46:3 | for(...:...) ... | file://:0:0:0:0 | ... != ... | file://:0:0:0:0 | (__begin) | file://:0:0:0:0 | (__end) |
beginVariables
| test.cpp:8:3:10:3 | for(...:...) ... | test.cpp:8:3:8:3 | (__begin) | file://:0:0:0:0 | short * |
@@ -28,5 +28,5 @@ endVariables
| test.cpp:44:3:46:3 | for(...:...) ... | test.cpp:44:3:44:3 | (__end) | file://:0:0:0:0 | long * |
updates
| test.cpp:8:3:10:3 | for(...:...) ... | file://:0:0:0:0 | ++ ... | file://:0:0:0:0 | (__begin) |
| test.cpp:28:3:30:3 | for(...:...) ... | test.cpp:28:20:28:20 | call to operator++ | file://:0:0:0:0 | (__begin) |
| test.cpp:28:3:30:3 | for(...:...) ... | test.cpp:28:20:28:20 | call to operator++ | test.cpp:28:20:28:20 | (__begin) |
| test.cpp:44:3:46:3 | for(...:...) ... | file://:0:0:0:0 | ++ ... | file://:0:0:0:0 | (__begin) |

View File

@@ -34,6 +34,7 @@
| exprs.cpp:7:10:7:16 | (reference to) | isPure | | |
| exprs.cpp:7:11:7:15 | * ... | isPure | | |
| exprs.cpp:7:12:7:15 | this | isPure | | |
| exprs.cpp:12:3:12:3 | this | isPure | | |
| exprs.cpp:12:3:12:3 | v | isPure | | |
| exprs.cpp:12:3:12:5 | ... -- | | mayBeImpure | mayBeGloballyImpure |
| exprs.cpp:13:10:13:16 | (...) | isPure | | |
@@ -70,4 +71,3 @@
| exprs.cpp:34:4:34:4 | t | isPure | | |
| exprs.cpp:38:2:38:31 | call to myTemplateFunction | | mayBeImpure | mayBeGloballyImpure |
| exprs.cpp:39:2:39:24 | call to myTemplateFunction | | mayBeImpure | mayBeGloballyImpure |
| file://:0:0:0:0 | this | isPure | | |

View File

@@ -1,6 +1,6 @@
| file://:0:0:0:0 | this |
| ms.cpp:3:10:3:12 | 0 |
| ms.cpp:3:10:3:12 | constructor init of field x |
| ms.cpp:3:16:3:40 | static_cast<int>... |
| ms.cpp:3:39:3:39 | this |
| ms.cpp:3:39:3:39 | x |
| ms.cpp:5:3:5:3 | call to S |

View File

@@ -19,9 +19,9 @@
| test.cpp:119:9:119:12 | call to lock | lockCall | test.cpp:119:3:119:6 | this |
| test.cpp:119:9:119:12 | call to lock | mustlockCall | test.cpp:119:3:119:6 | this |
| test.cpp:120:9:120:14 | call to unlock | unlockCall | test.cpp:120:3:120:6 | this |
| test.cpp:122:3:122:6 | call to lock | lockCall | file://:0:0:0:0 | this |
| test.cpp:122:3:122:6 | call to lock | mustlockCall | file://:0:0:0:0 | this |
| test.cpp:123:3:123:8 | call to unlock | unlockCall | file://:0:0:0:0 | this |
| test.cpp:122:3:122:6 | call to lock | lockCall | test.cpp:122:3:122:6 | this |
| test.cpp:122:3:122:6 | call to lock | mustlockCall | test.cpp:122:3:122:6 | this |
| test.cpp:123:3:123:8 | call to unlock | unlockCall | test.cpp:123:3:123:8 | this |
| test.cpp:136:10:136:13 | call to lock | lockCall | test.cpp:136:3:136:7 | this8 |
| test.cpp:136:10:136:13 | call to lock | mustlockCall | test.cpp:136:3:136:7 | this8 |
| test.cpp:137:10:137:15 | call to unlock | unlockCall | test.cpp:137:3:137:7 | this8 |

View File

@@ -31,28 +31,18 @@ uniqueTypeRepr
uniqueNodeLocation
| break_labels.c:2:11:2:11 | i | Node should have one location but has 4. |
| break_labels.c:2:11:2:11 | x | Node should have one location but has 4. |
| cpp11.cpp:82:17:82:55 | call to Val | Node should have one location but has 2. |
| cpp11.cpp:82:17:82:55 | call to Val | Node should have one location but has 2. |
| duff.c:2:12:2:12 | i | Node should have one location but has 4. |
| duff.c:2:12:2:12 | x | Node should have one location but has 4. |
| file://:0:0:0:0 | call to PolymorphicBase | Node should have one location but has 2. |
| file://:0:0:0:0 | call to PolymorphicDerived | Node should have one location but has 2. |
| file://:0:0:0:0 | call to Val | Node should have one location but has 2. |
| file://:0:0:0:0 | call to Val | Node should have one location but has 2. |
| file://:0:0:0:0 | call to exn1 | Node should have one location but has 2. |
| file://:0:0:0:0 | p#2 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#2 | Node should have one location but has 0. |
| ifelsestmt.c:37:17:37:17 | x | Node should have one location but has 2. |
| ifelsestmt.c:37:24:37:24 | y | Node should have one location but has 2. |
| ifstmt.c:27:17:27:17 | x | Node should have one location but has 2. |
| ifstmt.c:27:24:27:24 | y | Node should have one location but has 2. |
| ir.cpp:850:19:850:19 | call to PolymorphicBase | Node should have one location but has 2. |
| ir.cpp:851:22:851:22 | call to PolymorphicDerived | Node should have one location but has 2. |
| nodefaultswitchstmt.c:1:12:1:12 | i | Node should have one location but has 4. |
| nodefaultswitchstmt.c:1:12:1:12 | x | Node should have one location but has 4. |
| switchstmt.c:1:12:1:12 | i | Node should have one location but has 4. |
| switchstmt.c:1:12:1:12 | x | Node should have one location but has 4. |
| try_catch.cpp:13:5:13:16 | call to exn1 | Node should have one location but has 2. |
missingLocation
| Nodes without location: 2 |
uniqueNodeToString

View File

@@ -664,7 +664,7 @@ postIsNotPre
postHasUniquePre
| assignexpr.cpp:9:2:9:12 | Store | PostUpdateNode should have one pre-update node but has 0. |
| bad_asts.cpp:15:10:15:12 | Store | PostUpdateNode should have one pre-update node but has 0. |
| file://:0:0:0:0 | Store | PostUpdateNode should have one pre-update node but has 0. |
| cpp11.cpp:65:19:65:45 | Store | PostUpdateNode should have one pre-update node but has 0. |
| ir.cpp:531:14:531:14 | Store | PostUpdateNode should have one pre-update node but has 0. |
uniquePostUpdate
postIsInSameCallable

View File

@@ -166,10 +166,6 @@
| file://:0:0:0:0 | signed long long |
| file://:0:0:0:0 | signed short |
| file://:0:0:0:0 | static |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | this |
| file://:0:0:0:0 | thread |
| file://:0:0:0:0 | unaligned |
| file://:0:0:0:0 | unknown |
@@ -230,6 +226,8 @@
| header.h:10:9:10:24 | composite<int>:: |
| header.h:10:9:10:28 | call to eval |
| header.h:10:9:10:28 | call to eval |
| header.h:10:9:10:28 | this |
| header.h:10:9:10:28 | this |
| header.h:10:9:10:32 | ExprStmt |
| header.h:10:9:10:32 | ExprStmt |
| header.h:10:30:10:30 | i |
@@ -313,6 +311,8 @@
| test.cpp:18:13:18:16 | valx |
| test.cpp:19:9:19:13 | actor |
| test.cpp:19:9:19:13 | actor |
| test.cpp:19:9:19:13 | this |
| test.cpp:19:9:19:13 | this |
| test.cpp:19:9:19:24 | call to expression |
| test.cpp:19:9:19:25 | ExprStmt |
| test.cpp:19:9:19:25 | ExprStmt |

View File

@@ -6,8 +6,6 @@ isFromUninstantiatedTemplate
| file://:0:0:0:0 | initializer for MyClassEnumConst | isfromtemplateinstantiation.cpp:77:26:77:45 | AnotherTemplateClass<T> |
| file://:0:0:0:0 | p#0 | isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<T> |
| file://:0:0:0:0 | p#0 | isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<T> |
| file://:0:0:0:0 | this | load.cpp:13:7:13:27 | basic_text_iprimitive<IStream> |
| file://:0:0:0:0 | this | load.cpp:22:10:22:13 | load |
| isfromtemplateinstantiation.cpp:12:24:12:46 | definition of inner_template_function | isfromtemplateinstantiation.cpp:12:24:12:46 | inner_template_function |
| isfromtemplateinstantiation.cpp:12:24:12:46 | inner_template_function | isfromtemplateinstantiation.cpp:12:24:12:46 | inner_template_function |
| isfromtemplateinstantiation.cpp:13:1:17:1 | { ... } | isfromtemplateinstantiation.cpp:12:24:12:46 | inner_template_function |
@@ -222,6 +220,8 @@ isFromUninstantiatedTemplate
| load.cpp:24:9:24:10 | (reference dereference) | load.cpp:22:10:22:13 | load |
| load.cpp:24:9:24:10 | is | load.cpp:13:7:13:27 | basic_text_iprimitive<IStream> |
| load.cpp:24:9:24:10 | is | load.cpp:22:10:22:13 | load |
| load.cpp:24:9:24:10 | this | load.cpp:13:7:13:27 | basic_text_iprimitive<IStream> |
| load.cpp:24:9:24:10 | this | load.cpp:22:10:22:13 | load |
| load.cpp:24:9:24:15 | ... >> ... | load.cpp:13:7:13:27 | basic_text_iprimitive<IStream> |
| load.cpp:24:9:24:15 | ... >> ... | load.cpp:22:10:22:13 | load |
| load.cpp:24:9:24:16 | ExprStmt | load.cpp:13:7:13:27 | basic_text_iprimitive<IStream> |
@@ -506,6 +506,7 @@ isFromUninstantiatedTemplate
| load.cpp:22:19:22:19 | t | I | T | Declaration | |
| load.cpp:24:9:24:10 | (reference dereference) | | T | Expr | |
| load.cpp:24:9:24:10 | is | | T | Expr | Not ref |
| load.cpp:24:9:24:10 | this | | T | Expr | |
| load.cpp:24:15:24:15 | (reference dereference) | | T | Expr | |
| load.cpp:24:15:24:15 | t | | T | Expr | Not ref |
| load.cpp:27:10:27:13 | load | | T | Declaration | |

View File

@@ -1,4 +1,4 @@
| file://:0:0:0:0 | T |
| file://:0:0:0:0 | int |
| file://:0:0:0:0 | myClass |
| file://:0:0:0:0 | short |
| typename.cpp:11:9:11:19 | T |
| typename.cpp:11:9:11:19 | short |
| typename.cpp:16:9:16:21 | int |
| typename.cpp:16:25:16:57 | myClass |

View File

@@ -58,7 +58,7 @@
| test.cpp:129:13:129:17 | array to pointer conversion | 125:c20-c24 126:c20-c24 129:c13-c17 |
| test.cpp:129:13:129:17 | bar | 125:c20-c24 126:c20-c24 129:c13-c17 |
| test.cpp:141:12:141:17 | call to getInt | 141:c12-c17 141:c29-c34 |
| test.cpp:141:23:141:26 | this | 0:c0-c0 141:c23-c26 |
| test.cpp:141:12:141:17 | this | 141:c12-c17 141:c23-c26 |
| test.cpp:146:10:146:11 | ih | 146:c10-c11 146:c31-c32 |
| test.cpp:146:13:146:25 | call to getDoubledInt | 146:c13-c25 146:c34-c46 |
| test.cpp:150:3:150:3 | x | 150:c3-c3 150:c9-c9 151:c3-c3 151:c9-c9 152:c12-c12 |