Make namespace formatting more consistent with other declaration block instructions. (#3732)

List names vertically rather than horizontally.
This commit is contained in:
Richard Smith
2024-02-28 22:20:37 +00:00
committed by GitHub
parent 5f4e6c768a
commit 5543602a50
379 changed files with 2051 additions and 622 deletions
+5 -1
View File
@@ -16,7 +16,11 @@ let d: c = false;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .b = %b, .c = %c} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: .c = %c
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %a: type = bind_alias a, bool [template = bool]
// CHECK:STDOUT: %a.ref: type = name_ref a, %a [template = bool]
// CHECK:STDOUT: %b: type = bind_alias b, %a [template = bool]
+4 -1
View File
@@ -18,7 +18,10 @@ let b_test: b = false;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .b = %b} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %a: type = bind_alias a, i32 [template = i32]
// CHECK:STDOUT: %a.ref: type = name_ref a, %a [template = i32]
// CHECK:STDOUT: %.loc8: i32 = int_literal 0 [template = constants.%.1]
@@ -17,7 +17,9 @@ let c: b = 2;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.b = %b} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %b: type = bind_alias b, bool [template = bool]
// CHECK:STDOUT: %b.ref: type = name_ref b, %b [template = bool]
// CHECK:STDOUT: %.loc11: i32 = int_literal 2 [template = constants.%.1]
+3 -1
View File
@@ -17,7 +17,9 @@ let a_test: bool = a;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc10: bool = bool_literal false [template = constants.%.1]
// CHECK:STDOUT: %a: <error> = bind_alias a, <error> [template = <error>]
// CHECK:STDOUT: %a.ref: <error> = name_ref a, %a [template = <error>]
@@ -27,8 +27,12 @@ fn F() -> bool {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.NS = %.loc7, .F = %F} [template]
// CHECK:STDOUT: %.loc7: <namespace> = namespace {} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .NS = %.loc7
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc7: <namespace> = namespace {
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %F: <function> = fn_decl @F {
// CHECK:STDOUT: %return.var: ref bool = var <return slot>
// CHECK:STDOUT: } [template]
+4 -1
View File
@@ -35,7 +35,10 @@ impl alias B = i32;
// CHECK:STDOUT: --- fail_modifiers.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A, .B = %B} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A = %A
// CHECK:STDOUT: .B = %B
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A: type = bind_alias A, i32 [template = i32]
// CHECK:STDOUT: %B: type = bind_alias B, i32 [template = i32]
// CHECK:STDOUT: }
+4 -1
View File
@@ -30,7 +30,10 @@ alias b = i32;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a.loc7, .b = %b} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a.loc7
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %a.loc7: type = bind_alias a, i32 [template = i32]
// CHECK:STDOUT: %a.var: ref i32 = var a
// CHECK:STDOUT: %a.loc14: ref i32 = bind_name a, %a.var
+3 -1
View File
@@ -21,7 +21,9 @@ fn F() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.F = %F} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %F: <function> = fn_decl @F {} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+3 -1
View File
@@ -12,7 +12,9 @@ private alias A = i32;
// CHECK:STDOUT: --- fail_todo_private.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A = %A
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A: type = bind_alias A, i32 [template = i32]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+9 -2
View File
@@ -27,7 +27,10 @@ var c: i32 = b;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .b = %b} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %a.var: ref i32 = var a
// CHECK:STDOUT: %a: ref i32 = bind_name a, %a.var
// CHECK:STDOUT: %a.ref: ref i32 = name_ref a, %a
@@ -44,7 +47,11 @@ var c: i32 = b;
// CHECK:STDOUT: --- b.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %import_ref.1, .b = %import_ref.2, .c = %c} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %import_ref.1
// CHECK:STDOUT: .b = %import_ref.2
// CHECK:STDOUT: .c = %c
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %import_ref.1 = import_ref ir1, inst+2, unused
// CHECK:STDOUT: %import_ref.2: ref i32 = import_ref ir1, inst+7, used
// CHECK:STDOUT: %c.var: ref i32 = var c
+17 -2
View File
@@ -29,7 +29,12 @@ var i32_val: i32 = a_val;
// CHECK:STDOUT: --- a.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .b = %b, .c = %c, .d = %d} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: .c = %c
// CHECK:STDOUT: .d = %d
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %a: type = bind_alias a, i32 [template = i32]
// CHECK:STDOUT: %a.ref: type = name_ref a, %a [template = i32]
// CHECK:STDOUT: %b: type = bind_alias b, %a [template = i32]
@@ -46,7 +51,17 @@ var i32_val: i32 = a_val;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %import_ref.1, .b = %import_ref.2, .c = %import_ref.3, .d = %import_ref.4, .d_val = %d_val, .c_val = %c_val, .b_val = %b_val, .a_val = %a_val, .i32_val = %i32_val} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %import_ref.1
// CHECK:STDOUT: .b = %import_ref.2
// CHECK:STDOUT: .c = %import_ref.3
// CHECK:STDOUT: .d = %import_ref.4
// CHECK:STDOUT: .d_val = %d_val
// CHECK:STDOUT: .c_val = %c_val
// CHECK:STDOUT: .b_val = %b_val
// CHECK:STDOUT: .a_val = %a_val
// CHECK:STDOUT: .i32_val = %i32_val
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %import_ref.1: type = import_ref ir1, inst+1, used [template = i32]
// CHECK:STDOUT: %import_ref.2: type = import_ref ir1, inst+3, used [template = i32]
// CHECK:STDOUT: %import_ref.3: type = import_ref ir1, inst+5, used [template = i32]
+7 -2
View File
@@ -20,8 +20,13 @@ fn F() -> NS.a {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.NS = %.loc7, .F = %F} [template]
// CHECK:STDOUT: %.loc7: <namespace> = namespace {.a = %a} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .NS = %.loc7
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc7: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %a: type = bind_alias a, bool [template = bool]
// CHECK:STDOUT: %NS.ref.loc10: <namespace> = name_ref NS, %.loc7 [template = %.loc7]
// CHECK:STDOUT: %a.ref.loc10: type = name_ref a, %a [template = bool]
+3 -1
View File
@@ -17,7 +17,9 @@ fn F() -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.F = %F} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %F: <function> = fn_decl @F {
// CHECK:STDOUT: %return.var: ref i32 = var <return slot>
// CHECK:STDOUT: } [template]
+4 -1
View File
@@ -25,7 +25,10 @@ fn G() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.F = %F, .G = %G} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: .G = %G
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %F: <function> = fn_decl @F {
// CHECK:STDOUT: %.loc7_25.1: (type, type, type) = tuple_literal (i32, i32, i32)
// CHECK:STDOUT: %.loc7_25.2: type = converted %.loc7_25.1, constants.%.2 [template = constants.%.2]
+3 -1
View File
@@ -29,7 +29,9 @@ fn G() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.G = %G} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .G = %G
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %G: <function> = fn_decl @G {} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+4 -1
View File
@@ -24,7 +24,10 @@ fn Run() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.F = %F, .Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %F: <function> = fn_decl @F {
// CHECK:STDOUT: %.loc7_16.1: (type,) = tuple_literal (i32)
// CHECK:STDOUT: %.loc7_16.2: type = converted %.loc7_16.1, constants.%.2 [template = constants.%.2]
+4 -1
View File
@@ -25,7 +25,10 @@ var b: [i32; 3] = a;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .b = %b} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc7_22.1: (type, type, type) = tuple_literal (i32, i32, i32)
// CHECK:STDOUT: %.loc7_22.2: type = converted %.loc7_22.1, constants.%.2 [template = constants.%.2]
// CHECK:STDOUT: %a.var: ref (i32, i32, i32) = var a
+5 -1
View File
@@ -38,7 +38,11 @@ var c: [(); 5] = ((), (), (), (), (),);
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .b = %b, .c = %c} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: .c = %c
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc7_14: i32 = int_literal 1 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_15: type = array_type %.loc7_14, i32 [template = constants.%.2]
// CHECK:STDOUT: %a.var: ref [i32; 1] = var a
+4 -1
View File
@@ -25,7 +25,10 @@ var b: [1; 39999999999999999993];
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .b = %b} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc10_14: i32 = int_literal 39999999999999999993 [template = constants.%.1]
// CHECK:STDOUT: %.loc10_34: type = array_type %.loc10_14, i32 [template = <error>]
// CHECK:STDOUT: %a.var: ref <error> = var a
@@ -27,7 +27,11 @@ var p: Incomplete* = &a[0];
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Incomplete = %Incomplete.decl, .a = %a, .p = %p} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Incomplete = %Incomplete.decl
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .p = %p
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Incomplete.decl = class_decl @Incomplete {} [template = constants.%Incomplete]
// CHECK:STDOUT: %Incomplete.ref.loc15: type = name_ref Incomplete, %Incomplete.decl [template = constants.%Incomplete]
// CHECK:STDOUT: %.loc15_21: i32 = int_literal 1 [template = constants.%.1]
+3 -1
View File
@@ -16,7 +16,9 @@ var a: [1; 1];
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc10_9: i32 = int_literal 1 [template = constants.%.1]
// CHECK:STDOUT: %.loc10_12: i32 = int_literal 1 [template = constants.%.1]
// CHECK:STDOUT: %.loc10_13: type = array_type %.loc10_12, <error> [template = <error>]
+3 -1
View File
@@ -21,7 +21,9 @@ var a: [i32; 1] = (1, 2, 3);
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc10_14: i32 = int_literal 1 [template = constants.%.1]
// CHECK:STDOUT: %.loc10_15: type = array_type %.loc10_14, i32 [template = constants.%.2]
// CHECK:STDOUT: %a.var: ref [i32; 1] = var a
@@ -28,7 +28,10 @@ var b: i32 = a[{.index = 3}.index];
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .b = %b} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc7_14: i32 = int_literal 3 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_15: type = array_type %.loc7_14, i32 [template = constants.%.2]
// CHECK:STDOUT: %a.var: ref [i32; 3] = var a
+8 -1
View File
@@ -49,7 +49,14 @@ var d: [i32; 3] = t2;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .t1 = %t1, .b = %b, .c = %c, .t2 = %t2, .d = %d} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .t1 = %t1
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: .c = %c
// CHECK:STDOUT: .t2 = %t2
// CHECK:STDOUT: .d = %d
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc10_14: i32 = int_literal 3 [template = constants.%.1]
// CHECK:STDOUT: %.loc10_15: type = array_type %.loc10_14, i32 [template = constants.%.2]
// CHECK:STDOUT: %a.var: ref [i32; 3] = var a
+4 -1
View File
@@ -28,7 +28,10 @@ fn G() -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.F = %F, .G = %G} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: .G = %G
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %F: <function> = fn_decl @F {
// CHECK:STDOUT: %.loc7_17: i32 = int_literal 3 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_18: type = array_type %.loc7_17, i32 [template = constants.%.2]
+4 -1
View File
@@ -25,7 +25,10 @@ var b: i32 = a[{.index = 2}.index];
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .b = %b} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc7_14: i32 = int_literal 3 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_15: type = array_type %.loc7_14, i32 [template = constants.%.2]
// CHECK:STDOUT: %a.var: ref [i32; 3] = var a
+3 -1
View File
@@ -34,7 +34,9 @@ var a: [i32; 9] = (1, 2, 3, 4, 5, 6, 7, 8, 9);
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc7_14: i32 = int_literal 9 [template = constants.%.1]
// CHECK:STDOUT: %.loc7_15: type = array_type %.loc7_14, i32 [template = constants.%.2]
// CHECK:STDOUT: %a.var: ref [i32; 9] = var a
+2 -1
View File
@@ -14,7 +14,8 @@ let t: type = (i32, i32) as type;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc7_24.1: (type, type) = tuple_literal (i32, i32)
// CHECK:STDOUT: %.loc7_24.2: type = converted %.loc7_24.1, constants.%.2 [template = constants.%.2]
// CHECK:STDOUT: %t: type = bind_name t, %.loc7_24.2
+3 -1
View File
@@ -15,7 +15,9 @@ fn Main() -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Main = %Main} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Main = %Main
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Main: <function> = fn_decl @Main {
// CHECK:STDOUT: %return.var: ref i32 = var <return slot>
// CHECK:STDOUT: } [template]
+2 -1
View File
@@ -19,7 +19,8 @@ let n: (i32, i32) = 1 as (i32, i32);
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc10_17.1: (type, type) = tuple_literal (i32, i32)
// CHECK:STDOUT: %.loc10_17.2: type = converted %.loc10_17.1, constants.%.2 [template = constants.%.2]
// CHECK:STDOUT: %.loc10_21: i32 = int_literal 1 [template = constants.%.4]
+2 -1
View File
@@ -17,7 +17,8 @@ let n: i32 = 1 as 2;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %.loc10_14: i32 = int_literal 1 [template = constants.%.1]
// CHECK:STDOUT: %.loc10_19: i32 = int_literal 2 [template = constants.%.2]
// CHECK:STDOUT: %n: i32 = bind_name n, <error>
+7 -1
View File
@@ -35,7 +35,13 @@ fn Initializing() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.X = %X.decl, .Value = %Value, .Reference = %Reference, .Make = %Make, .Initializing = %Initializing} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .X = %X.decl
// CHECK:STDOUT: .Value = %Value
// CHECK:STDOUT: .Reference = %Reference
// CHECK:STDOUT: .Make = %Make
// CHECK:STDOUT: .Initializing = %Initializing
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %X.decl = class_decl @X {} [template = constants.%X]
// CHECK:STDOUT: %Value: <function> = fn_decl @Value {
// CHECK:STDOUT: %X.ref.loc13: type = name_ref X, %X.decl [template = constants.%X]
+6 -1
View File
@@ -34,7 +34,12 @@ fn Var() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.X = %X.decl, .Make = %Make, .Let = %Let, .Var = %Var} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .X = %X.decl
// CHECK:STDOUT: .Make = %Make
// CHECK:STDOUT: .Let = %Let
// CHECK:STDOUT: .Var = %Var
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %X.decl = class_decl @X {} [template = constants.%X]
// CHECK:STDOUT: %Make: <function> = fn_decl @Make {
// CHECK:STDOUT: %X.ref: type = name_ref X, %X.decl [template = constants.%X]
+5 -1
View File
@@ -19,7 +19,11 @@ var test_type: type = i32;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.test_i32 = %test_i32, .test_f64 = %test_f64, .test_type = %test_type} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .test_i32 = %test_i32
// CHECK:STDOUT: .test_f64 = %test_f64
// CHECK:STDOUT: .test_type = %test_type
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %test_i32.var: ref i32 = var test_i32
// CHECK:STDOUT: %test_i32: ref i32 = bind_name test_i32, %test_i32.var
// CHECK:STDOUT: %test_f64.var: ref f64 = var test_f64
+2 -1
View File
@@ -7,6 +7,7 @@
// CHECK:STDOUT: --- empty.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+2 -1
View File
@@ -9,6 +9,7 @@
// CHECK:STDOUT: --- empty_decl.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+3 -1
View File
@@ -20,7 +20,9 @@ fn Run() -> String {}
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Run: <function> = fn_decl @Run {
// CHECK:STDOUT: @Run.%return: ref String = var <return slot>
// CHECK:STDOUT: } [template]
+3 -1
View File
@@ -12,7 +12,9 @@ fn Run(n: i32) {}
// CHECK:STDOUT: --- fail_bad_run_2.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Run: <function> = fn_decl @Run {
// CHECK:STDOUT: %n.loc10_8.1: i32 = param n
// CHECK:STDOUT: @Run.%n: i32 = bind_name n, %n.loc10_8.1
+3 -1
View File
@@ -14,7 +14,9 @@ fn Main() {
// CHECK:STDOUT: --- fail_name_lookup.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Main = %Main} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Main = %Main
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Main: <function> = fn_decl @Main {} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -16,7 +16,9 @@ var x: type = 42;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.x = %x} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .x = %x
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %x.var: ref type = var x
// CHECK:STDOUT: %x: ref type = bind_name x, %x.var
// CHECK:STDOUT: }
@@ -13,7 +13,10 @@ var y: i32 = x.b;
// CHECK:STDOUT: --- fail_qualifier_unsupported.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.x = %x, .y = %y} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .x = %x
// CHECK:STDOUT: .y = %y
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %x.var: ref i32 = var x
// CHECK:STDOUT: %x: ref i32 = bind_name x, %x.var
// CHECK:STDOUT: %y.var: ref i32 = var y
+6 -2
View File
@@ -17,7 +17,9 @@ fn B() {}
// CHECK:STDOUT: --- a.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A = %A
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A: <function> = fn_decl @A {} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -29,7 +31,9 @@ fn B() {}
// CHECK:STDOUT: --- b.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.B = %B} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .B = %B
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %B: <function> = fn_decl @B {} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -54,7 +54,9 @@ fn B() {}
// CHECK:STDOUT: --- a.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A = %A
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A: <function> = fn_decl @A {} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -99,7 +101,9 @@ fn B() {}
// CHECK:STDOUT: --- b.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.B = %B} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .B = %B
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %B: <function> = fn_decl @B {} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+3 -1
View File
@@ -58,7 +58,9 @@ fn F() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.F = %F} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %F: <function> = fn_decl @F {} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+4 -1
View File
@@ -15,7 +15,10 @@ var b: i32 = ((2));
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.a = %a, .b = %b} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: .b = %b
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %a.var: ref i32 = var a
// CHECK:STDOUT: %a: ref i32 = bind_name a, %a.var
// CHECK:STDOUT: %b.var: ref i32 = var b
+3 -1
View File
@@ -138,7 +138,9 @@ fn Foo(n: i32) -> (i32, i32, f64) {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Foo = %Foo} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Foo = %Foo
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Foo: <function> = fn_decl @Foo {
// CHECK:STDOUT: %n.loc11_8.1: i32 = param n
// CHECK:STDOUT: @Foo.%n: i32 = bind_name n, %n.loc11_8.1
+5 -1
View File
@@ -23,7 +23,11 @@ fn C(r#if: i32) -> i32 {
// CHECK:STDOUT: --- raw_identifier.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A, .B = %B, .C = %C} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A = %A
// CHECK:STDOUT: .B = %B
// CHECK:STDOUT: .C = %C
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A: <function> = fn_decl @A {
// CHECK:STDOUT: %n.loc11_6.1: i32 = param n
// CHECK:STDOUT: @A.%n: i32 = bind_name n, %n.loc11_6.1
+3 -1
View File
@@ -9,7 +9,9 @@ fn Run() {}
// CHECK:STDOUT: --- run.carbon
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Run: <function> = fn_decl @Run {} [template]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+3 -1
View File
@@ -13,7 +13,9 @@ fn Run() -> i32 { return 0; }
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Run: <function> = fn_decl @Run {
// CHECK:STDOUT: %return.var: ref i32 = var <return slot>
// CHECK:STDOUT: } [template]
+3 -1
View File
@@ -23,7 +23,9 @@ fn Foo(n: i32) -> (i32, i32, f64) {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Foo = %Foo} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Foo = %Foo
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Foo: <function> = fn_decl @Foo {
// CHECK:STDOUT: %n.loc11_8.1: i32 = param n
// CHECK:STDOUT: @Foo.%n: i32 = bind_name n, %n.loc11_8.1
+6 -1
View File
@@ -47,7 +47,12 @@ fn Access(d: Derived) -> (i32, i32) {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Base = %Base.decl, .Derived = %Derived.decl, .Make = %Make, .Access = %Access} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Base = %Base.decl
// CHECK:STDOUT: .Derived = %Derived.decl
// CHECK:STDOUT: .Make = %Make
// CHECK:STDOUT: .Access = %Access
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Base.decl = class_decl @Base {} [template = constants.%Base]
// CHECK:STDOUT: %Derived.decl = class_decl @Derived {} [template = constants.%Derived]
// CHECK:STDOUT: %Make: <function> = fn_decl @Make {
+5 -1
View File
@@ -40,7 +40,11 @@ fn Access(p: Derived*) -> i32* {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Base = %Base.decl, .Derived = %Derived.decl, .Access = %Access} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Base = %Base.decl
// CHECK:STDOUT: .Derived = %Derived.decl
// CHECK:STDOUT: .Access = %Access
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Base.decl = class_decl @Base {} [template = constants.%Base]
// CHECK:STDOUT: %Derived.decl = class_decl @Derived {} [template = constants.%Derived]
// CHECK:STDOUT: %Access: <function> = fn_decl @Access {
@@ -32,7 +32,10 @@ fn Derived.H() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Base = %Base.decl, .Derived = %Derived.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Base = %Base.decl
// CHECK:STDOUT: .Derived = %Derived.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Base.decl = class_decl @Base {} [template = constants.%Base]
// CHECK:STDOUT: %Derived.decl = class_decl @Derived {} [template = constants.%Derived]
// CHECK:STDOUT: %H: <function> = fn_decl @H {} [template]
+5 -1
View File
@@ -41,7 +41,11 @@ fn Call(p: Derived*) {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Base = %Base.decl, .Derived = %Derived.decl, .Call = %Call} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Base = %Base.decl
// CHECK:STDOUT: .Derived = %Derived.decl
// CHECK:STDOUT: .Call = %Call
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Base.decl = class_decl @Base {} [template = constants.%Base]
// CHECK:STDOUT: %F: <function> = fn_decl @F {
// CHECK:STDOUT: %Base.ref: type = name_ref Base, %Base.decl [template = constants.%Base]
+7 -1
View File
@@ -55,7 +55,13 @@ fn Call(a: A*, b: B*, c: C*, d: D*) {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A.decl, .B = %B.decl, .C = %C.decl, .D = %D.decl, .Call = %Call} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A = %A.decl
// CHECK:STDOUT: .B = %B.decl
// CHECK:STDOUT: .C = %C.decl
// CHECK:STDOUT: .D = %D.decl
// CHECK:STDOUT: .Call = %Call
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A.decl = class_decl @A {} [template = constants.%A]
// CHECK:STDOUT: %B.decl = class_decl @B {} [template = constants.%B]
// CHECK:STDOUT: %C.decl = class_decl @C {} [template = constants.%C]
+4 -1
View File
@@ -32,7 +32,10 @@ fn Run() -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %G: <function> = fn_decl @G {
// CHECK:STDOUT: %n.loc17_12.1: i32 = param n
+11 -1
View File
@@ -69,7 +69,17 @@ fn ConvertInit() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A.decl, .B = %B.decl, .C = %C.decl, .ConvertCToB = %ConvertCToB, .ConvertBToA = %ConvertBToA, .ConvertCToA = %ConvertCToA, .ConvertValue = %ConvertValue, .ConvertRef = %ConvertRef, .ConvertInit = %ConvertInit} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A = %A.decl
// CHECK:STDOUT: .B = %B.decl
// CHECK:STDOUT: .C = %C.decl
// CHECK:STDOUT: .ConvertCToB = %ConvertCToB
// CHECK:STDOUT: .ConvertBToA = %ConvertBToA
// CHECK:STDOUT: .ConvertCToA = %ConvertCToA
// CHECK:STDOUT: .ConvertValue = %ConvertValue
// CHECK:STDOUT: .ConvertRef = %ConvertRef
// CHECK:STDOUT: .ConvertInit = %ConvertInit
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A.decl = class_decl @A {} [template = constants.%A]
// CHECK:STDOUT: %B.decl = class_decl @B {} [template = constants.%B]
// CHECK:STDOUT: %C.decl = class_decl @C {} [template = constants.%C]
+6 -1
View File
@@ -49,7 +49,12 @@ fn Access(d: Derived) -> (i32, i32) {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Abstract = %Abstract.decl, .Derived = %Derived.decl, .Make = %Make, .Access = %Access} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Abstract = %Abstract.decl
// CHECK:STDOUT: .Derived = %Derived.decl
// CHECK:STDOUT: .Make = %Make
// CHECK:STDOUT: .Access = %Access
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Abstract.decl = class_decl @Abstract {} [template = constants.%Abstract]
// CHECK:STDOUT: %Derived.decl = class_decl @Derived {} [template = constants.%Derived]
// CHECK:STDOUT: %Make: <function> = fn_decl @Make {
+3 -1
View File
@@ -25,7 +25,9 @@ class Class {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+4 -1
View File
@@ -49,7 +49,10 @@ fn F(c: Class, p: Class*) {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .F = %F} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %F: <function> = fn_decl @F.2 {
// CHECK:STDOUT: %Class.ref.loc12_9: type = name_ref Class, %Class.decl [template = constants.%Class]
+25 -1
View File
@@ -160,7 +160,31 @@ fn AccessMemberWithInvalidBaseFinal_NoMember(p: DeriveFromFinal*) -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Base = %Base.decl, .Final = %Final.decl, .DeriveFromError = %DeriveFromError.decl, .AccessMemberWithInvalidBaseError = %AccessMemberWithInvalidBaseError, .DeriveFromNonType = %DeriveFromNonType.decl, .AccessMemberWithInvalidBasNonType = %AccessMemberWithInvalidBasNonType, .DeriveFromi32 = %DeriveFromi32.decl, .ConvertToBadBasei32 = %ConvertToBadBasei32, .AccessMemberWithInvalidBasei32 = %AccessMemberWithInvalidBasei32, .DeriveFromTuple = %DeriveFromTuple.decl, .ConvertToBadBaseTuple = %ConvertToBadBaseTuple, .AccessMemberWithInvalidBaseTuple = %AccessMemberWithInvalidBaseTuple, .DeriveFromStruct = %DeriveFromStruct.decl, .ConvertToBadBaseStruct = %ConvertToBadBaseStruct, .AccessMemberWithInvalidBaseStruct = %AccessMemberWithInvalidBaseStruct, .Incomplete = %Incomplete.decl, .DeriveFromIncomplete = %DeriveFromIncomplete.decl, .ConvertToBadBaseIncomplete = %ConvertToBadBaseIncomplete, .AccessMemberWithInvalidBaseIncomplete = %AccessMemberWithInvalidBaseIncomplete, .DeriveFromFinal = %DeriveFromFinal.decl, .ConvertToBadBaseFinal = %ConvertToBadBaseFinal, .AccessMemberWithInvalidBaseFinal_WithMember = %AccessMemberWithInvalidBaseFinal_WithMember, .AccessMemberWithInvalidBaseFinal_NoMember = %AccessMemberWithInvalidBaseFinal_NoMember} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Base = %Base.decl
// CHECK:STDOUT: .Final = %Final.decl
// CHECK:STDOUT: .DeriveFromError = %DeriveFromError.decl
// CHECK:STDOUT: .AccessMemberWithInvalidBaseError = %AccessMemberWithInvalidBaseError
// CHECK:STDOUT: .DeriveFromNonType = %DeriveFromNonType.decl
// CHECK:STDOUT: .AccessMemberWithInvalidBasNonType = %AccessMemberWithInvalidBasNonType
// CHECK:STDOUT: .DeriveFromi32 = %DeriveFromi32.decl
// CHECK:STDOUT: .ConvertToBadBasei32 = %ConvertToBadBasei32
// CHECK:STDOUT: .AccessMemberWithInvalidBasei32 = %AccessMemberWithInvalidBasei32
// CHECK:STDOUT: .DeriveFromTuple = %DeriveFromTuple.decl
// CHECK:STDOUT: .ConvertToBadBaseTuple = %ConvertToBadBaseTuple
// CHECK:STDOUT: .AccessMemberWithInvalidBaseTuple = %AccessMemberWithInvalidBaseTuple
// CHECK:STDOUT: .DeriveFromStruct = %DeriveFromStruct.decl
// CHECK:STDOUT: .ConvertToBadBaseStruct = %ConvertToBadBaseStruct
// CHECK:STDOUT: .AccessMemberWithInvalidBaseStruct = %AccessMemberWithInvalidBaseStruct
// CHECK:STDOUT: .Incomplete = %Incomplete.decl
// CHECK:STDOUT: .DeriveFromIncomplete = %DeriveFromIncomplete.decl
// CHECK:STDOUT: .ConvertToBadBaseIncomplete = %ConvertToBadBaseIncomplete
// CHECK:STDOUT: .AccessMemberWithInvalidBaseIncomplete = %AccessMemberWithInvalidBaseIncomplete
// CHECK:STDOUT: .DeriveFromFinal = %DeriveFromFinal.decl
// CHECK:STDOUT: .ConvertToBadBaseFinal = %ConvertToBadBaseFinal
// CHECK:STDOUT: .AccessMemberWithInvalidBaseFinal_WithMember = %AccessMemberWithInvalidBaseFinal_WithMember
// CHECK:STDOUT: .AccessMemberWithInvalidBaseFinal_NoMember = %AccessMemberWithInvalidBaseFinal_NoMember
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Base.decl = class_decl @Base {} [template = constants.%Base]
// CHECK:STDOUT: %Final.decl = class_decl @Final {} [template = constants.%Final]
// CHECK:STDOUT: %DeriveFromError.decl = class_decl @DeriveFromError {} [template = constants.%DeriveFromError]
@@ -40,7 +40,10 @@ fn D.C.F() {}
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.B = %B.decl, .D = %D.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .B = %B.decl
// CHECK:STDOUT: .D = %D.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %B.decl = class_decl @B {} [template = constants.%B]
// CHECK:STDOUT: %D.decl = class_decl @D {} [template = constants.%D]
// CHECK:STDOUT: %F: <function> = fn_decl @F.3 {} [template]
+7 -1
View File
@@ -62,7 +62,13 @@ class C4 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.B = %B.decl, .C1 = %C1.decl, .C2 = %C2.decl, .C3 = %C3.decl, .C4 = %C4.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .B = %B.decl
// CHECK:STDOUT: .C1 = %C1.decl
// CHECK:STDOUT: .C2 = %C2.decl
// CHECK:STDOUT: .C3 = %C3.decl
// CHECK:STDOUT: .C4 = %C4.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %B.decl = class_decl @B {} [template = constants.%B]
// CHECK:STDOUT: %C1.decl = class_decl @C1 {} [template = constants.%C1]
// CHECK:STDOUT: %C2.decl = class_decl @C2 {} [template = constants.%C2]
+4 -1
View File
@@ -26,7 +26,10 @@ class C {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.B = %B.decl, .C = %C.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .B = %B.decl
// CHECK:STDOUT: .C = %C.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %B.decl = class_decl @B {} [template = constants.%B]
// CHECK:STDOUT: %C.decl = class_decl @C {} [template = constants.%C]
// CHECK:STDOUT: }
+6 -1
View File
@@ -46,7 +46,12 @@ class D {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.B1 = %B1.decl, .B2 = %B2.decl, .C = %C.decl, .D = %D.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .B1 = %B1.decl
// CHECK:STDOUT: .B2 = %B2.decl
// CHECK:STDOUT: .C = %C.decl
// CHECK:STDOUT: .D = %D.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %B1.decl = class_decl @B1 {} [template = constants.%B1]
// CHECK:STDOUT: %B2.decl = class_decl @B2 {} [template = constants.%B2]
// CHECK:STDOUT: %C.decl = class_decl @C {} [template = constants.%C]
+4 -1
View File
@@ -28,7 +28,10 @@ let b: B = C.base;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.B = %B.decl, .C = %C.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .B = %B.decl
// CHECK:STDOUT: .C = %C.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %B.decl = class_decl @B {} [template = constants.%B]
// CHECK:STDOUT: %C.decl = class_decl @C {} [template = constants.%C]
// CHECK:STDOUT: %B.ref: type = name_ref B, %B.decl [template = constants.%B]
@@ -24,7 +24,10 @@ fn Make() -> C {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.C = %C.decl, .Make = %Make} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .C = %C.decl
// CHECK:STDOUT: .Make = %Make
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %C.decl = class_decl @C {} [template = constants.%C]
// CHECK:STDOUT: %Make: <function> = fn_decl @Make {
// CHECK:STDOUT: %C.ref: type = name_ref C, %C.decl [template = constants.%C]
+8 -1
View File
@@ -53,7 +53,14 @@ fn ConvertIncomplete(p: Incomplete*) -> A2* { return p; }
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A1 = %A1.decl, .A2 = %A2.decl, .B2 = %B2.decl, .ConvertUnrelated = %ConvertUnrelated, .Incomplete = %Incomplete.decl, .ConvertIncomplete = %ConvertIncomplete} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A1 = %A1.decl
// CHECK:STDOUT: .A2 = %A2.decl
// CHECK:STDOUT: .B2 = %B2.decl
// CHECK:STDOUT: .ConvertUnrelated = %ConvertUnrelated
// CHECK:STDOUT: .Incomplete = %Incomplete.decl
// CHECK:STDOUT: .ConvertIncomplete = %ConvertIncomplete
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A1.decl = class_decl @A1 {} [template = constants.%A1]
// CHECK:STDOUT: %A2.decl = class_decl @A2 {} [template = constants.%A2]
// CHECK:STDOUT: %B2.decl = class_decl @B2 {} [template = constants.%B2]
+3 -1
View File
@@ -38,7 +38,9 @@ class Class {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+9 -2
View File
@@ -43,7 +43,10 @@ var a: Incomplete;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Empty = %Empty.decl, .Incomplete = %Incomplete.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Empty = %Empty.decl
// CHECK:STDOUT: .Incomplete = %Incomplete.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Empty.decl = class_decl @Empty {} [template = constants.%Empty]
// CHECK:STDOUT: %Incomplete.decl = class_decl @Incomplete {} [template = constants.%Incomplete]
// CHECK:STDOUT: }
@@ -65,7 +68,11 @@ var a: Incomplete;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Empty = %import_ref.1, .Incomplete = %import_ref.2, .a = %a} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Empty = %import_ref.1
// CHECK:STDOUT: .Incomplete = %import_ref.2
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %import_ref.1: type = import_ref ir1, inst+1, used [template = constants.%Empty]
// CHECK:STDOUT: %import_ref.2: type = import_ref ir1, inst+4, used [template = constants.%Incomplete]
// CHECK:STDOUT: %.decl = class_decl @.1 {
+13 -1
View File
@@ -125,7 +125,19 @@ fn CallReturnIncomplete() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .CallClassFunction = %CallClassFunction, .global_var = %global_var, .ConvertFromStruct = %ConvertFromStruct, .MemberAccess = %MemberAccess, .Copy = %Copy, .Let = %Let, .TakeIncomplete = %TakeIncomplete, .ReturnIncomplete = %ReturnIncomplete, .CallTakeIncomplete = %CallTakeIncomplete, .CallReturnIncomplete = %CallReturnIncomplete} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .CallClassFunction = %CallClassFunction
// CHECK:STDOUT: .global_var = %global_var
// CHECK:STDOUT: .ConvertFromStruct = %ConvertFromStruct
// CHECK:STDOUT: .MemberAccess = %MemberAccess
// CHECK:STDOUT: .Copy = %Copy
// CHECK:STDOUT: .Let = %Let
// CHECK:STDOUT: .TakeIncomplete = %TakeIncomplete
// CHECK:STDOUT: .ReturnIncomplete = %ReturnIncomplete
// CHECK:STDOUT: .CallTakeIncomplete = %CallTakeIncomplete
// CHECK:STDOUT: .CallReturnIncomplete = %CallReturnIncomplete
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %.loc15: <function> = fn_decl @.1 {} [template]
// CHECK:STDOUT: %CallClassFunction: <function> = fn_decl @CallClassFunction {} [template]
+4 -1
View File
@@ -40,7 +40,10 @@ fn F() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .F = %F} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %F: <function> = fn_decl @F {} [template]
// CHECK:STDOUT: }
+5 -1
View File
@@ -37,7 +37,11 @@ fn F() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .G = %G, .F = %F} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .G = %G
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %G: <function> = fn_decl @G {
// CHECK:STDOUT: %Class.ref: type = name_ref Class, %Class.decl [template = constants.%Class]
@@ -49,7 +49,11 @@ fn F(s: {.a: A}, b: B) {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A.decl, .B = %B.decl, .F = %F} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A = %A.decl
// CHECK:STDOUT: .B = %B.decl
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A.decl = class_decl @A {} [template = constants.%A]
// CHECK:STDOUT: %B.decl = class_decl @B {} [template = constants.%B]
// CHECK:STDOUT: %F: <function> = fn_decl @F.2 {
+3 -1
View File
@@ -26,7 +26,9 @@ fn T.F() {}
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %Class.ref: type = name_ref Class, %Class.decl [template = constants.%Class]
// CHECK:STDOUT: %T: type = bind_name T, %Class.ref
+5 -1
View File
@@ -50,7 +50,11 @@ fn F(c: Class) {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .A = %A, .F = %F} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .A = %A
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %Class.ref.loc12: type = name_ref Class, %Class.decl [template = constants.%Class]
// CHECK:STDOUT: %WithSelf.ref: <function> = name_ref WithSelf, @Class.%WithSelf [template = @Class.%WithSelf]
@@ -57,7 +57,11 @@ base class BaseClass {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.FinalClass = %FinalClass.decl, .AbstractClass = %AbstractClass.decl, .BaseClass = %BaseClass.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .FinalClass = %FinalClass.decl
// CHECK:STDOUT: .AbstractClass = %AbstractClass.decl
// CHECK:STDOUT: .BaseClass = %BaseClass.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %FinalClass.decl = class_decl @FinalClass {} [template = constants.%FinalClass]
// CHECK:STDOUT: %AbstractClass.decl = class_decl @AbstractClass {} [template = constants.%AbstractClass]
// CHECK:STDOUT: %BaseClass.decl = class_decl @BaseClass {} [template = constants.%BaseClass]
+8 -1
View File
@@ -77,7 +77,14 @@ abstract base class AbstractAndBase {}
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.DuplicatePrivate = %DuplicatePrivate.decl, .TwoAccess = %TwoAccess.decl, .TwoAbstract = %TwoAbstract.decl, .Virtual = %Virtual.decl, .WrongOrder = %WrongOrder.decl, .AbstractAndBase = %AbstractAndBase.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .DuplicatePrivate = %DuplicatePrivate.decl
// CHECK:STDOUT: .TwoAccess = %TwoAccess.decl
// CHECK:STDOUT: .TwoAbstract = %TwoAbstract.decl
// CHECK:STDOUT: .Virtual = %Virtual.decl
// CHECK:STDOUT: .WrongOrder = %WrongOrder.decl
// CHECK:STDOUT: .AbstractAndBase = %AbstractAndBase.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %DuplicatePrivate.decl = class_decl @DuplicatePrivate {} [template = constants.%DuplicatePrivate]
// CHECK:STDOUT: %TwoAccess.decl = class_decl @TwoAccess {} [template = constants.%TwoAccess]
// CHECK:STDOUT: %TwoAbstract.decl = class_decl @TwoAbstract {} [template = constants.%TwoAbstract]
@@ -19,7 +19,9 @@ fn C.F() {}
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.C = %C.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .C = %C.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %C.decl = class_decl @C {} [template = constants.%C]
// CHECK:STDOUT: %F: <function> = fn_decl @F {} [template]
// CHECK:STDOUT: }
@@ -88,7 +88,15 @@ base class G;
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A.decl.loc7, .B = %B.decl.loc16, .C = %C.decl.loc25, .D = %D.decl.loc34, .E = %E.decl.loc43, .F = %F.decl.loc52, .G = %G.decl.loc61} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A = %A.decl.loc7
// CHECK:STDOUT: .B = %B.decl.loc16
// CHECK:STDOUT: .C = %C.decl.loc25
// CHECK:STDOUT: .D = %D.decl.loc34
// CHECK:STDOUT: .E = %E.decl.loc43
// CHECK:STDOUT: .F = %F.decl.loc52
// CHECK:STDOUT: .G = %G.decl.loc61
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A.decl.loc7 = class_decl @A {} [template = constants.%A]
// CHECK:STDOUT: %A.decl.loc14 = class_decl @A {} [template = constants.%A]
// CHECK:STDOUT: %B.decl.loc16 = class_decl @B {} [template = constants.%B]
@@ -35,7 +35,11 @@ class Y {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.A = %A.decl.loc7, .X = %X.decl, .Y = %Y.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .A = %A.decl.loc7
// CHECK:STDOUT: .X = %X.decl
// CHECK:STDOUT: .Y = %Y.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %A.decl.loc7 = class_decl @A.1 {} [template = constants.%A.1]
// CHECK:STDOUT: %X.decl = class_decl @X {} [template = constants.%X]
// CHECK:STDOUT: %A.decl.loc15 = class_decl @A.1 {} [template = constants.%A.1]
+3 -1
View File
@@ -32,7 +32,9 @@ fn Class.H() {}
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl.loc7} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl.loc7
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl.loc7 = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %Class.decl.loc18 = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %F: <function> = fn_decl @F {} [template]
+3 -1
View File
@@ -34,7 +34,9 @@ class Class {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: }
// CHECK:STDOUT:
+4 -1
View File
@@ -26,7 +26,10 @@ fn G() -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .G = %G} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .G = %G
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %G: <function> = fn_decl @G {
// CHECK:STDOUT: %return.var: ref i32 = var <return slot>
+5 -1
View File
@@ -61,7 +61,11 @@ fn CallWrongSelf(ws: WrongSelf) {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .WrongSelf = %WrongSelf.decl, .CallWrongSelf = %CallWrongSelf} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .WrongSelf = %WrongSelf.decl
// CHECK:STDOUT: .CallWrongSelf = %CallWrongSelf
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %F: <function> = fn_decl @F.1 {
// CHECK:STDOUT: %Class.ref.loc25: type = name_ref Class, %Class.decl [template = constants.%Class]
+3 -1
View File
@@ -19,7 +19,9 @@ class C[]();
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.C = %C.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .C = %C.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %C.decl = class_decl @C {} [template = constants.%C]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -32,7 +32,9 @@ fn Class(T:! type).F[self: Self](n: T) {}
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {
// CHECK:STDOUT: %T.loc10_13.1: type = param T
// CHECK:STDOUT: %T.loc10_13.2: type = bind_symbolic_name T, %T.loc10_13.1 [symbolic]
@@ -33,7 +33,9 @@ class ForwardDecl {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.ForwardDecl = %ForwardDecl.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .ForwardDecl = %ForwardDecl.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %ForwardDecl.decl = class_decl @ForwardDecl {} [template = constants.%ForwardDecl]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -48,7 +50,9 @@ class ForwardDecl {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.ForwardDecl = %import_ref} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .ForwardDecl = %import_ref
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %import_ref: type = import_ref ir1, inst+1, used [template = constants.%ForwardDecl]
// CHECK:STDOUT: %.decl = class_decl @.1 {
// CHECK:STDOUT: %ForwardDecl.decl = class_decl @ForwardDecl {} [template = constants.%ForwardDecl]
+5 -1
View File
@@ -70,7 +70,11 @@ abstract class Abstract {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Access = %Access.decl, .Base = %Base.decl, .Abstract = %Abstract.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Access = %Access.decl
// CHECK:STDOUT: .Base = %Base.decl
// CHECK:STDOUT: .Abstract = %Abstract.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Access.decl = class_decl @Access {} [template = constants.%Access]
// CHECK:STDOUT: %Base.decl = class_decl @Base {} [template = constants.%Base]
// CHECK:STDOUT: %Abstract.decl = class_decl @Abstract {} [template = constants.%Abstract]
+4 -1
View File
@@ -30,7 +30,10 @@ fn G() -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .G = %G} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .G = %G
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %G: <function> = fn_decl @G {
// CHECK:STDOUT: %return.var: ref i32 = var <return slot>
+4 -1
View File
@@ -26,7 +26,10 @@ fn G(c: Class) -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .G = %G} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .G = %G
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %G: <function> = fn_decl @G {
// CHECK:STDOUT: %Class.ref: type = name_ref Class, %Class.decl [template = constants.%Class]
+4 -1
View File
@@ -29,7 +29,10 @@ fn Run() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %Run: <function> = fn_decl @Run {} [template]
// CHECK:STDOUT: }
@@ -30,7 +30,10 @@ fn Test() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .Test = %Test} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .Test = %Test
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %Test: <function> = fn_decl @Test {} [template]
// CHECK:STDOUT: }
+4 -1
View File
@@ -16,7 +16,10 @@ fn F(p: Class*) -> Class* { return p; }
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .F = %F} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %F: <function> = fn_decl @F {
// CHECK:STDOUT: %Class.ref.loc9_9: type = name_ref Class, %Class.decl [template = constants.%Class]
+13 -2
View File
@@ -59,7 +59,12 @@ fn Run() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Empty = %Empty.decl, .Field = %Field.decl, .ForwardDeclared = %ForwardDeclared.decl.loc11, .Incomplete = %Incomplete.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Empty = %Empty.decl
// CHECK:STDOUT: .Field = %Field.decl
// CHECK:STDOUT: .ForwardDeclared = %ForwardDeclared.decl.loc11
// CHECK:STDOUT: .Incomplete = %Incomplete.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Empty.decl = class_decl @Empty {} [template = constants.%Empty]
// CHECK:STDOUT: %Field.decl = class_decl @Field {} [template = constants.%Field]
// CHECK:STDOUT: %ForwardDeclared.decl.loc11 = class_decl @ForwardDeclared {} [template = constants.%ForwardDeclared]
@@ -127,7 +132,13 @@ fn Run() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Empty = %import_ref.1, .Field = %import_ref.2, .ForwardDeclared = %import_ref.3, .Incomplete = %import_ref.4, .Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Empty = %import_ref.1
// CHECK:STDOUT: .Field = %import_ref.2
// CHECK:STDOUT: .ForwardDeclared = %import_ref.3
// CHECK:STDOUT: .Incomplete = %import_ref.4
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %import_ref.1: type = import_ref ir1, inst+1, used [template = constants.%Empty]
// CHECK:STDOUT: %import_ref.2: type = import_ref ir1, inst+4, used [template = constants.%Field]
// CHECK:STDOUT: %import_ref.3: type = import_ref ir1, inst+11, used [template = constants.%ForwardDeclared]
+9 -2
View File
@@ -45,7 +45,10 @@ fn Run() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Base = %Base.decl, .Child = %Child.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Base = %Base.decl
// CHECK:STDOUT: .Child = %Child.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Base.decl = class_decl @Base {} [template = constants.%Base]
// CHECK:STDOUT: %Child.decl = class_decl @Child {} [template = constants.%Child]
// CHECK:STDOUT: }
@@ -106,7 +109,11 @@ fn Run() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Base = %import_ref.1, .Child = %import_ref.2, .Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Base = %import_ref.1
// CHECK:STDOUT: .Child = %import_ref.2
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %import_ref.1 = import_ref ir1, inst+1, unused
// CHECK:STDOUT: %import_ref.2: type = import_ref ir1, inst+19, used [template = constants.%Child]
// CHECK:STDOUT: %Run: <function> = fn_decl @Run {} [template]
+7 -2
View File
@@ -32,7 +32,9 @@ fn Run() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Cycle = %Cycle.decl} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Cycle = %Cycle.decl
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Cycle.decl = class_decl @Cycle {} [template = constants.%Cycle]
// CHECK:STDOUT: }
// CHECK:STDOUT:
@@ -54,7 +56,10 @@ fn Run() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Cycle = %import_ref, .Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Cycle = %import_ref
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %import_ref: type = import_ref ir1, inst+1, used [template = constants.%Cycle]
// CHECK:STDOUT: %Run: <function> = fn_decl @Run {} [template]
// CHECK:STDOUT: }
+9 -2
View File
@@ -38,7 +38,10 @@ fn Run() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Cycle = %Cycle.decl.loc4, .a = %a} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Cycle = %Cycle.decl.loc4
// CHECK:STDOUT: .a = %a
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Cycle.decl.loc4 = class_decl @Cycle {} [template = constants.%Cycle]
// CHECK:STDOUT: %Cycle.ref: type = name_ref Cycle, %Cycle.decl.loc4 [template = constants.%Cycle]
// CHECK:STDOUT: %.loc6_18: type = ptr_type Cycle [template = constants.%.1]
@@ -70,7 +73,11 @@ fn Run() {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Cycle = %import_ref.1, .a = %import_ref.2, .Run = %Run} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Cycle = %import_ref.1
// CHECK:STDOUT: .a = %import_ref.2
// CHECK:STDOUT: .Run = %Run
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %import_ref.1 = import_ref ir1, inst+1, unused
// CHECK:STDOUT: %import_ref.2: ref {.b: Cycle*} = import_ref ir1, inst+11, used
// CHECK:STDOUT: %Run: <function> = fn_decl @Run {} [template]
+5 -1
View File
@@ -30,7 +30,11 @@ fn MakeReorder(n: i32, next: Class*) -> Class {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .Make = %Make, .MakeReorder = %MakeReorder} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .Make = %Make
// CHECK:STDOUT: .MakeReorder = %MakeReorder
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %Make: <function> = fn_decl @Make {
// CHECK:STDOUT: %n.loc12_9.1: i32 = param n
+4 -1
View File
@@ -26,7 +26,10 @@ fn F() -> i32 {
// CHECK:STDOUT: }
// CHECK:STDOUT:
// CHECK:STDOUT: file {
// CHECK:STDOUT: package: <namespace> = namespace {.Class = %Class.decl, .F = %F} [template]
// CHECK:STDOUT: package: <namespace> = namespace {
// CHECK:STDOUT: .Class = %Class.decl
// CHECK:STDOUT: .F = %F
// CHECK:STDOUT: } [template]
// CHECK:STDOUT: %Class.decl = class_decl @Class {} [template = constants.%Class]
// CHECK:STDOUT: %F: <function> = fn_decl @F {
// CHECK:STDOUT: %return.var: ref i32 = var <return slot>

Some files were not shown because too many files have changed in this diff Show More