Skip to content

Commit bb2c690

Browse files
committed
C++: Accept test changes.
1 parent d279e3f commit bb2c690

8 files changed

+92
-128
lines changed

cpp/ql/test/library-tests/ir/ir/aliased_ir.expected

Lines changed: 34 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1389,58 +1389,48 @@ destructors_for_temps.cpp:
13891389
#-----| True -> Block 4
13901390

13911391
# 72| Block 1
1392-
# 72| m72_5(string) = Phi : from 4:m72_38
1393-
# 72| m72_6(unknown) = Phi : from 0:~m70_4, from 4:~m72_42
1394-
# 72| r72_7(glval<bool>) = VariableAddress[#temp72:12] :
1395-
# 72| r72_8(bool) = Constant[0] :
1396-
# 72| m72_9(bool) = Store[#temp72:12] : &:r72_7, r72_8
1392+
# 72| m72_5(unknown) = Phi : from 0:~m70_4, from 4:~m72_32
1393+
# 72| r72_6(glval<bool>) = VariableAddress[#temp72:12] :
1394+
# 72| r72_7(bool) = Constant[0] :
1395+
# 72| m72_8(bool) = Store[#temp72:12] : &:r72_6, r72_7
13971396
#-----| Goto -> Block 2
13981397

13991398
# 72| Block 2
1400-
# 72| m72_10(string) = Phi : from 1:m72_5, from 3:m72_38
1401-
# 72| m72_11(unknown) = Phi : from 1:~m72_6, from 3:~m72_42
1402-
# 72| m72_12(bool) = Phi : from 1:m72_9, from 3:m72_26
1403-
# 72| r72_13(glval<bool>) = VariableAddress[#temp72:12] :
1404-
# 72| r72_14(bool) = Load[#temp72:12] : &:r72_13, m72_12
1405-
# 72| r72_15(glval<string>) = CopyValue : r72_28
1406-
# 72| r72_16(glval<unknown>) = FunctionAddress[~string] :
1407-
# 72| v72_17(void) = Call[~string] : func:r72_16, this:r72_15
1408-
# 72| m72_18(unknown) = ^CallSideEffect : ~m72_11
1409-
# 72| m72_19(unknown) = Chi : total:m72_11, partial:m72_18
1410-
# 72| v72_20(void) = ^IndirectReadSideEffect[-1] : &:r72_15, m72_10
1411-
# 72| m72_21(string) = ^IndirectMayWriteSideEffect[-1] : &:r72_15
1412-
# 72| m72_22(string) = Chi : total:m72_10, partial:m72_21
1413-
# 72| m72_23(bool) = Store[#return] : &:r72_1, r72_14
1414-
# 70| r70_7(glval<bool>) = VariableAddress[#return] :
1415-
# 70| v70_8(void) = ReturnValue : &:r70_7, m72_23
1416-
# 70| v70_9(void) = AliasedUse : ~m72_19
1417-
# 70| v70_10(void) = ExitFunction :
1399+
# 72| m72_9(unknown) = Phi : from 1:~m72_5, from 3:~m72_32
1400+
# 72| m72_10(bool) = Phi : from 1:m72_8, from 3:m72_16
1401+
# 72| r72_11(glval<bool>) = VariableAddress[#temp72:12] :
1402+
# 72| r72_12(bool) = Load[#temp72:12] : &:r72_11, m72_10
1403+
# 72| m72_13(bool) = Store[#return] : &:r72_1, r72_12
1404+
# 70| r70_7(glval<bool>) = VariableAddress[#return] :
1405+
# 70| v70_8(void) = ReturnValue : &:r70_7, m72_13
1406+
# 70| v70_9(void) = AliasedUse : ~m72_9
1407+
# 70| v70_10(void) = ExitFunction :
14181408

14191409
# 72| Block 3
1420-
# 72| r72_24(glval<bool>) = VariableAddress[#temp72:12] :
1421-
# 72| r72_25(bool) = Constant[1] :
1422-
# 72| m72_26(bool) = Store[#temp72:12] : &:r72_24, r72_25
1410+
# 72| r72_14(glval<bool>) = VariableAddress[#temp72:12] :
1411+
# 72| r72_15(bool) = Constant[1] :
1412+
# 72| m72_16(bool) = Store[#temp72:12] : &:r72_14, r72_15
14231413
#-----| Goto -> Block 2
14241414

