mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-04 07:41:04 +01:00
Improve namespace handling in imports. (#4153)
This implements a few closely related features: - Starts merging namespaces discovered inside imports. - Stores results of cross-package name lookup as an entry inside the scope. - Note this is particularly visible with `i32`. - Moves more of the imported instructions to the import scope. Note this is primarily for executing the namespace TODO in check.cpp, which is removed here. `testdata/namespace/merging_with_indirections.carbon` tests key behavior. --------- Co-authored-by: Richard Smith <richard@metafoo.co.uk>
This commit is contained in:
co-authored by
Richard Smith
parent
55f3f48707
commit
7ded56ef35
@@ -24,17 +24,8 @@ fn F(n: i32, a: [i32; n]*);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.2: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .F = %F.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -43,6 +34,15 @@ fn F(n: i32, a: [i32; n]*);
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .F = %F.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc14_9: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc14_9.1: type = value_of_initializer %int.make_type_32.loc14_9 [template = i32]
|
||||
|
||||
@@ -27,17 +27,8 @@ fn F(n: i32, n: i32);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.2: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .F = %F.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -46,6 +37,15 @@ fn F(n: i32, n: i32);
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .F = %F.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc17_9: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc17_9.1: type = value_of_initializer %int.make_type_32.loc17_9 [template = i32]
|
||||
|
||||
+300
-311
@@ -389,23 +389,8 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.2: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.3: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.4: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = %B.decl
|
||||
// CHECK:STDOUT: .C = %C.decl
|
||||
// CHECK:STDOUT: .D = %D.decl
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -414,6 +399,19 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = %B.decl
|
||||
// CHECK:STDOUT: .C = %C.decl
|
||||
// CHECK:STDOUT: .D = %D.decl
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] {}
|
||||
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_9: init type = call constants.%Int32() [template = i32]
|
||||
@@ -481,23 +479,8 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.2: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.3: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.4: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = %B.decl
|
||||
// CHECK:STDOUT: .C = %C.decl
|
||||
// CHECK:STDOUT: .D = %D.decl
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -506,6 +489,19 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = %B.decl
|
||||
// CHECK:STDOUT: .C = %C.decl
|
||||
// CHECK:STDOUT: .D = %D.decl
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] {}
|
||||
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc5_16: init type = call constants.%Int32() [template = i32]
|
||||
@@ -575,11 +571,24 @@ import library "extern_api";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//api, inst+3, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//api, inst+22, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+44, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+47, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.5: %E.type = import_ref Main//api, inst+51, loaded [template = constants.%E]
|
||||
// CHECK:STDOUT: %import_ref.6: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//api, inst+21, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+41, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+44, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = %import_ref.6
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//api, inst+48, loaded [template = constants.%E]
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref.7
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
// CHECK:STDOUT: import Core//prelude/operators/arithmetic
|
||||
// CHECK:STDOUT: import Core//prelude/operators/bitwise
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.7: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -589,8 +598,8 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: .b = %b
|
||||
// CHECK:STDOUT: .c = %c
|
||||
@@ -599,19 +608,6 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = imports.%import_ref.5
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
// CHECK:STDOUT: import Core//prelude/operators/arithmetic
|
||||
// CHECK:STDOUT: import Core//prelude/operators/bitwise
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %.loc6_9.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc6_9.2: type = converted %.loc6_9.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %a.var: ref %.1 = var a
|
||||
@@ -668,8 +664,8 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %D.ref: %D.type = name_ref D, imports.%import_ref.4 [template = constants.%D]
|
||||
// CHECK:STDOUT: %D.call: init %.1 = call %D.ref()
|
||||
// CHECK:STDOUT: assign file.%d.var, %D.call
|
||||
// CHECK:STDOUT: %NS.ref: <namespace> = name_ref NS, file.%NS [template = file.%NS]
|
||||
// CHECK:STDOUT: %E.ref: %E.type = name_ref E, imports.%import_ref.5 [template = constants.%E]
|
||||
// CHECK:STDOUT: %NS.ref: <namespace> = name_ref NS, imports.%NS [template = imports.%NS]
|
||||
// CHECK:STDOUT: %E.ref: %E.type = name_ref E, imports.%import_ref.6 [template = constants.%E]
|
||||
// CHECK:STDOUT: %E.call: init %.1 = call %E.ref()
|
||||
// CHECK:STDOUT: assign file.%e.var, %E.call
|
||||
// CHECK:STDOUT: return
|
||||
@@ -700,39 +696,16 @@ import library "extern_api";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//api, inst+3, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//api, inst+22, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+44, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+47, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.5: %E.type = import_ref Main//api, inst+51, loaded [template = constants.%E]
|
||||
// CHECK:STDOUT: %import_ref.6: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.7: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.8: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.9: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.10: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.11: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = %B.decl
|
||||
// CHECK:STDOUT: .C = %C.decl
|
||||
// CHECK:STDOUT: .D = %D.decl
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: .b = %b.loc13
|
||||
// CHECK:STDOUT: .c = %c.loc14
|
||||
// CHECK:STDOUT: .d = %d
|
||||
// CHECK:STDOUT: .e = %e
|
||||
// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//api, inst+21, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+41, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+44, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = file.%E.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = %E.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//api, inst+48, loaded [template = constants.%E]
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref.7
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -741,6 +714,25 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.7: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = %B.decl
|
||||
// CHECK:STDOUT: .C = %C.decl
|
||||
// CHECK:STDOUT: .D = %D.decl
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: .b = %b.loc13
|
||||
// CHECK:STDOUT: .c = %c.loc14
|
||||
// CHECK:STDOUT: .d = %d
|
||||
// CHECK:STDOUT: .e = %e
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] {}
|
||||
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_16: init type = call constants.%Int32() [template = i32]
|
||||
@@ -825,7 +817,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %D.ref: %D.type = name_ref D, file.%D.decl [template = constants.%D]
|
||||
// CHECK:STDOUT: %D.call: init %.1 = call %D.ref()
|
||||
// CHECK:STDOUT: assign file.%d.var, %D.call
|
||||
// CHECK:STDOUT: %NS.ref: <namespace> = name_ref NS, file.%NS [template = file.%NS]
|
||||
// CHECK:STDOUT: %NS.ref: <namespace> = name_ref NS, imports.%NS [template = imports.%NS]
|
||||
// CHECK:STDOUT: %E.ref: %E.type = name_ref E, file.%E.decl [template = constants.%E]
|
||||
// CHECK:STDOUT: %E.call: init %.1 = call %E.ref()
|
||||
// CHECK:STDOUT: assign file.%e.var, %E.call
|
||||
@@ -857,39 +849,16 @@ import library "extern_api";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//extern_api, inst+3, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//extern_api, inst+22, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//extern_api, inst+44, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//extern_api, inst+47, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.5: %E.type = import_ref Main//extern_api, inst+51, loaded [template = constants.%E]
|
||||
// CHECK:STDOUT: %import_ref.6: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.7: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.8: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.9: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.10: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.11: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = %B.decl
|
||||
// CHECK:STDOUT: .C = %C.decl
|
||||
// CHECK:STDOUT: .D = %D.decl
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: .b = %b.loc13
|
||||
// CHECK:STDOUT: .c = %c.loc14
|
||||
// CHECK:STDOUT: .d = %d
|
||||
// CHECK:STDOUT: .e = %e
|
||||
// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//extern_api, inst+21, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//extern_api, inst+41, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//extern_api, inst+44, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//extern_api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = file.%E.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//extern_api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = %E.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//extern_api, inst+48, loaded [template = constants.%E]
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref.7
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -898,6 +867,25 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.7: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = %B.decl
|
||||
// CHECK:STDOUT: .C = %C.decl
|
||||
// CHECK:STDOUT: .D = %D.decl
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: .b = %b.loc13
|
||||
// CHECK:STDOUT: .c = %c.loc14
|
||||
// CHECK:STDOUT: .d = %d
|
||||
// CHECK:STDOUT: .e = %e
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %A.decl: %A.type = fn_decl @A [template = constants.%A] {}
|
||||
// CHECK:STDOUT: %B.decl: %B.type = fn_decl @B [template = constants.%B] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc7_16: init type = call constants.%Int32() [template = i32]
|
||||
@@ -982,7 +970,7 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %D.ref: %D.type = name_ref D, file.%D.decl [template = constants.%D]
|
||||
// CHECK:STDOUT: %D.call: init %.1 = call %D.ref()
|
||||
// CHECK:STDOUT: assign file.%d.var, %D.call
|
||||
// CHECK:STDOUT: %NS.ref: <namespace> = name_ref NS, file.%NS [template = file.%NS]
|
||||
// CHECK:STDOUT: %NS.ref: <namespace> = name_ref NS, imports.%NS [template = imports.%NS]
|
||||
// CHECK:STDOUT: %E.ref: %E.type = name_ref E, file.%E.decl [template = constants.%E]
|
||||
// CHECK:STDOUT: %E.call: init %.1 = call %E.ref()
|
||||
// CHECK:STDOUT: assign file.%e.var, %E.call
|
||||
@@ -1013,16 +1001,29 @@ import library "extern_api";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//api, inst+3, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//api, inst+22, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+44, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+47, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.5: %E.type = import_ref Main//api, inst+51, loaded [template = constants.%E]
|
||||
// CHECK:STDOUT: %import_ref.6 = import_ref Main//extern_api, inst+3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.7 = import_ref Main//extern_api, inst+22, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8 = import_ref Main//extern_api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.9 = import_ref Main//extern_api, inst+47, unloaded
|
||||
// CHECK:STDOUT: %import_ref.10 = import_ref Main//extern_api, inst+51, unloaded
|
||||
// CHECK:STDOUT: %import_ref.11: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//api, inst+21, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//api, inst+41, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//api, inst+44, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = %import_ref.6
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//api, inst+48, loaded [template = constants.%E]
|
||||
// CHECK:STDOUT: %import_ref.7 = import_ref Main//extern_api, inst+3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8 = import_ref Main//extern_api, inst+21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.9 = import_ref Main//extern_api, inst+41, unloaded
|
||||
// CHECK:STDOUT: %import_ref.10 = import_ref Main//extern_api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.11 = import_ref Main//extern_api, inst+48, unloaded
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref.12
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
// CHECK:STDOUT: import Core//prelude/operators/arithmetic
|
||||
// CHECK:STDOUT: import Core//prelude/operators/bitwise
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.12: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -1032,8 +1033,8 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: .b = %b
|
||||
// CHECK:STDOUT: .c = %c
|
||||
@@ -1042,19 +1043,6 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = imports.%import_ref.5
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
// CHECK:STDOUT: import Core//prelude/operators/arithmetic
|
||||
// CHECK:STDOUT: import Core//prelude/operators/bitwise
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %.loc72_9.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc72_9.2: type = converted %.loc72_9.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %a.var: ref %.1 = var a
|
||||
@@ -1111,8 +1099,8 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %D.ref: %D.type = name_ref D, imports.%import_ref.4 [template = constants.%D]
|
||||
// CHECK:STDOUT: %D.call: init %.1 = call %D.ref()
|
||||
// CHECK:STDOUT: assign file.%d.var, %D.call
|
||||
// CHECK:STDOUT: %NS.ref: <namespace> = name_ref NS, file.%NS [template = file.%NS]
|
||||
// CHECK:STDOUT: %E.ref: %E.type = name_ref E, imports.%import_ref.5 [template = constants.%E]
|
||||
// CHECK:STDOUT: %NS.ref: <namespace> = name_ref NS, imports.%NS [template = imports.%NS]
|
||||
// CHECK:STDOUT: %E.ref: %E.type = name_ref E, imports.%import_ref.6 [template = constants.%E]
|
||||
// CHECK:STDOUT: %E.call: init %.1 = call %E.ref()
|
||||
// CHECK:STDOUT: assign file.%e.var, %E.call
|
||||
// CHECK:STDOUT: return
|
||||
@@ -1142,16 +1130,29 @@ import library "extern_api";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//extern_api, inst+3, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//extern_api, inst+22, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//extern_api, inst+44, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//extern_api, inst+47, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.5: %E.type = import_ref Main//extern_api, inst+51, loaded [template = constants.%E]
|
||||
// CHECK:STDOUT: %import_ref.6 = import_ref Main//api, inst+3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.7 = import_ref Main//api, inst+22, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8 = import_ref Main//api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.9 = import_ref Main//api, inst+47, unloaded
|
||||
// CHECK:STDOUT: %import_ref.10 = import_ref Main//api, inst+51, unloaded
|
||||
// CHECK:STDOUT: %import_ref.11: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.2: %B.type = import_ref Main//extern_api, inst+21, loaded [template = constants.%B]
|
||||
// CHECK:STDOUT: %import_ref.3: %C.type = import_ref Main//extern_api, inst+41, loaded [template = constants.%C]
|
||||
// CHECK:STDOUT: %import_ref.4: %D.type = import_ref Main//extern_api, inst+44, loaded [template = constants.%D]
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//extern_api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = %import_ref.6
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.6: %E.type = import_ref Main//extern_api, inst+48, loaded [template = constants.%E]
|
||||
// CHECK:STDOUT: %import_ref.7 = import_ref Main//api, inst+3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8 = import_ref Main//api, inst+21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.9 = import_ref Main//api, inst+41, unloaded
|
||||
// CHECK:STDOUT: %import_ref.10 = import_ref Main//api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.11 = import_ref Main//api, inst+48, unloaded
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref.12
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
// CHECK:STDOUT: import Core//prelude/operators/arithmetic
|
||||
// CHECK:STDOUT: import Core//prelude/operators/bitwise
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.12: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -1161,8 +1162,8 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: .b = %b
|
||||
// CHECK:STDOUT: .c = %c
|
||||
@@ -1171,19 +1172,6 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//extern_api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = imports.%import_ref.5
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
// CHECK:STDOUT: import Core//prelude/operators/arithmetic
|
||||
// CHECK:STDOUT: import Core//prelude/operators/bitwise
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %.loc72_9.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc72_9.2: type = converted %.loc72_9.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %a.var: ref %.1 = var a
|
||||
@@ -1240,8 +1228,8 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: %D.ref: %D.type = name_ref D, imports.%import_ref.4 [template = constants.%D]
|
||||
// CHECK:STDOUT: %D.call: init %.1 = call %D.ref()
|
||||
// CHECK:STDOUT: assign file.%d.var, %D.call
|
||||
// CHECK:STDOUT: %NS.ref: <namespace> = name_ref NS, file.%NS [template = file.%NS]
|
||||
// CHECK:STDOUT: %E.ref: %E.type = name_ref E, imports.%import_ref.5 [template = constants.%E]
|
||||
// CHECK:STDOUT: %NS.ref: <namespace> = name_ref NS, imports.%NS [template = imports.%NS]
|
||||
// CHECK:STDOUT: %E.ref: %E.type = name_ref E, imports.%import_ref.6 [template = constants.%E]
|
||||
// CHECK:STDOUT: %E.call: init %.1 = call %E.ref()
|
||||
// CHECK:STDOUT: assign file.%e.var, %E.call
|
||||
// CHECK:STDOUT: return
|
||||
@@ -1257,29 +1245,15 @@ import library "extern_api";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//extern_api, inst+3, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//extern_api, inst+22, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//extern_api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//extern_api, inst+47, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5 = import_ref Main//extern_api, inst+51, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//extern_api, inst+21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//extern_api, inst+41, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//extern_api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//extern_api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = %import_ref.6
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//extern_api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = imports.%import_ref.5
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %import_ref.6 = import_ref Main//extern_api, inst+48, unloaded
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -1288,6 +1262,20 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %.loc6_9.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc6_9.2: type = converted %.loc6_9.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %a.var: ref %.1 = var a
|
||||
@@ -1319,30 +1307,16 @@ import library "extern_api";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//extern_api, inst+3, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//extern_api, inst+22, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//extern_api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//extern_api, inst+47, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5 = import_ref Main//extern_api, inst+51, unloaded
|
||||
// CHECK:STDOUT: %import_ref.6: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.1
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//extern_api, inst+21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//extern_api, inst+41, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//extern_api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//extern_api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = %import_ref.6
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//extern_api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = imports.%import_ref.5
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %import_ref.6 = import_ref Main//extern_api, inst+48, unloaded
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref.7
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -1351,6 +1325,21 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref.7: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.1
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %.loc6_9.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc6_9.2: type = converted %.loc6_9.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %a.var: ref %.1 = var a
|
||||
@@ -1387,29 +1376,15 @@ import library "extern_api";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %A.type = import_ref Main//api, inst+3, loaded [template = constants.%A]
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//api, inst+22, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//api, inst+47, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5 = import_ref Main//api, inst+51, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//api, inst+21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//api, inst+41, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = %import_ref.6
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = imports.%import_ref.5
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %import_ref.6 = import_ref Main//api, inst+48, unloaded
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -1418,6 +1393,20 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = %A.decl
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .a = %a
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %.loc6_9.1: %.1 = tuple_literal ()
|
||||
// CHECK:STDOUT: %.loc6_9.2: type = converted %.loc6_9.1, constants.%.1 [template = constants.%.1]
|
||||
// CHECK:STDOUT: %a.var: ref %.1 = var a
|
||||
@@ -1439,28 +1428,15 @@ import library "extern_api";
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1 = import_ref Main//api, inst+3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//api, inst+22, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//api, inst+47, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5 = import_ref Main//api, inst+51, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.1
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//api, inst+21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//api, inst+41, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = %import_ref.6
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = imports.%import_ref.5
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %import_ref.6 = import_ref Main//api, inst+48, unloaded
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -1471,32 +1447,32 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.1
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- unloaded_extern.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1 = import_ref Main//extern_api, inst+3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//extern_api, inst+22, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//extern_api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//extern_api, inst+47, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5 = import_ref Main//extern_api, inst+51, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.1
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//extern_api, inst+21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//extern_api, inst+41, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//extern_api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//extern_api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = %import_ref.6
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//extern_api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = imports.%import_ref.5
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %import_ref.6 = import_ref Main//extern_api, inst+48, unloaded
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -1507,37 +1483,37 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.1
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: --- fail_todo_loaded_merge.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1 = import_ref Main//api, inst+3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//api, inst+22, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//api, inst+47, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5 = import_ref Main//api, inst+51, unloaded
|
||||
// CHECK:STDOUT: %import_ref.6 = import_ref Main//extern_api, inst+3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.7 = import_ref Main//extern_api, inst+22, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8 = import_ref Main//extern_api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.9 = import_ref Main//extern_api, inst+47, unloaded
|
||||
// CHECK:STDOUT: %import_ref.10 = import_ref Main//extern_api, inst+51, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.1
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = %NS
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: %import_ref.2 = import_ref Main//api, inst+21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.3 = import_ref Main//api, inst+41, unloaded
|
||||
// CHECK:STDOUT: %import_ref.4 = import_ref Main//api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.5: <namespace> = import_ref Main//api, inst+47, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref.5, [template] {
|
||||
// CHECK:STDOUT: .E = %import_ref.6
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %import_ref: <namespace> = import_ref Main//api, inst+50, loaded
|
||||
// CHECK:STDOUT: %NS: <namespace> = namespace %import_ref, [template] {
|
||||
// CHECK:STDOUT: .E = imports.%import_ref.5
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %import_ref.6 = import_ref Main//api, inst+48, unloaded
|
||||
// CHECK:STDOUT: %import_ref.7 = import_ref Main//extern_api, inst+3, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8 = import_ref Main//extern_api, inst+21, unloaded
|
||||
// CHECK:STDOUT: %import_ref.9 = import_ref Main//extern_api, inst+41, unloaded
|
||||
// CHECK:STDOUT: %import_ref.10 = import_ref Main//extern_api, inst+44, unloaded
|
||||
// CHECK:STDOUT: %import_ref.11 = import_ref Main//extern_api, inst+48, unloaded
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -1548,3 +1524,16 @@ import library "extern_api";
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref.1
|
||||
// CHECK:STDOUT: .B = imports.%import_ref.2
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.3
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.4
|
||||
// CHECK:STDOUT: .NS = imports.%NS
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -25,18 +25,8 @@ fn G(a: i32);
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.1: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: %import_ref.2: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Core = %Core
|
||||
// CHECK:STDOUT: .F = %F.decl
|
||||
// CHECK:STDOUT: .G = %G.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace %Core.import, [template] {
|
||||
// CHECK:STDOUT: %Core: <namespace> = namespace file.%Core.import, [template] {
|
||||
// CHECK:STDOUT: .Int32 = %import_ref
|
||||
// CHECK:STDOUT: import Core//prelude
|
||||
// CHECK:STDOUT: import Core//prelude/operators
|
||||
// CHECK:STDOUT: import Core//prelude/types
|
||||
@@ -45,6 +35,16 @@ fn G(a: i32);
|
||||
// CHECK:STDOUT: import Core//prelude/operators/comparison
|
||||
// CHECK:STDOUT: import Core//prelude/types/bool
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %import_ref: %Int32.type = import_ref Core//prelude/types, inst+4, loaded [template = constants.%Int32]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .Core = imports.%Core
|
||||
// CHECK:STDOUT: .F = %F.decl
|
||||
// CHECK:STDOUT: .G = %G.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %Core.import = import Core
|
||||
// CHECK:STDOUT: %F.decl: %F.type = fn_decl @F [template = constants.%F] {
|
||||
// CHECK:STDOUT: %int.make_type_32.loc11: init type = call constants.%Int32() [template = i32]
|
||||
// CHECK:STDOUT: %.loc11_9.1: type = value_of_initializer %int.make_type_32.loc11 [template = i32]
|
||||
|
||||
Reference in New Issue
Block a user