@@ -423,7 +423,7 @@ import Cpp library "character_literals.h";
423423fn F () {
424424 // @dump-sem-ir-begin
425425 let unused a: char = Cpp.M_LOWERCASE;
426- let unused b: char = Cpp.M_UPPRCASE ;
426+ let unused b: char = Cpp.M_UPPERCASE ;
427427 let unused c: char = Cpp.M_DIGIT;
428428 let unused d: char = Cpp.M_SPACE;
429429 let unused e: char = Cpp.M_TAB;
@@ -692,7 +692,7 @@ import Cpp inline '''
692692
693693fn F () {
694694 // @dump-sem-ir-begin
695- let a: i32 = Cpp.M_CONSTEXPR_INT;
695+ let unused a: i32 = Cpp.M_CONSTEXPR_INT;
696696 // @dump-sem-ir-end
697697}
698698
@@ -713,11 +713,11 @@ import Cpp inline '''
713713''' ;
714714
715715fn F () {
716- // CHECK:STDERR: fail_import_constexpr_no_scope.carbon:[[@LINE+4]]:16 : note: in `Cpp` name lookup for `M_CONSTEXPR_NO_SCOPE` [InCppNameLookup]
717- // CHECK:STDERR: let a: i32 = Cpp.M_CONSTEXPR_NO_SCOPE;
718- // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~
716+ // CHECK:STDERR: fail_import_constexpr_no_scope.carbon:[[@LINE+4]]:23 : note: in `Cpp` name lookup for `M_CONSTEXPR_NO_SCOPE` [InCppNameLookup]
717+ // CHECK:STDERR: let unused a: i32 = Cpp.M_CONSTEXPR_NO_SCOPE;
718+ // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~
719719 // CHECK:STDERR:
720- let a: i32 = Cpp.M_CONSTEXPR_NO_SCOPE;
720+ let unused a: i32 = Cpp.M_CONSTEXPR_NO_SCOPE;
721721}
722722
723723// --- fail_todo_import_macro_constexpr_float.carbon
@@ -730,18 +730,18 @@ import Cpp inline '''
730730''' ;
731731
732732fn F () {
733- // CHECK:STDERR: fail_todo_import_macro_constexpr_float.carbon:[[@LINE+11]]:16 : error: semantics TODO: `Unsupported: macro evaluated to a non-integer LValue` [SemanticsTodo]
734- // CHECK:STDERR: let a: f32 = Cpp.M_CONSTEXPR_FLOAT;
735- // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~
736- // CHECK:STDERR: fail_todo_import_macro_constexpr_float.carbon:[[@LINE+8]]:16 : note: in `Cpp` name lookup for `M_CONSTEXPR_FLOAT` [InCppNameLookup]
737- // CHECK:STDERR: let a: f32 = Cpp.M_CONSTEXPR_FLOAT;
738- // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~
733+ // CHECK:STDERR: fail_todo_import_macro_constexpr_float.carbon:[[@LINE+11]]:23 : error: semantics TODO: `Unsupported: macro evaluated to a non-integer LValue` [SemanticsTodo]
734+ // CHECK:STDERR: let unused a: f32 = Cpp.M_CONSTEXPR_FLOAT;
735+ // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~
736+ // CHECK:STDERR: fail_todo_import_macro_constexpr_float.carbon:[[@LINE+8]]:23 : note: in `Cpp` name lookup for `M_CONSTEXPR_FLOAT` [InCppNameLookup]
737+ // CHECK:STDERR: let unused a: f32 = Cpp.M_CONSTEXPR_FLOAT;
738+ // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~
739739 // CHECK:STDERR:
740- // CHECK:STDERR: fail_todo_import_macro_constexpr_float.carbon:[[@LINE+4]]:16 : error: member name `M_CONSTEXPR_FLOAT` not found in `Cpp` [MemberNameNotFoundInInstScope]
741- // CHECK:STDERR: let a: f32 = Cpp.M_CONSTEXPR_FLOAT;
742- // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~
740+ // CHECK:STDERR: fail_todo_import_macro_constexpr_float.carbon:[[@LINE+4]]:23 : error: member name `M_CONSTEXPR_FLOAT` not found in `Cpp` [MemberNameNotFoundInInstScope]
741+ // CHECK:STDERR: let unused a: f32 = Cpp.M_CONSTEXPR_FLOAT;
742+ // CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~
743743 // CHECK:STDERR:
744- let a: f32 = Cpp.M_CONSTEXPR_FLOAT;
744+ let unused a: f32 = Cpp.M_CONSTEXPR_FLOAT;
745745}
746746
747747// --- lambda.carbon
@@ -771,8 +771,8 @@ import Cpp library "macro_undefined.h";
771771
772772fn F () {
773773 // CHECK:STDERR: fail_macro_undefined.carbon:[[@LINE+4]]:23: error: member name `UNDEF_VALUE` not found in `Cpp` [MemberNameNotFoundInInstScope]
774- // CHECK:STDERR: let unused a: i32 = Cpp.UNDEF_NAME ;
775- // CHECK:STDERR: ^~~~~~~~~~~~~~~~
774+ // CHECK:STDERR: let unused a: i32 = Cpp.UNDEF_VALUE ;
775+ // CHECK:STDERR: ^~~~~~~~~~~~~~~
776776 // CHECK:STDERR:
777777 let unused a: i32 = Cpp.UNDEF_VALUE;
778778}
@@ -1077,33 +1077,33 @@ fn F() {
10771077// CHECK:STDOUT: }
10781078// CHECK:STDOUT: %a.var: ref %array_type = var %a.var_patt
10791079// CHECK:STDOUT: %float: Core.FloatLiteral = float_literal_value 10e-1 [concrete = constants.%float.674]
1080- // CHECK:STDOUT: %.loc10_35 .1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple]
1081- // CHECK:STDOUT: %impl.elem0.loc10_35 : %.393 = impl_witness_access constants.%ImplicitAs.impl_witness.e0e, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.947]
1082- // CHECK:STDOUT: %bound_method.loc10_35 .1: <bound method> = bound_method %float, %impl.elem0.loc10_35 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound]
1083- // CHECK:STDOUT: %specific_fn.loc10_35 : <specific function> = specific_function %impl.elem0.loc10_35 , @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn]
1084- // CHECK:STDOUT: %bound_method.loc10_35 .2: <bound method> = bound_method %float, %specific_fn.loc10_35 [concrete = constants.%bound_method.d8a]
1085- // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call: init %f32.97e = call %bound_method.loc10_35 .2(%float) [concrete = constants.%float.e3b]
1086- // CHECK:STDOUT: %.loc10_35 .2: init %f32.97e = converted %float, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%float.e3b]
1080+ // CHECK:STDOUT: %.loc10_42 .1: %tuple.type = tuple_literal (%float) [concrete = constants.%tuple]
1081+ // CHECK:STDOUT: %impl.elem0.loc10_42 : %.393 = impl_witness_access constants.%ImplicitAs.impl_witness.e0e, element0 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.947]
1082+ // CHECK:STDOUT: %bound_method.loc10_42 .1: <bound method> = bound_method %float, %impl.elem0.loc10_42 [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.bound]
1083+ // CHECK:STDOUT: %specific_fn.loc10_42 : <specific function> = specific_function %impl.elem0.loc10_42 , @Core.FloatLiteral.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Core.FloatLiteral.as.ImplicitAs.impl.Convert.specific_fn]
1084+ // CHECK:STDOUT: %bound_method.loc10_42 .2: <bound method> = bound_method %float, %specific_fn.loc10_42 [concrete = constants.%bound_method.d8a]
1085+ // CHECK:STDOUT: %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call: init %f32.97e = call %bound_method.loc10_42 .2(%float) [concrete = constants.%float.e3b]
1086+ // CHECK:STDOUT: %.loc10_42 .2: init %f32.97e = converted %float, %Core.FloatLiteral.as.ImplicitAs.impl.Convert.call [concrete = constants.%float.e3b]
10871087// CHECK:STDOUT: %int_0: Core.IntLiteral = int_value 0 [concrete = constants.%int_0]
1088- // CHECK:STDOUT: %.loc10_35 .3: ref %f32.97e = array_index %a.var, %int_0
1089- // CHECK:STDOUT: %.loc10_35 .4: init %f32.97e = initialize_from %.loc10_35 .2 to %.loc10_35 .3 [concrete = constants.%float.e3b]
1090- // CHECK:STDOUT: %.loc10_35 .5: init %array_type = array_init (%.loc10_35 .4) to %a.var [concrete = constants.%array]
1091- // CHECK:STDOUT: %.loc10_3: init %array_type = converted %.loc10_35 .1, %.loc10_35 .5 [concrete = constants.%array]
1088+ // CHECK:STDOUT: %.loc10_42 .3: ref %f32.97e = array_index %a.var, %int_0
1089+ // CHECK:STDOUT: %.loc10_42 .4: init %f32.97e = initialize_from %.loc10_42 .2 to %.loc10_42 .3 [concrete = constants.%float.e3b]
1090+ // CHECK:STDOUT: %.loc10_42 .5: init %array_type = array_init (%.loc10_42 .4) to %a.var [concrete = constants.%array]
1091+ // CHECK:STDOUT: %.loc10_3: init %array_type = converted %.loc10_42 .1, %.loc10_42 .5 [concrete = constants.%array]
10921092// CHECK:STDOUT: assign %a.var, %.loc10_3
1093- // CHECK:STDOUT: %.loc10_26 : type = splice_block %array_type [concrete = constants.%array_type] {
1093+ // CHECK:STDOUT: %.loc10_33 : type = splice_block %array_type [concrete = constants.%array_type] {
10941094// CHECK:STDOUT: %int_32.loc10: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
10951095// CHECK:STDOUT: %f32.loc10: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e]
10961096// CHECK:STDOUT: %Cpp.ref.loc10: <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
10971097// CHECK:STDOUT: <elided>
10981098// CHECK:STDOUT: %n.ref.loc10: %i32 = name_ref n, imports.%int_1 [concrete = constants.%int_1.5d2]
1099- // CHECK:STDOUT: %impl.elem0.loc10_24 : %.63b = impl_witness_access constants.%ImplicitAs.impl_witness.972, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.047]
1100- // CHECK:STDOUT: %bound_method.loc10_24 .1: <bound method> = bound_method %n.ref.loc10, %impl.elem0.loc10_24 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound]
1101- // CHECK:STDOUT: %specific_fn.loc10_24 : <specific function> = specific_function %impl.elem0.loc10_24 , @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn]
1102- // CHECK:STDOUT: %bound_method.loc10_24 .2: <bound method> = bound_method %n.ref.loc10, %specific_fn.loc10_24 [concrete = constants.%bound_method.3e3]
1103- // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.call: init Core.IntLiteral = call %bound_method.loc10_24 .2(%n.ref.loc10) [concrete = constants.%int_1.5b8]
1104- // CHECK:STDOUT: %.loc10_24 .1: Core.IntLiteral = value_of_initializer %Int.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.5b8]
1105- // CHECK:STDOUT: %.loc10_24 .2: Core.IntLiteral = converted %n.ref.loc10, %.loc10_24 .1 [concrete = constants.%int_1.5b8]
1106- // CHECK:STDOUT: %array_type: type = array_type %.loc10_24 .2, %f32.loc10 [concrete = constants.%array_type]
1099+ // CHECK:STDOUT: %impl.elem0.loc10_31 : %.63b = impl_witness_access constants.%ImplicitAs.impl_witness.972, element0 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.047]
1100+ // CHECK:STDOUT: %bound_method.loc10_31 .1: <bound method> = bound_method %n.ref.loc10, %impl.elem0.loc10_31 [concrete = constants.%Int.as.ImplicitAs.impl.Convert.bound]
1101+ // CHECK:STDOUT: %specific_fn.loc10_31 : <specific function> = specific_function %impl.elem0.loc10_31 , @Int.as.ImplicitAs.impl.Convert(constants.%int_32) [concrete = constants.%Int.as.ImplicitAs.impl.Convert.specific_fn]
1102+ // CHECK:STDOUT: %bound_method.loc10_31 .2: <bound method> = bound_method %n.ref.loc10, %specific_fn.loc10_31 [concrete = constants.%bound_method.3e3]
1103+ // CHECK:STDOUT: %Int.as.ImplicitAs.impl.Convert.call: init Core.IntLiteral = call %bound_method.loc10_31 .2(%n.ref.loc10) [concrete = constants.%int_1.5b8]
1104+ // CHECK:STDOUT: %.loc10_31 .1: Core.IntLiteral = value_of_initializer %Int.as.ImplicitAs.impl.Convert.call [concrete = constants.%int_1.5b8]
1105+ // CHECK:STDOUT: %.loc10_31 .2: Core.IntLiteral = converted %n.ref.loc10, %.loc10_31 .1 [concrete = constants.%int_1.5b8]
1106+ // CHECK:STDOUT: %array_type: type = array_type %.loc10_31 .2, %f32.loc10 [concrete = constants.%array_type]
11071107// CHECK:STDOUT: }
11081108// CHECK:STDOUT: %a: ref %array_type = ref_binding a, %a.var
11091109// CHECK:STDOUT: name_binding_decl {
@@ -1113,12 +1113,12 @@ fn F() {
11131113// CHECK:STDOUT: %X.ref: <namespace> = name_ref X, imports.%X [concrete = imports.%X]
11141114// CHECK:STDOUT: <elided>
11151115// CHECK:STDOUT: %n.ref.loc12: ref %f32.97e = name_ref n, imports.%n.var [concrete = imports.%n.var]
1116- // CHECK:STDOUT: %.loc12_10 : type = splice_block %f32.loc12 [concrete = constants.%f32.97e] {
1116+ // CHECK:STDOUT: %.loc12_17 : type = splice_block %f32.loc12 [concrete = constants.%f32.97e] {
11171117// CHECK:STDOUT: %int_32.loc12: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
11181118// CHECK:STDOUT: %f32.loc12: type = class_type @Float, @Float(constants.%int_32) [concrete = constants.%f32.97e]
11191119// CHECK:STDOUT: }
1120- // CHECK:STDOUT: %.loc12_21 : %f32.97e = acquire_value %n.ref.loc12
1121- // CHECK:STDOUT: %b: %f32.97e = value_binding b, %.loc12_21
1120+ // CHECK:STDOUT: %.loc12_28 : %f32.97e = acquire_value %n.ref.loc12
1121+ // CHECK:STDOUT: %b: %f32.97e = value_binding b, %.loc12_28
11221122// CHECK:STDOUT: %DestroyT.binding.as_type.as.Destroy.impl.Op.bound: <bound method> = bound_method %a.var, constants.%DestroyT.binding.as_type.as.Destroy.impl.Op.39c
11231123// CHECK:STDOUT: <elided>
11241124// CHECK:STDOUT: %bound_method.loc10_3: <bound method> = bound_method %a.var, %DestroyT.binding.as_type.as.Destroy.impl.Op.specific_fn
@@ -1587,10 +1587,10 @@ fn F() {
15871587// CHECK:STDOUT: }
15881588// CHECK:STDOUT: %Cpp.ref.loc10: <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
15891589// CHECK:STDOUT: %M_A_EQUAL.ref: bool = name_ref M_A_EQUAL, imports.%true [concrete = constants.%true]
1590- // CHECK:STDOUT: %.loc10_10 .1: type = splice_block %.loc10_10 .3 [concrete = bool] {
1590+ // CHECK:STDOUT: %.loc10_17 .1: type = splice_block %.loc10_17 .3 [concrete = bool] {
15911591// CHECK:STDOUT: %Bool.call: init type = call constants.%Bool() [concrete = bool]
1592- // CHECK:STDOUT: %.loc10_10 .2: type = value_of_initializer %Bool.call [concrete = bool]
1593- // CHECK:STDOUT: %.loc10_10 .3: type = converted %Bool.call, %.loc10_10 .2 [concrete = bool]
1592+ // CHECK:STDOUT: %.loc10_17 .2: type = value_of_initializer %Bool.call [concrete = bool]
1593+ // CHECK:STDOUT: %.loc10_17 .3: type = converted %Bool.call, %.loc10_17 .2 [concrete = bool]
15941594// CHECK:STDOUT: }
15951595// CHECK:STDOUT: %c: bool = value_binding c, %M_A_EQUAL.ref
15961596// CHECK:STDOUT: <elided>
@@ -1881,10 +1881,10 @@ fn F() {
18811881// CHECK:STDOUT: name_binding_decl {
18821882// CHECK:STDOUT: %a.patt: %pattern_type = value_binding_pattern a [concrete]
18831883// CHECK:STDOUT: }
1884- // CHECK:STDOUT: %Cpp.ref.loc11_18 : <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
1884+ // CHECK:STDOUT: %Cpp.ref.loc11_25 : <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
18851885// CHECK:STDOUT: %M_A.ref: %A = name_ref M_A, imports.%int_1 [concrete = constants.%int_1]
18861886// CHECK:STDOUT: %.loc11: type = splice_block %A.ref [concrete = constants.%A] {
1887- // CHECK:STDOUT: %Cpp.ref.loc11_10 : <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
1887+ // CHECK:STDOUT: %Cpp.ref.loc11_17 : <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
18881888// CHECK:STDOUT: %A.ref: type = name_ref A, imports.%A.decl [concrete = constants.%A]
18891889// CHECK:STDOUT: }
18901890// CHECK:STDOUT: %a: %A = value_binding a, %M_A.ref
@@ -1918,13 +1918,13 @@ fn F() {
19181918// CHECK:STDOUT: %Cpp.ref: <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
19191919// CHECK:STDOUT: <elided>
19201920// CHECK:STDOUT: %M_CONSTEXPR_INT.ref: %const = name_ref M_CONSTEXPR_INT, imports.%int_1 [concrete = constants.%int_1.22e]
1921- // CHECK:STDOUT: %.loc11_10 : type = splice_block %i32.loc11 [concrete = constants.%i32] {
1921+ // CHECK:STDOUT: %.loc11_17 : type = splice_block %i32.loc11 [concrete = constants.%i32] {
19221922// CHECK:STDOUT: %int_32.loc11: Core.IntLiteral = int_value 32 [concrete = constants.%int_32]
19231923// CHECK:STDOUT: %i32.loc11: type = class_type @Int, @Int(constants.%int_32) [concrete = constants.%i32]
19241924// CHECK:STDOUT: }
1925- // CHECK:STDOUT: %.loc11_19 .1: %i32 = as_compatible %M_CONSTEXPR_INT.ref [concrete = constants.%int_1.5d2]
1926- // CHECK:STDOUT: %.loc11_19 .2: %i32 = converted %M_CONSTEXPR_INT.ref, %.loc11_19 .1 [concrete = constants.%int_1.5d2]
1927- // CHECK:STDOUT: %a: %i32 = value_binding a, %.loc11_19 .2
1925+ // CHECK:STDOUT: %.loc11_26 .1: %i32 = as_compatible %M_CONSTEXPR_INT.ref [concrete = constants.%int_1.5d2]
1926+ // CHECK:STDOUT: %.loc11_26 .2: %i32 = converted %M_CONSTEXPR_INT.ref, %.loc11_26 .1 [concrete = constants.%int_1.5d2]
1927+ // CHECK:STDOUT: %a: %i32 = value_binding a, %.loc11_26 .2
19281928// CHECK:STDOUT: <elided>
19291929// CHECK:STDOUT: }
19301930// CHECK:STDOUT:
0 commit comments