14251415
# 72| Block 4
1426-
# 72| r72_27(glval<unknown>) = FunctionAddress[const_ref_string] :
1427-
# 72| r72_28(glval<string>) = VariableAddress[#temp72:34] :
1428-
# 72| m72_29(string) = Uninitialized[#temp72:34] : &:r72_28
1429-
# 72| r72_30(glval<unknown>) = FunctionAddress[string] :
1430-
# 72| r72_31(glval<char[1]>) = StringConstant[""] :
1431-
# 72| r72_32(char *) = Convert : r72_31
1432-
# 72| v72_33(void) = Call[string] : func:r72_30, this:r72_28, 0:r72_32
1433-
# 72| m72_34(unknown) = ^CallSideEffect : ~m70_4
1434-
# 72| m72_35(unknown) = Chi : total:m70_4, partial:m72_34
1435-
# 72| v72_36(void) = ^BufferReadSideEffect[0] : &:r72_32, ~m70_3
1436-
# 72| m72_37(string) = ^IndirectMayWriteSideEffect[-1] : &:r72_28
1437-
# 72| m72_38(string) = Chi : total:m72_29, partial:m72_37
1438-
# 72| r72_39(string &) = CopyValue : r72_28
1439-
# 72| r72_40(bool) = Call[const_ref_string] : func:r72_27, 0:r72_39
1440-
# 72| m72_41(unknown) = ^CallSideEffect : ~m72_35
1441-
# 72| m72_42(unknown) = Chi : total:m72_35, partial:m72_41
1442-
# 72| v72_43(void) = ^BufferReadSideEffect[0] : &:r72_39, ~m72_38
1443-
# 72| v72_44(void) = ConditionalBranch : r72_40
1416+
# 72| r72_17(glval<unknown>) = FunctionAddress[const_ref_string] :
1417+
# 72| r72_18(glval<string>) = VariableAddress[#temp72:34] :
1418+
# 72| m72_19(string) = Uninitialized[#temp72:34] : &:r72_18
1419+
# 72| r72_20(glval<unknown>) = FunctionAddress[string] :
1420+
# 72| r72_21(glval<char[1]>) = StringConstant[""] :
1421+
# 72| r72_22(char *) = Convert : r72_21
1422+
# 72| v72_23(void) = Call[string] : func:r72_20, this:r72_18, 0:r72_22
1423+
# 72| m72_24(unknown) = ^CallSideEffect : ~m70_4
1424+
# 72| m72_25(unknown) = Chi : total:m70_4, partial:m72_24
1425+
# 72| v72_26(void) = ^BufferReadSideEffect[0] : &:r72_22, ~m70_3
1426+
# 72| m72_27(string) = ^IndirectMayWriteSideEffect[-1] : &:r72_18
1427+
# 72| m72_28(string) = Chi : total:m72_19, partial:m72_27
1428+
# 72| r72_29(string &) = CopyValue : r72_18
1429+
# 72| r72_30(bool) = Call[const_ref_string] : func:r72_17, 0:r72_29
1430+
# 72| m72_31(unknown) = ^CallSideEffect : ~m72_25
1431+
# 72| m72_32(unknown) = Chi : total:m72_25, partial:m72_31
1432+
# 72| v72_33(void) = ^BufferReadSideEffect[0] : &:r72_29, ~m72_28
1433+
# 72| v72_34(void) = ConditionalBranch : r72_30
14441434
#-----| False -> Block 1
14451435
#-----| True -> Block 3
14461436

cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ multipleIRTypes
2020
lostReachability
2121
backEdgeCountMismatch
2222
useNotDominatedByDefinition
23-
| destructors_for_temps.cpp:72:34:72:35 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | destructors_for_temps.cpp:70:6:70:37 | bool conditional_temp_via_conjunction(bool) | bool conditional_temp_via_conjunction(bool) |
2423
switchInstructionWithoutDefaultEdge
2524
notMarkedAsConflated
2625
wronglyMarkedAsConflated

cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ missingOperand
22
unexpectedOperand
33
duplicateOperand
44
missingPhiOperand
5-
| destructors_for_temps.cpp:72:12:72:36 | Phi: ... && ... | Instruction 'Phi: ... && ...' is missing an operand for predecessor block 'EnterFunction: conditional_temp_via_conjunction' in function '$@'. | destructors_for_temps.cpp:70:6:70:37 | bool conditional_temp_via_conjunction(bool) | bool conditional_temp_via_conjunction(bool) |
65
missingOperandType
76
| destructors_for_temps.cpp:39:3:39:53 | ChiTotal | Operand 'ChiTotal' of instruction 'Chi' is missing a type in function '$@'. | destructors_for_temps.cpp:38:6:38:15 | void temp_test5(bool) | void temp_test5(bool) |
87
| ir.cpp:1425:5:1425:30 | ChiTotal | Operand 'ChiTotal' of instruction 'Chi' is missing a type in function '$@'. | ir.cpp:1414:6:1414:21 | void temporary_string() | void temporary_string() |
@@ -24,7 +23,6 @@ multipleIRTypes
2423
lostReachability
2524
backEdgeCountMismatch
2625
useNotDominatedByDefinition
27-
| destructors_for_temps.cpp:72:34:72:35 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | destructors_for_temps.cpp:70:6:70:37 | bool conditional_temp_via_conjunction(bool) | bool conditional_temp_via_conjunction(bool) |
2826
switchInstructionWithoutDefaultEdge
2927
notMarkedAsConflated
3028
wronglyMarkedAsConflated

cpp/ql/test/library-tests/ir/ir/operand_locations.expected

