mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Model patterns as constant values (#5385)
This will enable us to simplify support for parameter and return patterns in import, which operates primarily on constants.
This commit is contained in:
@@ -259,8 +259,8 @@ fn F() {
|
||||
// CHECK:STDOUT: import Cpp "int_return_function_decl.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Carbon_foo.decl: %Carbon_foo.type = fn_decl @Carbon_foo [concrete = constants.%Carbon_foo] {
|
||||
// CHECK:STDOUT: %val.patt: %pattern_type.7ce = binding_pattern val
|
||||
// CHECK:STDOUT: %val.param_patt: %pattern_type.7ce = value_param_pattern %val.patt, call_param0
|
||||
// CHECK:STDOUT: %val.patt: %pattern_type.7ce = binding_pattern val [concrete]
|
||||
// CHECK:STDOUT: %val.param_patt: %pattern_type.7ce = value_param_pattern %val.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %val.param: %i32 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %i32 [concrete = constants.%i32] {
|
||||
@@ -854,8 +854,8 @@ fn F() {
|
||||
// CHECK:STDOUT: fn @F() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a
|
||||
// CHECK:STDOUT: %.loc7_3.1: %pattern_type.7ce = var_pattern %a.patt
|
||||
// CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete]
|
||||
// CHECK:STDOUT: %.loc7_3.1: %pattern_type.7ce = var_pattern %a.patt [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %a.var: ref %i32 = var a
|
||||
// CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
||||
@@ -930,8 +930,8 @@ fn F() {
|
||||
// CHECK:STDOUT: fn @F() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a
|
||||
// CHECK:STDOUT: %.loc7_3.1: %pattern_type.7ce = var_pattern %a.patt
|
||||
// CHECK:STDOUT: %a.patt: %pattern_type.7ce = binding_pattern a [concrete]
|
||||
// CHECK:STDOUT: %.loc7_3.1: %pattern_type.7ce = var_pattern %a.patt [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %a.var: ref %i32 = var a
|
||||
// CHECK:STDOUT: %int_1: Core.IntLiteral = int_value 1 [concrete = constants.%int_1.5b8]
|
||||
|
||||
+20
-20
@@ -323,8 +323,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "class_declaration.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: <error> = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc13: type = splice_block %ptr [concrete = <error>] {
|
||||
@@ -366,8 +366,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "class_definition.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr] {
|
||||
@@ -420,8 +420,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "class_declaration_and_definition.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr] {
|
||||
@@ -584,8 +584,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "class_public_member_function.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr.f68 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr.f68] {
|
||||
@@ -659,7 +659,7 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: fn @MyF() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Cpp.ref.loc18_23: <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
|
||||
// CHECK:STDOUT: %Bar.ref.loc18_26: type = name_ref Bar, %Bar.decl [concrete = constants.%Bar]
|
||||
@@ -704,8 +704,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "class_public_static_data_member.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr.f68 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr.loc6 [concrete = constants.%ptr.f68] {
|
||||
@@ -732,7 +732,7 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: fn @MyF(%bar.param: %ptr.f68) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %foo_bar.patt: %pattern_type = binding_pattern foo_bar
|
||||
// CHECK:STDOUT: %foo_bar.patt: %pattern_type = binding_pattern foo_bar [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %bar.ref: %ptr.f68 = name_ref bar, %bar
|
||||
// CHECK:STDOUT: %.loc18_30: ref %Bar = deref %bar.ref
|
||||
@@ -870,8 +870,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "class_inheritance_pointers.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF1.decl: %MyF1.type = fn_decl @MyF1 [concrete = constants.%MyF1] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type.3cc = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type.3cc = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type.3cc = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type.3cc = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr.f68 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr.f68] {
|
||||
@@ -885,8 +885,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: %bar: %ptr.f68 = bind_name bar, %bar.param
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF2.decl: %MyF2.type = fn_decl @MyF2 [concrete = constants.%MyF2] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type.92a = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type.92a = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type.92a = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type.92a = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr.eca = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc15_23: type = splice_block %ptr [concrete = constants.%ptr.eca] {
|
||||
@@ -951,8 +951,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "class_dynamic.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: <error> = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc13: type = splice_block %ptr [concrete = <error>] {
|
||||
@@ -1141,8 +1141,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "class_template.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: <error> = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc17: type = splice_block %ptr [concrete = <error>] {
|
||||
|
||||
+20
-20
@@ -313,8 +313,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "struct_declaration.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: <error> = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc13: type = splice_block %ptr [concrete = <error>] {
|
||||
@@ -356,8 +356,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "struct_definition.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr] {
|
||||
@@ -410,8 +410,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "struct_declaration_and_definition.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr] {
|
||||
@@ -574,8 +574,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "struct_public_member_function.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr.f68 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr.f68] {
|
||||
@@ -649,7 +649,7 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: fn @MyF() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Cpp.ref.loc18_23: <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
|
||||
// CHECK:STDOUT: %Bar.ref.loc18_26: type = name_ref Bar, %Bar.decl [concrete = constants.%Bar]
|
||||
@@ -694,8 +694,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "struct_public_static_data_member.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr.f68 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr.loc6 [concrete = constants.%ptr.f68] {
|
||||
@@ -722,7 +722,7 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: fn @MyF(%bar.param: %ptr.f68) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %foo_bar.patt: %pattern_type = binding_pattern foo_bar
|
||||
// CHECK:STDOUT: %foo_bar.patt: %pattern_type = binding_pattern foo_bar [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %bar.ref: %ptr.f68 = name_ref bar, %bar
|
||||
// CHECK:STDOUT: %.loc18_30: ref %Bar = deref %bar.ref
|
||||
@@ -860,8 +860,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "struct_inheritance_pointers.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF1.decl: %MyF1.type = fn_decl @MyF1 [concrete = constants.%MyF1] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type.3cc = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type.3cc = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type.3cc = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type.3cc = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr.f68 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr.f68] {
|
||||
@@ -875,8 +875,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: %bar: %ptr.f68 = bind_name bar, %bar.param
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF2.decl: %MyF2.type = fn_decl @MyF2 [concrete = constants.%MyF2] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type.92a = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type.92a = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type.92a = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type.92a = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr.eca = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc15_23: type = splice_block %ptr [concrete = constants.%ptr.eca] {
|
||||
@@ -941,8 +941,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "struct_dynamic.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: <error> = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc13: type = splice_block %ptr [concrete = <error>] {
|
||||
@@ -1131,8 +1131,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "struct_template.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: <error> = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc17: type = splice_block %ptr [concrete = <error>] {
|
||||
|
||||
+14
-14
@@ -234,8 +234,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "union_declaration.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: <error> = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc13: type = splice_block %ptr [concrete = <error>] {
|
||||
@@ -277,8 +277,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "union_definition.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr] {
|
||||
@@ -331,8 +331,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "union_declaration_and_definition.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr] {
|
||||
@@ -495,8 +495,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "union_public_member_function.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr.f68 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr [concrete = constants.%ptr.f68] {
|
||||
@@ -570,7 +570,7 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: fn @MyF() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Cpp.ref.loc18_23: <namespace> = name_ref Cpp, imports.%Cpp [concrete = imports.%Cpp]
|
||||
// CHECK:STDOUT: %Bar.ref.loc18_26: type = name_ref Bar, %Bar.decl [concrete = constants.%Bar]
|
||||
@@ -615,8 +615,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "union_public_static_data_member.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: %pattern_type = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: %pattern_type = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: %ptr.f68 = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc6: type = splice_block %ptr.loc6 [concrete = constants.%ptr.f68] {
|
||||
@@ -643,7 +643,7 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: fn @MyF(%bar.param: %ptr.f68) {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: name_binding_decl {
|
||||
// CHECK:STDOUT: %foo_bar.patt: %pattern_type = binding_pattern foo_bar
|
||||
// CHECK:STDOUT: %foo_bar.patt: %pattern_type = binding_pattern foo_bar [concrete]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %bar.ref: %ptr.f68 = name_ref bar, %bar
|
||||
// CHECK:STDOUT: %.loc18_30: ref %Bar = deref %bar.ref
|
||||
@@ -756,8 +756,8 @@ fn MyF(bar: Cpp.Bar*);
|
||||
// CHECK:STDOUT: import Cpp "union_template.h"
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %MyF.decl: %MyF.type = fn_decl @MyF [concrete = constants.%MyF] {
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0
|
||||
// CHECK:STDOUT: %bar.patt: <error> = binding_pattern bar [concrete]
|
||||
// CHECK:STDOUT: %bar.param_patt: <error> = value_param_pattern %bar.patt, call_param0 [concrete]
|
||||
// CHECK:STDOUT: } {
|
||||
// CHECK:STDOUT: %bar.param: <error> = value_param call_param0
|
||||
// CHECK:STDOUT: %.loc17: type = splice_block %ptr [concrete = <error>] {
|
||||
|
||||
Reference in New Issue
Block a user