mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-04 13:11:04 +01:00
Expose C++ reference returns as Carbon reference returns (#6618)
Co-authored-by: Carbon Infra Bot <carbon-external-infra@google.com>
This commit is contained in:
co-authored by
Carbon Infra Bot
parent
94d9bff541
commit
95eb7b16bb
+12
-14
@@ -1081,7 +1081,6 @@ fn F() {
|
||||
// CHECK:STDOUT: %ptr.d9e: type = ptr_type %C [concrete]
|
||||
// CHECK:STDOUT: %C__carbon_thunk.type: type = fn_type @C__carbon_thunk [concrete]
|
||||
// CHECK:STDOUT: %C__carbon_thunk: %C__carbon_thunk.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %const: type = const_type %ptr.d9e [concrete]
|
||||
// CHECK:STDOUT: %cpp_operator.type.1ea478.1: type = fn_type @cpp_operator.1 [concrete]
|
||||
// CHECK:STDOUT: %cpp_operator.0a3797.1: %cpp_operator.type.1ea478.1 = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %cpp_operator.type.1ea478.2: type = fn_type @cpp_operator.2 [concrete]
|
||||
@@ -1149,9 +1148,9 @@ fn F() {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %c: ref %C = ref_binding c, %c.var
|
||||
// CHECK:STDOUT: %c.ref.loc11: ref %C = name_ref c, %c
|
||||
// CHECK:STDOUT: %cpp_operator.call.loc11: init %const = call imports.%cpp_operator.decl.4206c9.1(%c.ref.loc11)
|
||||
// CHECK:STDOUT: %cpp_operator.call.loc11: ref %C = call imports.%cpp_operator.decl.4206c9.1(%c.ref.loc11)
|
||||
// CHECK:STDOUT: %c.ref.loc12: ref %C = name_ref c, %c
|
||||
// CHECK:STDOUT: %cpp_operator.call.loc12: init %const = call imports.%cpp_operator.decl.4206c9.2(%c.ref.loc12)
|
||||
// CHECK:STDOUT: %cpp_operator.call.loc12: ref %C = call imports.%cpp_operator.decl.4206c9.2(%c.ref.loc12)
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %minus.patt: %pattern_type.217 = value_binding_pattern minus [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
@@ -1252,7 +1251,6 @@ fn F() {
|
||||
// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.bound.005: <bound method> = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5 [concrete]
|
||||
// CHECK:STDOUT: %bound_method.e9d: <bound method> = bound_method %int_5.64b, %Core.IntLiteral.as.ImplicitAs.impl.Convert.specific_fn [concrete]
|
||||
// CHECK:STDOUT: %int_5.0f6: %i32 = int_value 5 [concrete]
|
||||
// CHECK:STDOUT: %const.7c5: type = const_type %ptr.d9e [concrete]
|
||||
// CHECK:STDOUT: %operator_PlusEqual__carbon_thunk.type: type = fn_type @operator_PlusEqual__carbon_thunk [concrete]
|
||||
// CHECK:STDOUT: %operator_PlusEqual__carbon_thunk: %operator_PlusEqual__carbon_thunk.type = struct_value () [concrete]
|
||||
// CHECK:STDOUT: %operator_MinusEqual__carbon_thunk.type: type = fn_type @operator_MinusEqual__carbon_thunk [concrete]
|
||||
@@ -1726,49 +1724,49 @@ fn F() {
|
||||
// CHECK:STDOUT: %.loc26_9.1: %C = acquire_value %c2.ref.loc26
|
||||
// CHECK:STDOUT: %.loc26_9.2: ref %C = value_as_ref %.loc26_9.1
|
||||
// CHECK:STDOUT: %addr.loc26: %ptr.d9e = addr_of %.loc26_9.2
|
||||
// CHECK:STDOUT: %operator_PlusEqual__carbon_thunk.call: init %const.7c5 = call imports.%operator_PlusEqual__carbon_thunk.decl(%c1.ref.loc26, %addr.loc26)
|
||||
// CHECK:STDOUT: %operator_PlusEqual__carbon_thunk.call: ref %C = call imports.%operator_PlusEqual__carbon_thunk.decl(%c1.ref.loc26, %addr.loc26)
|
||||
// CHECK:STDOUT: %c1.ref.loc27: ref %C = name_ref c1, %c1
|
||||
// CHECK:STDOUT: %c2.ref.loc27: ref %C = name_ref c2, %c2
|
||||
// CHECK:STDOUT: %.loc27_9.1: %C = acquire_value %c2.ref.loc27
|
||||
// CHECK:STDOUT: %.loc27_9.2: ref %C = value_as_ref %.loc27_9.1
|
||||
// CHECK:STDOUT: %addr.loc27: %ptr.d9e = addr_of %.loc27_9.2
|
||||
// CHECK:STDOUT: %operator_MinusEqual__carbon_thunk.call: init %const.7c5 = call imports.%operator_MinusEqual__carbon_thunk.decl(%c1.ref.loc27, %addr.loc27)
|
||||
// CHECK:STDOUT: %operator_MinusEqual__carbon_thunk.call: ref %C = call imports.%operator_MinusEqual__carbon_thunk.decl(%c1.ref.loc27, %addr.loc27)
|
||||
// CHECK:STDOUT: %c1.ref.loc28: ref %C = name_ref c1, %c1
|
||||
// CHECK:STDOUT: %c2.ref.loc28: ref %C = name_ref c2, %c2
|
||||
// CHECK:STDOUT: %.loc28_9.1: %C = acquire_value %c2.ref.loc28
|
||||
// CHECK:STDOUT: %.loc28_9.2: ref %C = value_as_ref %.loc28_9.1
|
||||
// CHECK:STDOUT: %addr.loc28: %ptr.d9e = addr_of %.loc28_9.2
|
||||
// CHECK:STDOUT: %operator_StarEqual__carbon_thunk.call: init %const.7c5 = call imports.%operator_StarEqual__carbon_thunk.decl(%c1.ref.loc28, %addr.loc28)
|
||||
// CHECK:STDOUT: %operator_StarEqual__carbon_thunk.call: ref %C = call imports.%operator_StarEqual__carbon_thunk.decl(%c1.ref.loc28, %addr.loc28)
|
||||
// CHECK:STDOUT: %c1.ref.loc29: ref %C = name_ref c1, %c1
|
||||
// CHECK:STDOUT: %c2.ref.loc29: ref %C = name_ref c2, %c2
|
||||
// CHECK:STDOUT: %.loc29_9.1: %C = acquire_value %c2.ref.loc29
|
||||
// CHECK:STDOUT: %.loc29_9.2: ref %C = value_as_ref %.loc29_9.1
|
||||
// CHECK:STDOUT: %addr.loc29: %ptr.d9e = addr_of %.loc29_9.2
|
||||
// CHECK:STDOUT: %operator_SlashEqual__carbon_thunk.call: init %const.7c5 = call imports.%operator_SlashEqual__carbon_thunk.decl(%c1.ref.loc29, %addr.loc29)
|
||||
// CHECK:STDOUT: %operator_SlashEqual__carbon_thunk.call: ref %C = call imports.%operator_SlashEqual__carbon_thunk.decl(%c1.ref.loc29, %addr.loc29)
|
||||
// CHECK:STDOUT: %c1.ref.loc30: ref %C = name_ref c1, %c1
|
||||
// CHECK:STDOUT: %c2.ref.loc30: ref %C = name_ref c2, %c2
|
||||
// CHECK:STDOUT: %.loc30_9.1: %C = acquire_value %c2.ref.loc30
|
||||
// CHECK:STDOUT: %.loc30_9.2: ref %C = value_as_ref %.loc30_9.1
|
||||
// CHECK:STDOUT: %addr.loc30: %ptr.d9e = addr_of %.loc30_9.2
|
||||
// CHECK:STDOUT: %operator_PercentEqual__carbon_thunk.call: init %const.7c5 = call imports.%operator_PercentEqual__carbon_thunk.decl(%c1.ref.loc30, %addr.loc30)
|
||||
// CHECK:STDOUT: %operator_PercentEqual__carbon_thunk.call: ref %C = call imports.%operator_PercentEqual__carbon_thunk.decl(%c1.ref.loc30, %addr.loc30)
|
||||
// CHECK:STDOUT: %c1.ref.loc33: ref %C = name_ref c1, %c1
|
||||
// CHECK:STDOUT: %c2.ref.loc33: ref %C = name_ref c2, %c2
|
||||
// CHECK:STDOUT: %.loc33_9.1: %C = acquire_value %c2.ref.loc33
|
||||
// CHECK:STDOUT: %.loc33_9.2: ref %C = value_as_ref %.loc33_9.1
|
||||
// CHECK:STDOUT: %addr.loc33: %ptr.d9e = addr_of %.loc33_9.2
|
||||
// CHECK:STDOUT: %operator_AmpEqual__carbon_thunk.call: init %const.7c5 = call imports.%operator_AmpEqual__carbon_thunk.decl(%c1.ref.loc33, %addr.loc33)
|
||||
// CHECK:STDOUT: %operator_AmpEqual__carbon_thunk.call: ref %C = call imports.%operator_AmpEqual__carbon_thunk.decl(%c1.ref.loc33, %addr.loc33)
|
||||
// CHECK:STDOUT: %c1.ref.loc34: ref %C = name_ref c1, %c1
|
||||
// CHECK:STDOUT: %c2.ref.loc34: ref %C = name_ref c2, %c2
|
||||
// CHECK:STDOUT: %.loc34_9.1: %C = acquire_value %c2.ref.loc34
|
||||
// CHECK:STDOUT: %.loc34_9.2: ref %C = value_as_ref %.loc34_9.1
|
||||
// CHECK:STDOUT: %addr.loc34: %ptr.d9e = addr_of %.loc34_9.2
|
||||
// CHECK:STDOUT: %operator_PipeEqual__carbon_thunk.call: init %const.7c5 = call imports.%operator_PipeEqual__carbon_thunk.decl(%c1.ref.loc34, %addr.loc34)
|
||||
// CHECK:STDOUT: %operator_PipeEqual__carbon_thunk.call: ref %C = call imports.%operator_PipeEqual__carbon_thunk.decl(%c1.ref.loc34, %addr.loc34)
|
||||
// CHECK:STDOUT: %c1.ref.loc35: ref %C = name_ref c1, %c1
|
||||
// CHECK:STDOUT: %c2.ref.loc35: ref %C = name_ref c2, %c2
|
||||
// CHECK:STDOUT: %.loc35_9.1: %C = acquire_value %c2.ref.loc35
|
||||
// CHECK:STDOUT: %.loc35_9.2: ref %C = value_as_ref %.loc35_9.1
|
||||
// CHECK:STDOUT: %addr.loc35: %ptr.d9e = addr_of %.loc35_9.2
|
||||
// CHECK:STDOUT: %operator_CaretEqual__carbon_thunk.call: init %const.7c5 = call imports.%operator_CaretEqual__carbon_thunk.decl(%c1.ref.loc35, %addr.loc35)
|
||||
// CHECK:STDOUT: %operator_CaretEqual__carbon_thunk.call: ref %C = call imports.%operator_CaretEqual__carbon_thunk.decl(%c1.ref.loc35, %addr.loc35)
|
||||
// CHECK:STDOUT: %c1.ref.loc36: ref %C = name_ref c1, %c1
|
||||
// CHECK:STDOUT: %int_3.loc36: Core.IntLiteral = int_value 3 [concrete = constants.%int_3.1ba]
|
||||
// CHECK:STDOUT: %impl.elem0.loc36: %.863 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5]
|
||||
@@ -1778,7 +1776,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc36: init %i32 = call %bound_method.loc36_10.2(%int_3.loc36) [concrete = constants.%int_3.822]
|
||||
// CHECK:STDOUT: %.loc36_10.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc36 [concrete = constants.%int_3.822]
|
||||
// CHECK:STDOUT: %.loc36_10.2: %i32 = converted %int_3.loc36, %.loc36_10.1 [concrete = constants.%int_3.822]
|
||||
// CHECK:STDOUT: %cpp_operator.call.loc36: init %const.7c5 = call imports.%cpp_operator.decl.4206c9.19(%c1.ref.loc36, %.loc36_10.2)
|
||||
// CHECK:STDOUT: %cpp_operator.call.loc36: ref %C = call imports.%cpp_operator.decl.4206c9.19(%c1.ref.loc36, %.loc36_10.2)
|
||||
// CHECK:STDOUT: %c1.ref.loc37: ref %C = name_ref c1, %c1
|
||||
// CHECK:STDOUT: %int_5.loc37: Core.IntLiteral = int_value 5 [concrete = constants.%int_5.64b]
|
||||
// CHECK:STDOUT: %impl.elem0.loc37: %.863 = impl_witness_access constants.%ImplicitAs.impl_witness.6bc, element0 [concrete = constants.%Core.IntLiteral.as.ImplicitAs.impl.Convert.0b5]
|
||||
@@ -1788,7 +1786,7 @@ fn F() {
|
||||
// CHECK:STDOUT: %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc37: init %i32 = call %bound_method.loc37_10.2(%int_5.loc37) [concrete = constants.%int_5.0f6]
|
||||
// CHECK:STDOUT: %.loc37_10.1: %i32 = value_of_initializer %Core.IntLiteral.as.ImplicitAs.impl.Convert.call.loc37 [concrete = constants.%int_5.0f6]
|
||||
// CHECK:STDOUT: %.loc37_10.2: %i32 = converted %int_5.loc37, %.loc37_10.1 [concrete = constants.%int_5.0f6]
|
||||
// CHECK:STDOUT: %cpp_operator.call.loc37: init %const.7c5 = call imports.%cpp_operator.decl.4206c9.20(%c1.ref.loc37, %.loc37_10.2)
|
||||
// CHECK:STDOUT: %cpp_operator.call.loc37: ref %C = call imports.%cpp_operator.decl.4206c9.20(%c1.ref.loc37, %.loc37_10.2)
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %equal.patt: %pattern_type.831 = value_binding_pattern equal [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
Reference in New Issue
Block a user