Lines changed: 33 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1242,62 +1242,48 @@
12421242
| destructors_for_temps.cpp:70:6:70:37 | Address | &:r70_7 |
12431243
| destructors_for_temps.cpp:70:6:70:37 | ChiPartial | partial:m70_3 |
12441244
| destructors_for_temps.cpp:70:6:70:37 | ChiTotal | total:m70_2 |
1245-
| destructors_for_temps.cpp:70:6:70:37 | Load | m72_23 |
1246-
| destructors_for_temps.cpp:70:6:70:37 | SideEffect | ~m72_19 |
1245+
| destructors_for_temps.cpp:70:6:70:37 | Load | m72_13 |
1246+
| destructors_for_temps.cpp:70:6:70:37 | SideEffect | ~m72_9 |
12471247
| destructors_for_temps.cpp:70:44:70:44 | Address | &:r70_5 |
12481248
| destructors_for_temps.cpp:72:5:72:37 | Address | &:r72_1 |
12491249
| destructors_for_temps.cpp:72:12:72:12 | Address | &:r72_2 |
12501250
| destructors_for_temps.cpp:72:12:72:12 | Condition | r72_3 |
12511251
| destructors_for_temps.cpp:72:12:72:12 | Load | m70_6 |
1252-
| destructors_for_temps.cpp:72:12:72:36 | Address | &:r72_7 |
1253-
| destructors_for_temps.cpp:72:12:72:36 | Address | &:r72_13 |
1254-
| destructors_for_temps.cpp:72:12:72:36 | Address | &:r72_24 |
1255-
| destructors_for_temps.cpp:72:12:72:36 | Load | m72_12 |
1252+
| destructors_for_temps.cpp:72:12:72:36 | Address | &:r72_6 |
1253+
| destructors_for_temps.cpp:72:12:72:36 | Address | &:r72_11 |
1254+
| destructors_for_temps.cpp:72:12:72:36 | Address | &:r72_14 |
1255+
| destructors_for_temps.cpp:72:12:72:36 | Load | m72_10 |
12561256
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 0:~m70_4 |
1257-
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 1:m72_5 |
1258-
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 1:m72_9 |
1259-
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 1:~m72_6 |
1260-
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 3:m72_26 |
1261-
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 3:m72_38 |
1262-
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 3:~m72_42 |
1263-
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 4:m72_38 |
1264-
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 4:~m72_42 |
1265-
| destructors_for_temps.cpp:72:12:72:36 | StoreValue | r72_8 |
1266-
| destructors_for_temps.cpp:72:12:72:36 | StoreValue | r72_14 |
1267-
| destructors_for_temps.cpp:72:12:72:36 | StoreValue | r72_25 |
1268-
| destructors_for_temps.cpp:72:17:72:32 | CallTarget | func:r72_27 |
1269-
| destructors_for_temps.cpp:72:17:72:32 | ChiPartial | partial:m72_41 |
1270-
| destructors_for_temps.cpp:72:17:72:32 | ChiTotal | total:m72_35 |
1271-
| destructors_for_temps.cpp:72:17:72:32 | Condition | r72_40 |
1272-
| destructors_for_temps.cpp:72:17:72:32 | SideEffect | ~m72_35 |
1273-
| destructors_for_temps.cpp:72:34:72:35 | Address | &:r72_15 |
1274-
| destructors_for_temps.cpp:72:34:72:35 | Address | &:r72_15 |
1275-
| destructors_for_temps.cpp:72:34:72:35 | Address | &:r72_28 |
1276-
| destructors_for_temps.cpp:72:34:72:35 | Address | &:r72_28 |
1277-
| destructors_for_temps.cpp:72:34:72:35 | Address | &:r72_32 |
1278-
| destructors_for_temps.cpp:72:34:72:35 | Address | &:r72_39 |
1279-
| destructors_for_temps.cpp:72:34:72:35 | Arg(0) | 0:r72_32 |
1280-
| destructors_for_temps.cpp:72:34:72:35 | Arg(0) | 0:r72_39 |
1281-
| destructors_for_temps.cpp:72:34:72:35 | Arg(this) | this:r72_15 |
1282-
| destructors_for_temps.cpp:72:34:72:35 | Arg(this) | this:r72_28 |
1283-
| destructors_for_temps.cpp:72:34:72:35 | CallTarget | func:r72_16 |
1284-
| destructors_for_temps.cpp:72:34:72:35 | CallTarget | func:r72_30 |
1285-
| destructors_for_temps.cpp:72:34:72:35 | ChiPartial | partial:m72_18 |
1286-
| destructors_for_temps.cpp:72:34:72:35 | ChiPartial | partial:m72_21 |
1287-
| destructors_for_temps.cpp:72:34:72:35 | ChiPartial | partial:m72_34 |
1288-
| destructors_for_temps.cpp:72:34:72:35 | ChiPartial | partial:m72_37 |
1257+
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 1:m72_8 |
1258+
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 1:~m72_5 |
1259+
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 3:m72_16 |
1260+
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 3:~m72_32 |
1261+
| destructors_for_temps.cpp:72:12:72:36 | Phi | from 4:~m72_32 |
1262+
| destructors_for_temps.cpp:72:12:72:36 | StoreValue | r72_7 |
1263+
| destructors_for_temps.cpp:72:12:72:36 | StoreValue | r72_12 |
1264+
| destructors_for_temps.cpp:72:12:72:36 | StoreValue | r72_15 |
1265+
| destructors_for_temps.cpp:72:17:72:32 | CallTarget | func:r72_17 |
1266+
| destructors_for_temps.cpp:72:17:72:32 | ChiPartial | partial:m72_31 |
1267+
| destructors_for_temps.cpp:72:17:72:32 | ChiTotal | total:m72_25 |
1268+
| destructors_for_temps.cpp:72:17:72:32 | Condition | r72_30 |
1269+
| destructors_for_temps.cpp:72:17:72:32 | SideEffect | ~m72_25 |
1270+
| destructors_for_temps.cpp:72:34:72:35 | Address | &:r72_18 |
1271+
| destructors_for_temps.cpp:72:34:72:35 | Address | &:r72_18 |
1272+
| destructors_for_temps.cpp:72:34:72:35 | Address | &:r72_22 |
1273+
| destructors_for_temps.cpp:72:34:72:35 | Address | &:r72_29 |
1274+
| destructors_for_temps.cpp:72:34:72:35 | Arg(0) | 0:r72_22 |
1275+
| destructors_for_temps.cpp:72:34:72:35 | Arg(0) | 0:r72_29 |
1276+
| destructors_for_temps.cpp:72:34:72:35 | Arg(this) | this:r72_18 |
1277+
| destructors_for_temps.cpp:72:34:72:35 | CallTarget | func:r72_20 |
1278+
| destructors_for_temps.cpp:72:34:72:35 | ChiPartial | partial:m72_24 |
1279+
| destructors_for_temps.cpp:72:34:72:35 | ChiPartial | partial:m72_27 |
12891280
| destructors_for_temps.cpp:72:34:72:35 | ChiTotal | total:m70_4 |
1290-
| destructors_for_temps.cpp:72:34:72:35 | ChiTotal | total:m72_10 |
1291-
| destructors_for_temps.cpp:72:34:72:35 | ChiTotal | total:m72_11 |
1292-
| destructors_for_temps.cpp:72:34:72:35 | ChiTotal | total:m72_29 |
1293-
| destructors_for_temps.cpp:72:34:72:35 | SideEffect | m72_10 |
1281+
| destructors_for_temps.cpp:72:34:72:35 | ChiTotal | total:m72_19 |
12941282
| destructors_for_temps.cpp:72:34:72:35 | SideEffect | ~m70_3 |
12951283
| destructors_for_temps.cpp:72:34:72:35 | SideEffect | ~m70_4 |
1296-
| destructors_for_temps.cpp:72:34:72:35 | SideEffect | ~m72_11 |
1297-
| destructors_for_temps.cpp:72:34:72:35 | SideEffect | ~m72_38 |
1298-
| destructors_for_temps.cpp:72:34:72:35 | Unary | r72_28 |
1299-
| destructors_for_temps.cpp:72:34:72:35 | Unary | r72_28 |
1300-
| destructors_for_temps.cpp:72:34:72:35 | Unary | r72_31 |
1284+
| destructors_for_temps.cpp:72:34:72:35 | SideEffect | ~m72_28 |
1285+
| destructors_for_temps.cpp:72:34:72:35 | Unary | r72_18 |
1286+
| destructors_for_temps.cpp:72:34:72:35 | Unary | r72_21 |
13011287
| file://:0:0:0:0 | Address | &:r0_1 |
13021288
| file://:0:0:0:0 | Address | &:r0_1 |
13031289
| file://:0:0:0:0 | Address | &:r0_1 |

cpp/ql/test/library-tests/ir/ir/raw_consistency.expected

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ multipleIRTypes
2020
lostReachability
2121
backEdgeCountMismatch
2222
useNotDominatedByDefinition
23-
| destructors_for_temps.cpp:72:34:72:35 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | destructors_for_temps.cpp:70:6:70:37 | bool conditional_temp_via_conjunction(bool) | bool conditional_temp_via_conjunction(bool) |
2423
| ir.cpp:1535:8:1535:8 | Unary | Operand 'Unary' is not dominated by its definition in function '$@'. | ir.cpp:1535:8:1535:8 | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() | void StructuredBindingDataMemberStruct::StructuredBindingDataMemberStruct() |
2524
| try_except.c:13:13:13:13 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:6:6:6:6 | void f() | void f() |
2625
| try_except.c:13:13:13:13 | Left | Operand 'Left' is not dominated by its definition in function '$@'. | try_except.c:6:6:6:6 | void f() | void f() |

cpp/ql/test/library-tests/ir/ir/raw_ir.expected

Lines changed: 25 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1273,42 +1273,36 @@ destructors_for_temps.cpp:
12731273
#-----| Goto -> Block 2
12741274

12751275
# 72| Block 2
1276-
# 72| r72_8(glval<bool>) = VariableAddress[#temp72:12] :
1277-
# 72| r72_9(bool) = Load[#temp72:12] : &:r72_8, ~m?
1278-
# 72| r72_10(glval<string>) = CopyValue : r72_21
1279-
# 72| r72_11(glval<unknown>) = FunctionAddress[~string] :
1280-
# 72| v72_12(void) = Call[~string] : func:r72_11, this:r72_10
1281-
# 72| mu72_13(unknown) = ^CallSideEffect : ~m?
1282-
# 72| v72_14(void) = ^IndirectReadSideEffect[-1] : &:r72_10, ~m?
1283-
# 72| mu72_15(string) = ^IndirectMayWriteSideEffect[-1] : &:r72_10
1284-
# 72| mu72_16(bool) = Store[#return] : &:r72_1, r72_9
1285-
# 70| r70_6(glval<bool>) = VariableAddress[#return] :
1286-
# 70| v70_7(void) = ReturnValue : &:r70_6, ~m?
1287-
# 70| v70_8(void) = AliasedUse : ~m?
1288-
# 70| v70_9(void) = ExitFunction :
1276+
# 72| r72_8(glval<bool>) = VariableAddress[#temp72:12] :
1277+
# 72| r72_9(bool) = Load[#temp72:12] : &:r72_8, ~m?
1278+
# 72| mu72_10(bool) = Store[#return] : &:r72_1, r72_9
1279+
# 70| r70_6(glval<bool>) = VariableAddress[#return] :
1280+
# 70| v70_7(void) = ReturnValue : &:r70_6, ~m?
1281+
# 70| v70_8(void) = AliasedUse : ~m?
1282+
# 70| v70_9(void) = ExitFunction :
12891283

12901284
# 72| Block 3
1291-
# 72| r72_17(glval<bool>) = VariableAddress[#temp72:12] :
1292-
# 72| r72_18(bool) = Constant[1] :
1293-
# 72| mu72_19(bool) = Store[#temp72:12] : &:r72_17, r72_18
1285+
# 72| r72_11(glval<bool>) = VariableAddress[#temp72:12] :
1286+
# 72| r72_12(bool) = Constant[1] :
1287+
# 72| mu72_13(bool) = Store[#temp72:12] : &:r72_11, r72_12
12941288
#-----| Goto -> Block 2
12951289

12961290
# 72| Block 4
1297-
# 72| r72_20(glval<unknown>) = FunctionAddress[const_ref_string] :
1298-
# 72| r72_21(glval<string>) = VariableAddress[#temp72:34] :
1299-
# 72| mu72_22(string) = Uninitialized[#temp72:34] : &:r72_21
1300-
# 72| r72_23(glval<unknown>) = FunctionAddress[string] :
1301-
# 72| r72_24(glval<char[1]>) = StringConstant[""] :
1302-
# 72| r72_25(char *) = Convert : r72_24
1303-
# 72| v72_26(void) = Call[string] : func:r72_23, this:r72_21, 0:r72_25
1304-
# 72| mu72_27(unknown) = ^CallSideEffect : ~m?
1305-
# 72| v72_28(void) = ^BufferReadSideEffect[0] : &:r72_25, ~m?
1306-
# 72| mu72_29(string) = ^IndirectMayWriteSideEffect[-1] : &:r72_21
1307-
# 72| r72_30(string &) = CopyValue : r72_21
1308-
# 72| r72_31(bool) = Call[const_ref_string] : func:r72_20, 0:r72_30
1309-
# 72| mu72_32(unknown) = ^CallSideEffect : ~m?
1310-
# 72| v72_33(void) = ^BufferReadSideEffect[0] : &:r72_30, ~m?
1311-
# 72| v72_34(void) = ConditionalBranch : r72_31
1291+
# 72| r72_14(glval<unknown>) = FunctionAddress[const_ref_string] :
1292+
# 72| r72_15(glval<string>) = VariableAddress[#temp72:34] :
1293+
# 72| mu72_16(string) = Uninitialized[#temp72:34] : &:r72_15
1294+
# 72| r72_17(glval<unknown>) = FunctionAddress[string] :
1295+
# 72| r72_18(glval<char[1]>) = StringConstant[""] :
1296+
# 72| r72_19(char *) = Convert : r72_18
1297+
# 72| v72_20(void) = Call[string] : func:r72_17, this:r72_15, 0:r72_19
1298+
# 72| mu72_21(unknown) = ^CallSideEffect : ~m?
1299+
# 72| v72_22(void) = ^BufferReadSideEffect[0] : &:r72_19, ~m?
1300+
# 72| mu72_23(string) = ^IndirectMayWriteSideEffect[-1] : &:r72_15
1301+
# 72| r72_24(string &) = CopyValue : r72_15
1302+
# 72| r72_25(bool) = Call[const_ref_string] : func:r72_14, 0:r72_24
1303+
# 72| mu72_26(unknown) = ^CallSideEffect : ~m?
1304+
# 72| v72_27(void) = ^BufferReadSideEffect[0] : &:r72_24, ~m?
1305+
# 72| v72_28(void) = ConditionalBranch : r72_25
13121306
#-----| False -> Block 1
13131307
#-----| True -> Block 3
13141308

0 commit comments

Comments
 (0)