Просмотр исходного кода

Update SemIR yaml and text for multi-file. (#3217)

Building on #3214 and #3215, updates sem_ir yaml to be:

```
- filename: name
  sem_ir: [ ... ]
```

Also, changes the textual format from `package { ... }` to `file
<filename> { ... }`. My thought on packages there is:

```
file "foo.carbon" {
  package MyPackage

  ...
}
```

The reason for putting the file first is that it's easier if we put what
we're grouping on first, whereas the package is an "annotation" on the
file.
Jon Ross-Perkins 2 лет назад
Родитель
Сommit
9ae41b2965
100 измененных файлов с 493 добавлено и 288 удалено
  1. 1 1
      toolchain/base/yaml_test_helpers.h
  2. 1 1
      toolchain/check/check.cpp
  3. 1 1
      toolchain/check/testdata/array/assign_return_value.carbon
  4. 1 1
      toolchain/check/testdata/array/assign_var.carbon
  5. 1 1
      toolchain/check/testdata/array/base.carbon
  6. 1 1
      toolchain/check/testdata/array/fail_bound_overflow.carbon
  7. 1 1
      toolchain/check/testdata/array/fail_invalid_type.carbon
  8. 1 1
      toolchain/check/testdata/array/fail_out_of_bound.carbon
  9. 1 1
      toolchain/check/testdata/array/fail_type_mismatch.carbon
  10. 1 1
      toolchain/check/testdata/array/fail_undefined_bound.carbon
  11. 1 1
      toolchain/check/testdata/array/nine_elements.carbon
  12. 27 25
      toolchain/check/testdata/basics/builtin_nodes.carbon
  13. 1 1
      toolchain/check/testdata/basics/builtin_types.carbon
  14. 1 1
      toolchain/check/testdata/basics/empty.carbon
  15. 1 1
      toolchain/check/testdata/basics/empty_decl.carbon
  16. 1 1
      toolchain/check/testdata/basics/fail_name_lookup.carbon
  17. 1 1
      toolchain/check/testdata/basics/fail_non_type_as_type.carbon
  18. 1 1
      toolchain/check/testdata/basics/fail_qualifier_unsupported.carbon
  19. 27 0
      toolchain/check/testdata/basics/multifile.carbon
  20. 95 0
      toolchain/check/testdata/basics/multifile_raw_and_textual_ir.carbon
  21. 77 0
      toolchain/check/testdata/basics/multifile_raw_ir.carbon
  22. 1 1
      toolchain/check/testdata/basics/numeric_literals.carbon
  23. 1 1
      toolchain/check/testdata/basics/parens.carbon
  24. 87 85
      toolchain/check/testdata/basics/raw_and_textual_ir.carbon
  25. 86 84
      toolchain/check/testdata/basics/raw_ir.carbon
  26. 1 1
      toolchain/check/testdata/basics/textual_ir.carbon
  27. 1 1
      toolchain/check/testdata/const/collapse.carbon
  28. 1 1
      toolchain/check/testdata/const/fail_collapse.carbon
  29. 1 1
      toolchain/check/testdata/expression_category/in_place_tuple_initialization.carbon
  30. 1 1
      toolchain/check/testdata/function/call/empty_struct.carbon
  31. 1 1
      toolchain/check/testdata/function/call/empty_tuple.carbon
  32. 1 1
      toolchain/check/testdata/function/call/fail_param_count.carbon
  33. 1 1
      toolchain/check/testdata/function/call/fail_param_type.carbon
  34. 1 1
      toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon
  35. 1 1
      toolchain/check/testdata/function/call/i32.carbon
  36. 1 1
      toolchain/check/testdata/function/call/more_param_ir.carbon
  37. 1 1
      toolchain/check/testdata/function/call/params_one.carbon
  38. 1 1
      toolchain/check/testdata/function/call/params_one_comma.carbon
  39. 1 1
      toolchain/check/testdata/function/call/params_two.carbon
  40. 1 1
      toolchain/check/testdata/function/call/params_two_comma.carbon
  41. 1 1
      toolchain/check/testdata/function/call/params_zero.carbon
  42. 1 1
      toolchain/check/testdata/function/call/return_implicit.carbon
  43. 1 1
      toolchain/check/testdata/function/declaration/simple.carbon
  44. 1 1
      toolchain/check/testdata/function/definition/fail_param_name_conflict.carbon
  45. 1 1
      toolchain/check/testdata/function/definition/order.carbon
  46. 1 1
      toolchain/check/testdata/function/definition/params_one.carbon
  47. 1 1
      toolchain/check/testdata/function/definition/params_one_comma.carbon
  48. 1 1
      toolchain/check/testdata/function/definition/params_two.carbon
  49. 1 1
      toolchain/check/testdata/function/definition/params_two_comma.carbon
  50. 1 1
      toolchain/check/testdata/function/definition/params_zero.carbon
  51. 1 1
      toolchain/check/testdata/function/definition/same_param_name.carbon
  52. 1 1
      toolchain/check/testdata/if/else.carbon
  53. 1 1
      toolchain/check/testdata/if/fail_reachable_fallthrough.carbon
  54. 1 1
      toolchain/check/testdata/if/fail_scope.carbon
  55. 1 1
      toolchain/check/testdata/if/no_else.carbon
  56. 1 1
      toolchain/check/testdata/if/unreachable_fallthrough.carbon
  57. 1 1
      toolchain/check/testdata/if_expression/basic.carbon
  58. 1 1
      toolchain/check/testdata/if_expression/constant_condition.carbon
  59. 1 1
      toolchain/check/testdata/if_expression/control_flow.carbon
  60. 1 1
      toolchain/check/testdata/if_expression/nested.carbon
  61. 1 1
      toolchain/check/testdata/index/array_element_access.carbon
  62. 1 1
      toolchain/check/testdata/index/fail_array_large_index.carbon
  63. 1 1
      toolchain/check/testdata/index/fail_array_non_int_indexing.carbon
  64. 1 1
      toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon
  65. 1 1
      toolchain/check/testdata/index/fail_empty_tuple_access.carbon
  66. 1 1
      toolchain/check/testdata/index/fail_name_not_found.carbon
  67. 1 1
      toolchain/check/testdata/index/fail_negative_indexing.carbon
  68. 1 1
      toolchain/check/testdata/index/fail_non_deterministic_type.carbon
  69. 1 1
      toolchain/check/testdata/index/fail_non_tuple_access.carbon
  70. 1 1
      toolchain/check/testdata/index/fail_tuple_large_index.carbon
  71. 1 1
      toolchain/check/testdata/index/fail_tuple_non_int_indexing.carbon
  72. 1 1
      toolchain/check/testdata/index/fail_tuple_out_of_bound_access.carbon
  73. 1 1
      toolchain/check/testdata/index/tuple_element_access.carbon
  74. 1 1
      toolchain/check/testdata/index/tuple_return_value_access.carbon
  75. 1 1
      toolchain/check/testdata/ir/duplicate_name_same_line.carbon
  76. 1 1
      toolchain/check/testdata/namespace/fail_duplicate.carbon
  77. 1 1
      toolchain/check/testdata/namespace/fail_unresolved_scope.carbon
  78. 1 1
      toolchain/check/testdata/namespace/function.carbon
  79. 1 1
      toolchain/check/testdata/namespace/nested.carbon
  80. 1 1
      toolchain/check/testdata/operators/and.carbon
  81. 1 1
      toolchain/check/testdata/operators/assignment.carbon
  82. 1 1
      toolchain/check/testdata/operators/binary_op.carbon
  83. 1 1
      toolchain/check/testdata/operators/fail_assigment_to_non_assignable.carbon
  84. 1 1
      toolchain/check/testdata/operators/fail_type_mismatch.carbon
  85. 1 1
      toolchain/check/testdata/operators/fail_type_mismatch_assignment.carbon
  86. 1 1
      toolchain/check/testdata/operators/fail_type_mismatch_once.carbon
  87. 1 1
      toolchain/check/testdata/operators/or.carbon
  88. 1 1
      toolchain/check/testdata/operators/unary_op.carbon
  89. 1 1
      toolchain/check/testdata/pointer/address_of_deref.carbon
  90. 1 1
      toolchain/check/testdata/pointer/address_of_lvalue.carbon
  91. 1 1
      toolchain/check/testdata/pointer/basic.carbon
  92. 1 1
      toolchain/check/testdata/pointer/fail_address_of_value.carbon
  93. 1 1
      toolchain/check/testdata/pointer/fail_dereference_not_pointer.carbon
  94. 1 1
      toolchain/check/testdata/pointer/fail_dereference_type.carbon
  95. 1 1
      toolchain/check/testdata/pointer/fail_type_mismatch.carbon
  96. 1 1
      toolchain/check/testdata/pointer/nested_const.carbon
  97. 1 1
      toolchain/check/testdata/pointer/types.carbon
  98. 1 1
      toolchain/check/testdata/return/code_after_return.carbon
  99. 1 1
      toolchain/check/testdata/return/code_after_return_value.carbon
  100. 1 1
      toolchain/check/testdata/return/fail_missing_return.carbon

+ 1 - 1
toolchain/base/yaml_test_helpers.h

@@ -132,7 +132,7 @@ MATCHER_P(Sequence, contents,
 // Same as testing::VariantWith<ScalarValue>(contents).
 // NOLINTNEXTLINE: Expands from GoogleTest.
 MATCHER_P(Scalar, value,
-          "has scalar value " + ::testing::PrintToString(value)) {
+          "has scalar value " + DescribeMatcher<std::string>(value)) {
   ::testing::Matcher<ScalarValue> value_matcher = value;
 
   if (auto* map = std::get_if<ScalarValue>(&arg)) {

+ 1 - 1
toolchain/check/check.cpp

@@ -15,7 +15,7 @@ auto CheckParseTree(const SemIR::File& builtin_ir,
                     const Lex::TokenizedBuffer& tokens,
                     const Parse::Tree& parse_tree, DiagnosticConsumer& consumer,
                     llvm::raw_ostream* vlog_stream) -> SemIR::File {
-  auto semantics_ir = SemIR::File(&builtin_ir);
+  auto semantics_ir = SemIR::File(tokens.filename().str(), &builtin_ir);
 
   Parse::NodeLocationTranslator translator(&tokens, &parse_tree);
   ErrorTrackingDiagnosticConsumer err_tracker(consumer);

+ 1 - 1
toolchain/check/testdata/array/assign_return_value.carbon

@@ -10,7 +10,7 @@ fn Run() {
   var t: [i32; 1] = F();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "assign_return_value.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT:   %.loc9 = fn_decl @Run
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/array/assign_var.carbon

@@ -7,7 +7,7 @@
 var a: (i32, i32, i32) = (1, 2, 3);
 var b: [i32; 3] = a;
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "assign_var.carbon" {
 // CHECK:STDOUT:   %.loc7_9: type = stub_reference i32
 // CHECK:STDOUT:   %.loc7_14: type = stub_reference i32
 // CHECK:STDOUT:   %.loc7_19: type = stub_reference i32

+ 1 - 1
toolchain/check/testdata/array/base.carbon

@@ -8,7 +8,7 @@ var a: [i32; 1] = (1,);
 var b: [f64; 2] = (11.1, 2.2,);
 var c: [(); 5] = ((), (), (), (), (),);
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "base.carbon" {
 // CHECK:STDOUT:   %.loc7_14: i32 = int_literal 1
 // CHECK:STDOUT:   %.loc7_15: type = array_type %.loc7_14, i32
 // CHECK:STDOUT:   %a: ref [i32; 1] = var "a"

+ 1 - 1
toolchain/check/testdata/array/fail_bound_overflow.carbon

@@ -9,7 +9,7 @@
 // CHECK:STDERR:                                ^
 var a: [1; 39999999999999999993];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_bound_overflow.carbon" {
 // CHECK:STDOUT:   %.loc10_9: i32 = int_literal 1
 // CHECK:STDOUT:   %.loc10_12: i32 = int_literal 39999999999999999993
 // CHECK:STDOUT:   %a: ref <error> = var "a"

+ 1 - 1
toolchain/check/testdata/array/fail_invalid_type.carbon

@@ -9,7 +9,7 @@
 // CHECK:STDERR:             ^
 var a: [1; 1];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_invalid_type.carbon" {
 // CHECK:STDOUT:   %.loc10_9: i32 = int_literal 1
 // CHECK:STDOUT:   %.loc10_12: i32 = int_literal 1
 // CHECK:STDOUT:   %.loc10_13: type = array_type %.loc10_12, <error>

+ 1 - 1
toolchain/check/testdata/array/fail_out_of_bound.carbon

@@ -9,7 +9,7 @@
 // CHECK:STDERR:                            ^
 var a: [i32; 1] = (1, 2, 3);
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_out_of_bound.carbon" {
 // CHECK:STDOUT:   %.loc10_14: i32 = int_literal 1
 // CHECK:STDOUT:   %.loc10_15: type = array_type %.loc10_14, i32
 // CHECK:STDOUT:   %a: ref [i32; 1] = var "a"

+ 1 - 1
toolchain/check/testdata/array/fail_type_mismatch.carbon

@@ -9,7 +9,7 @@
 // CHECK:STDERR:                           ^
 var a: [i32; 2] = (1, 2.5);
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_type_mismatch.carbon" {
 // CHECK:STDOUT:   %.loc10_14: i32 = int_literal 2
 // CHECK:STDOUT:   %.loc10_15: type = array_type %.loc10_14, i32
 // CHECK:STDOUT:   %a: ref [i32; 2] = var "a"

+ 1 - 1
toolchain/check/testdata/array/fail_undefined_bound.carbon

@@ -9,5 +9,5 @@
 // CHECK:STDERR:              ^
 var a: [i32; ];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_undefined_bound.carbon" {
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/array/nine_elements.carbon

@@ -6,7 +6,7 @@
 
 var a: [i32; 9] = (1, 2, 3, 4, 5, 6, 7, 8, 9);
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "nine_elements.carbon" {
 // CHECK:STDOUT:   %.loc7_14: i32 = int_literal 9
 // CHECK:STDOUT:   %.loc7_15: type = array_type %.loc7_14, i32
 // CHECK:STDOUT:   %a: ref [i32; 9] = var "a"

+ 27 - 25
toolchain/check/testdata/basics/builtin_nodes.carbon

@@ -6,28 +6,30 @@
 //
 // AUTOUPDATE
 
-// CHECK:STDOUT: cross_reference_irs_size: 1
-// CHECK:STDOUT: functions: [
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: integer_literals: [
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: real_literals: [
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: strings: [
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: types: [
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: type_blocks: [
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: nodes: [
-// CHECK:STDOUT:   {kind: CrossReference, arg0: ir0, arg1: nodeTypeType, type: typeTypeType},
-// CHECK:STDOUT:   {kind: CrossReference, arg0: ir0, arg1: nodeError, type: typeError},
-// CHECK:STDOUT:   {kind: CrossReference, arg0: ir0, arg1: nodeBoolType, type: typeTypeType},
-// CHECK:STDOUT:   {kind: CrossReference, arg0: ir0, arg1: nodeIntegerType, type: typeTypeType},
-// CHECK:STDOUT:   {kind: CrossReference, arg0: ir0, arg1: nodeFloatingPointType, type: typeTypeType},
-// CHECK:STDOUT:   {kind: CrossReference, arg0: ir0, arg1: nodeStringType, type: typeTypeType},
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: node_blocks: [
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT: ]
+// CHECK:STDOUT: - filename: builtin_nodes.carbon
+// CHECK:STDOUT:   sem_ir:
+// CHECK:STDOUT:   - cross_reference_irs_size: 1
+// CHECK:STDOUT:     functions: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     integer_literals: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     real_literals: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     strings: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     types: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     type_blocks: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     nodes: [
+// CHECK:STDOUT:       {kind: CrossReference, arg0: ir0, arg1: nodeTypeType, type: typeTypeType},
+// CHECK:STDOUT:       {kind: CrossReference, arg0: ir0, arg1: nodeError, type: typeError},
+// CHECK:STDOUT:       {kind: CrossReference, arg0: ir0, arg1: nodeBoolType, type: typeTypeType},
+// CHECK:STDOUT:       {kind: CrossReference, arg0: ir0, arg1: nodeIntegerType, type: typeTypeType},
+// CHECK:STDOUT:       {kind: CrossReference, arg0: ir0, arg1: nodeFloatingPointType, type: typeTypeType},
+// CHECK:STDOUT:       {kind: CrossReference, arg0: ir0, arg1: nodeStringType, type: typeTypeType},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     node_blocks: [
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:     ]

+ 1 - 1
toolchain/check/testdata/basics/builtin_types.carbon

@@ -9,7 +9,7 @@ var test_f64: f64 = 0.1;
 var test_str: String = "Test";
 var test_type: type = i32;
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "builtin_types.carbon" {
 // CHECK:STDOUT:   %test_i32: ref i32 = var "test_i32"
 // CHECK:STDOUT:   %.loc7: i32 = int_literal 0
 // CHECK:STDOUT:   assign %test_i32, %.loc7

+ 1 - 1
toolchain/check/testdata/basics/empty.carbon

@@ -4,5 +4,5 @@
 //
 // AUTOUPDATE
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "empty.carbon" {
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/basics/empty_decl.carbon

@@ -6,5 +6,5 @@
 
 ;
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "empty_decl.carbon" {
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/basics/fail_name_lookup.carbon

@@ -11,7 +11,7 @@ fn Main() {
   x;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_name_lookup.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Main
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/basics/fail_non_type_as_type.carbon

@@ -9,7 +9,7 @@
 // CHECK:STDERR:                 ^
 var x: type = 42;
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_non_type_as_type.carbon" {
 // CHECK:STDOUT:   %x: ref type = var "x"
 // CHECK:STDOUT:   %.loc10: i32 = int_literal 42
 // CHECK:STDOUT:   assign %x, <error>

+ 1 - 1
toolchain/check/testdata/basics/fail_qualifier_unsupported.carbon

@@ -10,7 +10,7 @@ var x: i32;
 // CHECK:STDERR:               ^
 var y: i32 = x.b;
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_qualifier_unsupported.carbon" {
 // CHECK:STDOUT:   %x: ref i32 = var "x"
 // CHECK:STDOUT:   %y: ref i32 = var "y"
 // CHECK:STDOUT:   assign %y, <error>

+ 27 - 0
toolchain/check/testdata/basics/multifile.carbon

@@ -0,0 +1,27 @@
+// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
+// Exceptions. See /LICENSE for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+// AUTOUPDATE
+
+// CHECK:STDOUT: file "a.carbon" {
+// CHECK:STDOUT:   %.loc1 = fn_decl @A
+// CHECK:STDOUT: }
+// CHECK:STDOUT:
+// CHECK:STDOUT: fn @A() {
+// CHECK:STDOUT: !entry:
+// CHECK:STDOUT:   return
+// CHECK:STDOUT: }
+// CHECK:STDOUT: file "b.carbon" {
+// CHECK:STDOUT:   %.loc1 = fn_decl @B
+// CHECK:STDOUT: }
+// CHECK:STDOUT:
+// CHECK:STDOUT: fn @B() {
+// CHECK:STDOUT: !entry:
+// CHECK:STDOUT:   return
+// CHECK:STDOUT: }
+// --- a.carbon
+fn A() {}
+
+// --- b.carbon
+fn B() {}

+ 95 - 0
toolchain/check/testdata/basics/multifile_raw_and_textual_ir.carbon

@@ -0,0 +1,95 @@
+// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
+// Exceptions. See /LICENSE for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+// ARGS: compile --phase=check --dump-semantics-ir --dump-raw-semantics-ir %s
+//
+// Check that we can combine textual IR and raw IR dumping in one compile.
+//
+// AUTOUPDATE
+
+// CHECK:STDOUT: - filename: a.carbon
+// CHECK:STDOUT:   sem_ir:
+// CHECK:STDOUT:   - cross_reference_irs_size: 1
+// CHECK:STDOUT:     functions: [
+// CHECK:STDOUT:       {name: str0, param_refs: block0, body: [block2]},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     integer_literals: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     real_literals: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     strings: [
+// CHECK:STDOUT:       A,
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     types: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     type_blocks: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     nodes: [
+// CHECK:STDOUT:       {kind: FunctionDeclaration, arg0: function0},
+// CHECK:STDOUT:       {kind: Return},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     node_blocks: [
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+0,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+1,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:
+// CHECK:STDOUT: file "a.carbon" {
+// CHECK:STDOUT:   %.loc1 = fn_decl @A
+// CHECK:STDOUT: }
+// CHECK:STDOUT:
+// CHECK:STDOUT: fn @A() {
+// CHECK:STDOUT: !entry:
+// CHECK:STDOUT:   return
+// CHECK:STDOUT: }
+// CHECK:STDOUT: - filename: b.carbon
+// CHECK:STDOUT:   sem_ir:
+// CHECK:STDOUT:   - cross_reference_irs_size: 1
+// CHECK:STDOUT:     functions: [
+// CHECK:STDOUT:       {name: str0, param_refs: block0, body: [block2]},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     integer_literals: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     real_literals: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     strings: [
+// CHECK:STDOUT:       B,
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     types: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     type_blocks: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     nodes: [
+// CHECK:STDOUT:       {kind: FunctionDeclaration, arg0: function0},
+// CHECK:STDOUT:       {kind: Return},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     node_blocks: [
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+0,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+1,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:
+// CHECK:STDOUT: file "b.carbon" {
+// CHECK:STDOUT:   %.loc1 = fn_decl @B
+// CHECK:STDOUT: }
+// CHECK:STDOUT:
+// CHECK:STDOUT: fn @B() {
+// CHECK:STDOUT: !entry:
+// CHECK:STDOUT:   return
+// CHECK:STDOUT: }
+// --- a.carbon
+fn A() {}
+
+// --- b.carbon
+fn B() {}

+ 77 - 0
toolchain/check/testdata/basics/multifile_raw_ir.carbon

@@ -0,0 +1,77 @@
+// Part of the Carbon Language project, under the Apache License v2.0 with LLVM
+// Exceptions. See /LICENSE for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+// ARGS: compile --phase=check --dump-raw-semantics-ir %s
+//
+// Check that raw IR dumping works as expected.
+//
+// AUTOUPDATE
+
+// CHECK:STDOUT: - filename: a.carbon
+// CHECK:STDOUT:   sem_ir:
+// CHECK:STDOUT:   - cross_reference_irs_size: 1
+// CHECK:STDOUT:     functions: [
+// CHECK:STDOUT:       {name: str0, param_refs: block0, body: [block2]},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     integer_literals: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     real_literals: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     strings: [
+// CHECK:STDOUT:       A,
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     types: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     type_blocks: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     nodes: [
+// CHECK:STDOUT:       {kind: FunctionDeclaration, arg0: function0},
+// CHECK:STDOUT:       {kind: Return},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     node_blocks: [
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+0,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+1,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT: - filename: b.carbon
+// CHECK:STDOUT:   sem_ir:
+// CHECK:STDOUT:   - cross_reference_irs_size: 1
+// CHECK:STDOUT:     functions: [
+// CHECK:STDOUT:       {name: str0, param_refs: block0, body: [block2]},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     integer_literals: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     real_literals: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     strings: [
+// CHECK:STDOUT:       B,
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     types: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     type_blocks: [
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     nodes: [
+// CHECK:STDOUT:       {kind: FunctionDeclaration, arg0: function0},
+// CHECK:STDOUT:       {kind: Return},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     node_blocks: [
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+0,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+1,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:     ]
+// --- a.carbon
+fn A() {}
+
+// --- b.carbon
+fn B() {}

+ 1 - 1
toolchain/check/testdata/basics/numeric_literals.carbon

@@ -25,7 +25,7 @@ fn F() {
   );
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "numeric_literals.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/basics/parens.carbon

@@ -6,7 +6,7 @@
 
 var test_i32: i32 = ((1) + (2));
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "parens.carbon" {
 // CHECK:STDOUT:   %test_i32: ref i32 = var "test_i32"
 // CHECK:STDOUT:   %.loc7_23: i32 = int_literal 1
 // CHECK:STDOUT:   %.loc7_29: i32 = int_literal 2

+ 87 - 85
toolchain/check/testdata/basics/raw_and_textual_ir.carbon

@@ -12,92 +12,94 @@ fn Foo(n: i32) -> (i32, f64) {
   return (n + 2, 3.4);
 }
 
-// CHECK:STDOUT: cross_reference_irs_size: 1
-// CHECK:STDOUT: functions: [
-// CHECK:STDOUT:   {name: str0, param_refs: block2, return_type: type3, return_slot: node+6, body: [block5]},
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: integer_literals: [
-// CHECK:STDOUT:   2,
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: real_literals: [
-// CHECK:STDOUT:   {mantissa: 34, exponent: -1, is_decimal: 1},
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: strings: [
-// CHECK:STDOUT:   Foo,
-// CHECK:STDOUT:   n,
-// CHECK:STDOUT:   return,
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: types: [
-// CHECK:STDOUT:   nodeIntegerType,
-// CHECK:STDOUT:   node+3,
-// CHECK:STDOUT:   nodeFloatingPointType,
-// CHECK:STDOUT:   node+5,
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: type_blocks: [
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     typeTypeType,
-// CHECK:STDOUT:     typeTypeType,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     type0,
-// CHECK:STDOUT:     type2,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: nodes: [
-// CHECK:STDOUT:   {kind: Parameter, arg0: str1, type: type0},
-// CHECK:STDOUT:   {kind: StubReference, arg0: nodeIntegerType, type: typeTypeType},
-// CHECK:STDOUT:   {kind: StubReference, arg0: nodeFloatingPointType, type: typeTypeType},
-// CHECK:STDOUT:   {kind: TupleType, arg0: typeBlock0, type: typeTypeType},
-// CHECK:STDOUT:   {kind: TupleLiteral, arg0: block3, type: type1},
-// CHECK:STDOUT:   {kind: TupleType, arg0: typeBlock1, type: typeTypeType},
-// CHECK:STDOUT:   {kind: VarStorage, arg0: str2, type: type3},
-// CHECK:STDOUT:   {kind: FunctionDeclaration, arg0: function0},
-// CHECK:STDOUT:   {kind: IntegerLiteral, arg0: int0, type: type0},
-// CHECK:STDOUT:   {kind: BinaryOperatorAdd, arg0: node+0, arg1: node+8, type: type0},
-// CHECK:STDOUT:   {kind: StubReference, arg0: node+9, type: type0},
-// CHECK:STDOUT:   {kind: RealLiteral, arg0: real0, type: type2},
-// CHECK:STDOUT:   {kind: StubReference, arg0: node+11, type: type2},
-// CHECK:STDOUT:   {kind: TupleLiteral, arg0: block6, type: type3},
-// CHECK:STDOUT:   {kind: ReturnExpression, arg0: node+13},
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: node_blocks: [
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+0,
-// CHECK:STDOUT:     node+1,
-// CHECK:STDOUT:     node+2,
-// CHECK:STDOUT:     node+3,
-// CHECK:STDOUT:     node+4,
-// CHECK:STDOUT:     node+5,
-// CHECK:STDOUT:     node+6,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+0,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+1,
-// CHECK:STDOUT:     node+2,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+7,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+8,
-// CHECK:STDOUT:     node+9,
-// CHECK:STDOUT:     node+10,
-// CHECK:STDOUT:     node+11,
-// CHECK:STDOUT:     node+12,
-// CHECK:STDOUT:     node+13,
-// CHECK:STDOUT:     node+14,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+10,
-// CHECK:STDOUT:     node+12,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT: ]
+// CHECK:STDOUT: - filename: raw_and_textual_ir.carbon
+// CHECK:STDOUT:   sem_ir:
+// CHECK:STDOUT:   - cross_reference_irs_size: 1
+// CHECK:STDOUT:     functions: [
+// CHECK:STDOUT:       {name: str0, param_refs: block2, return_type: type3, return_slot: node+6, body: [block5]},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     integer_literals: [
+// CHECK:STDOUT:       2,
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     real_literals: [
+// CHECK:STDOUT:       {mantissa: 34, exponent: -1, is_decimal: 1},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     strings: [
+// CHECK:STDOUT:       Foo,
+// CHECK:STDOUT:       n,
+// CHECK:STDOUT:       return,
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     types: [
+// CHECK:STDOUT:       nodeIntegerType,
+// CHECK:STDOUT:       node+3,
+// CHECK:STDOUT:       nodeFloatingPointType,
+// CHECK:STDOUT:       node+5,
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     type_blocks: [
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         typeTypeType,
+// CHECK:STDOUT:         typeTypeType,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         type0,
+// CHECK:STDOUT:         type2,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     nodes: [
+// CHECK:STDOUT:       {kind: Parameter, arg0: str1, type: type0},
+// CHECK:STDOUT:       {kind: StubReference, arg0: nodeIntegerType, type: typeTypeType},
+// CHECK:STDOUT:       {kind: StubReference, arg0: nodeFloatingPointType, type: typeTypeType},
+// CHECK:STDOUT:       {kind: TupleType, arg0: typeBlock0, type: typeTypeType},
+// CHECK:STDOUT:       {kind: TupleLiteral, arg0: block3, type: type1},
+// CHECK:STDOUT:       {kind: TupleType, arg0: typeBlock1, type: typeTypeType},
+// CHECK:STDOUT:       {kind: VarStorage, arg0: str2, type: type3},
+// CHECK:STDOUT:       {kind: FunctionDeclaration, arg0: function0},
+// CHECK:STDOUT:       {kind: IntegerLiteral, arg0: int0, type: type0},
+// CHECK:STDOUT:       {kind: BinaryOperatorAdd, arg0: node+0, arg1: node+8, type: type0},
+// CHECK:STDOUT:       {kind: StubReference, arg0: node+9, type: type0},
+// CHECK:STDOUT:       {kind: RealLiteral, arg0: real0, type: type2},
+// CHECK:STDOUT:       {kind: StubReference, arg0: node+11, type: type2},
+// CHECK:STDOUT:       {kind: TupleLiteral, arg0: block6, type: type3},
+// CHECK:STDOUT:       {kind: ReturnExpression, arg0: node+13},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     node_blocks: [
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+0,
+// CHECK:STDOUT:         node+1,
+// CHECK:STDOUT:         node+2,
+// CHECK:STDOUT:         node+3,
+// CHECK:STDOUT:         node+4,
+// CHECK:STDOUT:         node+5,
+// CHECK:STDOUT:         node+6,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+0,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+1,
+// CHECK:STDOUT:         node+2,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+7,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+8,
+// CHECK:STDOUT:         node+9,
+// CHECK:STDOUT:         node+10,
+// CHECK:STDOUT:         node+11,
+// CHECK:STDOUT:         node+12,
+// CHECK:STDOUT:         node+13,
+// CHECK:STDOUT:         node+14,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+10,
+// CHECK:STDOUT:         node+12,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:     ]
 // CHECK:STDOUT:
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "raw_and_textual_ir.carbon" {
 // CHECK:STDOUT:   %.loc11 = fn_decl @Foo
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 86 - 84
toolchain/check/testdata/basics/raw_ir.carbon

@@ -12,87 +12,89 @@ fn Foo(n: i32) -> (i32, f64) {
   return (n + 2, 3.4);
 }
 
-// CHECK:STDOUT: cross_reference_irs_size: 1
-// CHECK:STDOUT: functions: [
-// CHECK:STDOUT:   {name: str0, param_refs: block2, return_type: type3, return_slot: node+6, body: [block5]},
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: integer_literals: [
-// CHECK:STDOUT:   2,
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: real_literals: [
-// CHECK:STDOUT:   {mantissa: 34, exponent: -1, is_decimal: 1},
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: strings: [
-// CHECK:STDOUT:   Foo,
-// CHECK:STDOUT:   n,
-// CHECK:STDOUT:   return,
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: types: [
-// CHECK:STDOUT:   nodeIntegerType,
-// CHECK:STDOUT:   node+3,
-// CHECK:STDOUT:   nodeFloatingPointType,
-// CHECK:STDOUT:   node+5,
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: type_blocks: [
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     typeTypeType,
-// CHECK:STDOUT:     typeTypeType,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     type0,
-// CHECK:STDOUT:     type2,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: nodes: [
-// CHECK:STDOUT:   {kind: Parameter, arg0: str1, type: type0},
-// CHECK:STDOUT:   {kind: StubReference, arg0: nodeIntegerType, type: typeTypeType},
-// CHECK:STDOUT:   {kind: StubReference, arg0: nodeFloatingPointType, type: typeTypeType},
-// CHECK:STDOUT:   {kind: TupleType, arg0: typeBlock0, type: typeTypeType},
-// CHECK:STDOUT:   {kind: TupleLiteral, arg0: block3, type: type1},
-// CHECK:STDOUT:   {kind: TupleType, arg0: typeBlock1, type: typeTypeType},
-// CHECK:STDOUT:   {kind: VarStorage, arg0: str2, type: type3},
-// CHECK:STDOUT:   {kind: FunctionDeclaration, arg0: function0},
-// CHECK:STDOUT:   {kind: IntegerLiteral, arg0: int0, type: type0},
-// CHECK:STDOUT:   {kind: BinaryOperatorAdd, arg0: node+0, arg1: node+8, type: type0},
-// CHECK:STDOUT:   {kind: StubReference, arg0: node+9, type: type0},
-// CHECK:STDOUT:   {kind: RealLiteral, arg0: real0, type: type2},
-// CHECK:STDOUT:   {kind: StubReference, arg0: node+11, type: type2},
-// CHECK:STDOUT:   {kind: TupleLiteral, arg0: block6, type: type3},
-// CHECK:STDOUT:   {kind: ReturnExpression, arg0: node+13},
-// CHECK:STDOUT: ]
-// CHECK:STDOUT: node_blocks: [
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+0,
-// CHECK:STDOUT:     node+1,
-// CHECK:STDOUT:     node+2,
-// CHECK:STDOUT:     node+3,
-// CHECK:STDOUT:     node+4,
-// CHECK:STDOUT:     node+5,
-// CHECK:STDOUT:     node+6,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+0,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+1,
-// CHECK:STDOUT:     node+2,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+7,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+8,
-// CHECK:STDOUT:     node+9,
-// CHECK:STDOUT:     node+10,
-// CHECK:STDOUT:     node+11,
-// CHECK:STDOUT:     node+12,
-// CHECK:STDOUT:     node+13,
-// CHECK:STDOUT:     node+14,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT:   [
-// CHECK:STDOUT:     node+10,
-// CHECK:STDOUT:     node+12,
-// CHECK:STDOUT:   ],
-// CHECK:STDOUT: ]
+// CHECK:STDOUT: - filename: raw_ir.carbon
+// CHECK:STDOUT:   sem_ir:
+// CHECK:STDOUT:   - cross_reference_irs_size: 1
+// CHECK:STDOUT:     functions: [
+// CHECK:STDOUT:       {name: str0, param_refs: block2, return_type: type3, return_slot: node+6, body: [block5]},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     integer_literals: [
+// CHECK:STDOUT:       2,
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     real_literals: [
+// CHECK:STDOUT:       {mantissa: 34, exponent: -1, is_decimal: 1},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     strings: [
+// CHECK:STDOUT:       Foo,
+// CHECK:STDOUT:       n,
+// CHECK:STDOUT:       return,
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     types: [
+// CHECK:STDOUT:       nodeIntegerType,
+// CHECK:STDOUT:       node+3,
+// CHECK:STDOUT:       nodeFloatingPointType,
+// CHECK:STDOUT:       node+5,
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     type_blocks: [
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         typeTypeType,
+// CHECK:STDOUT:         typeTypeType,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         type0,
+// CHECK:STDOUT:         type2,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     nodes: [
+// CHECK:STDOUT:       {kind: Parameter, arg0: str1, type: type0},
+// CHECK:STDOUT:       {kind: StubReference, arg0: nodeIntegerType, type: typeTypeType},
+// CHECK:STDOUT:       {kind: StubReference, arg0: nodeFloatingPointType, type: typeTypeType},
+// CHECK:STDOUT:       {kind: TupleType, arg0: typeBlock0, type: typeTypeType},
+// CHECK:STDOUT:       {kind: TupleLiteral, arg0: block3, type: type1},
+// CHECK:STDOUT:       {kind: TupleType, arg0: typeBlock1, type: typeTypeType},
+// CHECK:STDOUT:       {kind: VarStorage, arg0: str2, type: type3},
+// CHECK:STDOUT:       {kind: FunctionDeclaration, arg0: function0},
+// CHECK:STDOUT:       {kind: IntegerLiteral, arg0: int0, type: type0},
+// CHECK:STDOUT:       {kind: BinaryOperatorAdd, arg0: node+0, arg1: node+8, type: type0},
+// CHECK:STDOUT:       {kind: StubReference, arg0: node+9, type: type0},
+// CHECK:STDOUT:       {kind: RealLiteral, arg0: real0, type: type2},
+// CHECK:STDOUT:       {kind: StubReference, arg0: node+11, type: type2},
+// CHECK:STDOUT:       {kind: TupleLiteral, arg0: block6, type: type3},
+// CHECK:STDOUT:       {kind: ReturnExpression, arg0: node+13},
+// CHECK:STDOUT:     ]
+// CHECK:STDOUT:     node_blocks: [
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+0,
+// CHECK:STDOUT:         node+1,
+// CHECK:STDOUT:         node+2,
+// CHECK:STDOUT:         node+3,
+// CHECK:STDOUT:         node+4,
+// CHECK:STDOUT:         node+5,
+// CHECK:STDOUT:         node+6,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+0,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+1,
+// CHECK:STDOUT:         node+2,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+7,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+8,
+// CHECK:STDOUT:         node+9,
+// CHECK:STDOUT:         node+10,
+// CHECK:STDOUT:         node+11,
+// CHECK:STDOUT:         node+12,
+// CHECK:STDOUT:         node+13,
+// CHECK:STDOUT:         node+14,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:       [
+// CHECK:STDOUT:         node+10,
+// CHECK:STDOUT:         node+12,
+// CHECK:STDOUT:       ],
+// CHECK:STDOUT:     ]

+ 1 - 1
toolchain/check/testdata/basics/textual_ir.carbon

@@ -12,7 +12,7 @@ fn Foo(n: i32) -> (i32, f64) {
   return (n + 2, 3.4);
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "textual_ir.carbon" {
 // CHECK:STDOUT:   %.loc11 = fn_decl @Foo
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/const/collapse.carbon

@@ -12,7 +12,7 @@ fn F(p: const i32**) -> const (const i32)** {
   return p;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "collapse.carbon" {
 // CHECK:STDOUT:   %.loc11 = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/const/fail_collapse.carbon

@@ -14,7 +14,7 @@ fn G(p: const (const i32)**) -> i32** {
   return p;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_collapse.carbon" {
 // CHECK:STDOUT:   %.loc10 = fn_decl @G
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/expression_category/in_place_tuple_initialization.carbon

@@ -16,7 +16,7 @@ fn H() -> i32 {
   return G()[0];
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "in_place_tuple_initialization.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT:   %.loc9 = fn_decl @G
 // CHECK:STDOUT:   %.loc15 = fn_decl @H

+ 1 - 1
toolchain/check/testdata/function/call/empty_struct.carbon

@@ -12,7 +12,7 @@ fn Main() {
   Echo({});
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "empty_struct.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Echo
 // CHECK:STDOUT:   %.loc11 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/empty_tuple.carbon

@@ -12,7 +12,7 @@ fn Main() {
   Echo(());
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "empty_tuple.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Echo
 // CHECK:STDOUT:   %.loc11 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/fail_param_count.carbon

@@ -55,7 +55,7 @@ fn Main() {
   Run2(0);
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_param_count.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Run0
 // CHECK:STDOUT:   %.loc8 = fn_decl @Run1
 // CHECK:STDOUT:   %.loc9 = fn_decl @Run2

+ 1 - 1
toolchain/check/testdata/function/call/fail_param_type.carbon

@@ -16,7 +16,7 @@ fn Main() {
   Run(1.0);
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_param_type.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Run
 // CHECK:STDOUT:   %.loc9 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/fail_return_type_mismatch.carbon

@@ -13,7 +13,7 @@ fn Run() {
   var x: i32 = Foo();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_return_type_mismatch.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT:   %.loc9 = fn_decl @Run
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/i32.carbon

@@ -12,7 +12,7 @@ fn Main() {
   var b: i32 = Echo(1);
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "i32.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Echo
 // CHECK:STDOUT:   %.loc11 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/more_param_ir.carbon

@@ -11,7 +11,7 @@ fn Main() {
   Foo(1 + 2 + 3, 4 + 5, 6);
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "more_param_ir.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT:   %.loc9 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/params_one.carbon

@@ -10,7 +10,7 @@ fn Main() {
   Foo(1);
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "params_one.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT:   %.loc9 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/params_one_comma.carbon

@@ -11,7 +11,7 @@ fn Main() {
   Foo(1,);
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "params_one_comma.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT:   %.loc9 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/params_two.carbon

@@ -10,7 +10,7 @@ fn Main() {
   Foo(1, 2);
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "params_two.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT:   %.loc9 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/params_two_comma.carbon

@@ -11,7 +11,7 @@ fn Main() {
   Foo(1, 2,);
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "params_two_comma.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT:   %.loc9 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/params_zero.carbon

@@ -10,7 +10,7 @@ fn Main() {
   Foo();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "params_zero.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT:   %.loc9 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/call/return_implicit.carbon

@@ -11,7 +11,7 @@ fn Main() {
   var b: () = MakeImplicitEmptyTuple();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "return_implicit.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @MakeImplicitEmptyTuple
 // CHECK:STDOUT:   %.loc10 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/declaration/simple.carbon

@@ -8,7 +8,7 @@ fn F();
 
 fn G() { F(); }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "simple.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT:   %.loc9 = fn_decl @G
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/function/definition/fail_param_name_conflict.carbon

@@ -12,7 +12,7 @@
 // CHECK:STDERR:        ^
 fn Bar(a: i32, a: i32) {}
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_param_name_conflict.carbon" {
 // CHECK:STDOUT:   %.loc13 = fn_decl @Bar
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/function/definition/order.carbon

@@ -8,7 +8,7 @@ fn Foo() {}
 fn Bar() {}
 fn Baz() {}
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "order.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT:   %.loc8 = fn_decl @Bar
 // CHECK:STDOUT:   %.loc9 = fn_decl @Baz

+ 1 - 1
toolchain/check/testdata/function/definition/params_one.carbon

@@ -6,7 +6,7 @@
 
 fn Foo(a: i32) {}
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "params_one.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/function/definition/params_one_comma.carbon

@@ -6,7 +6,7 @@
 
 fn Foo(a: i32,) {}
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "params_one_comma.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/function/definition/params_two.carbon

@@ -6,7 +6,7 @@
 
 fn Foo(a: i32, b: i32) {}
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "params_two.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/function/definition/params_two_comma.carbon

@@ -6,7 +6,7 @@
 
 fn Foo(a: i32, b: i32,) {}
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "params_two_comma.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/function/definition/params_zero.carbon

@@ -6,7 +6,7 @@
 
 fn Foo() {}
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "params_zero.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/function/definition/same_param_name.carbon

@@ -7,7 +7,7 @@
 fn Foo(a: i32) {}
 fn Bar(a: i32) {}
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "same_param_name.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Foo
 // CHECK:STDOUT:   %.loc8 = fn_decl @Bar
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/if/else.carbon

@@ -17,7 +17,7 @@ fn If(b: bool) {
   H();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "else.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT:   %.loc8 = fn_decl @G
 // CHECK:STDOUT:   %.loc9 = fn_decl @H

+ 1 - 1
toolchain/check/testdata/if/fail_reachable_fallthrough.carbon

@@ -33,7 +33,7 @@ fn If3(b: bool) -> i32 {
 // CHECK:STDERR: ^
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_reachable_fallthrough.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @If1
 // CHECK:STDOUT:   %.loc17 = fn_decl @If2
 // CHECK:STDOUT:   %.loc27 = fn_decl @If3

+ 1 - 1
toolchain/check/testdata/if/fail_scope.carbon

@@ -15,7 +15,7 @@ fn VarScope(b: bool) -> i32 {
   return n;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_scope.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @VarScope
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/if/no_else.carbon

@@ -14,7 +14,7 @@ fn If(b: bool) {
   G();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "no_else.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT:   %.loc8 = fn_decl @G
 // CHECK:STDOUT:   %.loc10 = fn_decl @If

+ 1 - 1
toolchain/check/testdata/if/unreachable_fallthrough.carbon

@@ -13,7 +13,7 @@ fn If(b: bool) -> i32 {
   // Missing return here is OK.
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "unreachable_fallthrough.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @If
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/if_expression/basic.carbon

@@ -8,7 +8,7 @@ fn F(b: bool, n: i32, m: i32) -> i32 {
   return if b then n + m else m + n;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "basic.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/if_expression/constant_condition.carbon

@@ -15,7 +15,7 @@ fn G() -> i32 {
   return if false then A() else B();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "constant_condition.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @A
 // CHECK:STDOUT:   %.loc8 = fn_decl @B
 // CHECK:STDOUT:   %.loc10 = fn_decl @F

+ 1 - 1
toolchain/check/testdata/if_expression/control_flow.carbon

@@ -11,7 +11,7 @@ fn F(b: bool) -> i32 {
   return if b then A() else B();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "control_flow.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @A
 // CHECK:STDOUT:   %.loc8 = fn_decl @B
 // CHECK:STDOUT:   %.loc10 = fn_decl @F

+ 1 - 1
toolchain/check/testdata/if_expression/nested.carbon

@@ -8,7 +8,7 @@ fn F(a: bool, b: bool, c: bool) -> i32 {
   return if a then if b then 1 else 2 else if c then 3 else 4;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "nested.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/index/array_element_access.carbon

@@ -9,7 +9,7 @@ var b: i32 = 1;
 var c: i32 = a[0];
 var d: i32 = a[b];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "array_element_access.carbon" {
 // CHECK:STDOUT:   %.loc7_14: i32 = int_literal 2
 // CHECK:STDOUT:   %.loc7_15: type = array_type %.loc7_14, i32
 // CHECK:STDOUT:   %a: ref [i32; 2] = var "a"

+ 1 - 1
toolchain/check/testdata/index/fail_array_large_index.carbon

@@ -10,7 +10,7 @@ var a: [i32; 1] = (12,);
 // CHECK:STDERR:                                   ^
 var b: i32 = a[0xFFFFFFFFFFFFFFFFF];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_array_large_index.carbon" {
 // CHECK:STDOUT:   %.loc7_14: i32 = int_literal 1
 // CHECK:STDOUT:   %.loc7_15: type = array_type %.loc7_14, i32
 // CHECK:STDOUT:   %a: ref [i32; 1] = var "a"

+ 1 - 1
toolchain/check/testdata/index/fail_array_non_int_indexing.carbon

@@ -10,7 +10,7 @@ var a: [i32; 1] = (12,);
 // CHECK:STDERR:                ^
 var b: i32 = a[2.6];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_array_non_int_indexing.carbon" {
 // CHECK:STDOUT:   %.loc7_14: i32 = int_literal 1
 // CHECK:STDOUT:   %.loc7_15: type = array_type %.loc7_14, i32
 // CHECK:STDOUT:   %a: ref [i32; 1] = var "a"

+ 1 - 1
toolchain/check/testdata/index/fail_array_out_of_bound_access.carbon

@@ -10,7 +10,7 @@ var a: [i32; 1] = (12,);
 // CHECK:STDERR:                 ^
 var b: i32 = a[2];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_array_out_of_bound_access.carbon" {
 // CHECK:STDOUT:   %.loc7_14: i32 = int_literal 1
 // CHECK:STDOUT:   %.loc7_15: type = array_type %.loc7_14, i32
 // CHECK:STDOUT:   %a: ref [i32; 1] = var "a"

+ 1 - 1
toolchain/check/testdata/index/fail_empty_tuple_access.carbon

@@ -13,7 +13,7 @@ fn Run() {
   F()[0];
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_empty_tuple_access.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT:   %.loc9 = fn_decl @Run
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/index/fail_name_not_found.carbon

@@ -11,7 +11,7 @@ fn Main() {
   var b: i32 = a[0];
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_name_not_found.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Main
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/index/fail_negative_indexing.carbon

@@ -10,5 +10,5 @@ var a: (i32, i32) = (12, 6);
 // CHECK:STDERR:                ^
 var b: i32 = a[-10];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_negative_indexing.carbon" {
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/index/fail_non_deterministic_type.carbon

@@ -11,7 +11,7 @@ var b: i32 = 0;
 // CHECK:STDERR:                 ^
 var c: i32 = a[b];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_non_deterministic_type.carbon" {
 // CHECK:STDOUT:   %.loc7_9: type = stub_reference i32
 // CHECK:STDOUT:   %.loc7_14: type = stub_reference i32
 // CHECK:STDOUT:   %.loc7_17.1: type = tuple_type (type, type)

+ 1 - 1
toolchain/check/testdata/index/fail_non_tuple_access.carbon

@@ -11,7 +11,7 @@ fn Main() {
   0[1];
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_non_tuple_access.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Main
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/index/fail_tuple_large_index.carbon

@@ -11,7 +11,7 @@ var b: (i32,) = a;
 // CHECK:STDERR:                                   ^
 var c: i32 = b[0xFFFFFFFFFFFFFFFFF];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_tuple_large_index.carbon" {
 // CHECK:STDOUT:   %.loc7_9: type = stub_reference i32
 // CHECK:STDOUT:   %.loc7_13.1: type = tuple_type (type)
 // CHECK:STDOUT:   %.loc7_13.2: (type,) = tuple_literal (%.loc7_9)

+ 1 - 1
toolchain/check/testdata/index/fail_tuple_non_int_indexing.carbon

@@ -10,7 +10,7 @@ var a: (i32, i32) = (12, 6);
 // CHECK:STDERR:                   ^
 var b: i32 = a[2.6];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_tuple_non_int_indexing.carbon" {
 // CHECK:STDOUT:   %.loc7_9: type = stub_reference i32
 // CHECK:STDOUT:   %.loc7_14: type = stub_reference i32
 // CHECK:STDOUT:   %.loc7_17.1: type = tuple_type (type, type)

+ 1 - 1
toolchain/check/testdata/index/fail_tuple_out_of_bound_access.carbon

@@ -10,7 +10,7 @@ var a: (i32, i32) = (12, 6);
 // CHECK:STDERR:                 ^
 var b: i32 = a[2];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_tuple_out_of_bound_access.carbon" {
 // CHECK:STDOUT:   %.loc7_9: type = stub_reference i32
 // CHECK:STDOUT:   %.loc7_14: type = stub_reference i32
 // CHECK:STDOUT:   %.loc7_17.1: type = tuple_type (type, type)

+ 1 - 1
toolchain/check/testdata/index/tuple_element_access.carbon

@@ -8,7 +8,7 @@ var a: (i32,) = (12,);
 var b: (i32,) = a;
 var c: i32 = b[0];
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "tuple_element_access.carbon" {
 // CHECK:STDOUT:   %.loc7_9: type = stub_reference i32
 // CHECK:STDOUT:   %.loc7_13.1: type = tuple_type (type)
 // CHECK:STDOUT:   %.loc7_13.2: (type,) = tuple_literal (%.loc7_9)

+ 1 - 1
toolchain/check/testdata/index/tuple_return_value_access.carbon

@@ -10,7 +10,7 @@ fn Run() -> i32 {
   return F()[0];
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "tuple_return_value_access.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT:   %.loc9 = fn_decl @Run
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/ir/duplicate_name_same_line.carbon

@@ -6,7 +6,7 @@
 
 fn A() { var n: i32 = 1; if (true) { var n: i32 = 2; } }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "duplicate_name_same_line.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @A
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/namespace/fail_duplicate.carbon

@@ -18,7 +18,7 @@ fn Foo.Baz() {
 fn Foo.Baz() {
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_duplicate.carbon" {
 // CHECK:STDOUT:   %.loc7 = namespace {.Baz = %.loc9}
 // CHECK:STDOUT:   %.loc9 = fn_decl @Baz
 // CHECK:STDOUT:   %.loc18 = fn_decl @.1

+ 1 - 1
toolchain/check/testdata/namespace/fail_unresolved_scope.carbon

@@ -10,7 +10,7 @@
 fn Foo.Baz() {
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_unresolved_scope.carbon" {
 // CHECK:STDOUT:   %.loc10 = fn_decl @.1
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/namespace/function.carbon

@@ -17,7 +17,7 @@ fn Bar() {
   Foo.Baz();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "function.carbon" {
 // CHECK:STDOUT:   %.loc7 = namespace {.Baz = %.loc13}
 // CHECK:STDOUT:   %.loc10 = fn_decl @Baz.1
 // CHECK:STDOUT:   %.loc13 = fn_decl @Baz.2

+ 1 - 1
toolchain/check/testdata/namespace/nested.carbon

@@ -14,7 +14,7 @@ fn Foo.Bar.Baz() {
   Foo.Bar.Wiz();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "nested.carbon" {
 // CHECK:STDOUT:   %.loc7 = namespace {.Bar = %.loc8}
 // CHECK:STDOUT:   %.loc8 = namespace {.Wiz = %.loc10, .Baz = %.loc13}
 // CHECK:STDOUT:   %.loc10 = fn_decl @Wiz

+ 1 - 1
toolchain/check/testdata/operators/and.carbon

@@ -11,7 +11,7 @@ fn And() -> bool {
   return F() and G();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "and.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT:   %.loc8 = fn_decl @G
 // CHECK:STDOUT:   %.loc10 = fn_decl @And

+ 1 - 1
toolchain/check/testdata/operators/assignment.carbon

@@ -22,7 +22,7 @@ fn Main() {
   *(if true then p else &a) = 10;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "assignment.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Main
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/operators/binary_op.carbon

@@ -8,7 +8,7 @@ fn Main() -> i32 {
   return 12 + 34;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "binary_op.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Main
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/operators/fail_assigment_to_non_assignable.carbon

@@ -45,7 +45,7 @@ fn Main() {
   (if true then a else a) = 10;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_assigment_to_non_assignable.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT:   %.loc9 = fn_decl @Main
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/operators/fail_type_mismatch.carbon

@@ -11,7 +11,7 @@ fn Main() -> i32 {
   return 12 + 3.4;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_type_mismatch.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Main
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/operators/fail_type_mismatch_assignment.carbon

@@ -12,7 +12,7 @@ fn Main() {
   a = 5.6;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_type_mismatch_assignment.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Main
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/operators/fail_type_mismatch_once.carbon

@@ -13,7 +13,7 @@ fn Main() -> i32 {
   return 12 + 3.4 + 12;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_type_mismatch_once.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Main
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/operators/or.carbon

@@ -11,7 +11,7 @@ fn Or() -> bool {
   return F() or G();
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "or.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT:   %.loc8 = fn_decl @G
 // CHECK:STDOUT:   %.loc10 = fn_decl @Or

+ 1 - 1
toolchain/check/testdata/operators/unary_op.carbon

@@ -8,7 +8,7 @@ fn Not(b: bool) -> bool {
   return not b;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "unary_op.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Not
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/pointer/address_of_deref.carbon

@@ -9,7 +9,7 @@ fn F() -> i32 {
   return *&*&n;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "address_of_deref.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/pointer/address_of_lvalue.carbon

@@ -16,7 +16,7 @@ fn F() {
   var t1: i32* = &t[1];
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "address_of_lvalue.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/pointer/basic.carbon

@@ -11,7 +11,7 @@ fn F() -> i32 {
   return *p;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "basic.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/pointer/fail_address_of_value.carbon

@@ -82,7 +82,7 @@ fn AddressOfParameter(param: i32) {
   var param_addr: i32* = &param;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_address_of_value.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @G
 // CHECK:STDOUT:   %.loc9 = fn_decl @H
 // CHECK:STDOUT:   %.loc11 = fn_decl @AddressOfLiteral

+ 1 - 1
toolchain/check/testdata/pointer/fail_dereference_not_pointer.carbon

@@ -19,7 +19,7 @@ fn Deref(n: i32) {
   *{};
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_dereference_not_pointer.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Deref
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/pointer/fail_dereference_type.carbon

@@ -12,7 +12,7 @@
 // CHECK:STDERR:        ^
 var p: *i32;
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_dereference_type.carbon" {
 // CHECK:STDOUT:   %.loc13: ref <error> = dereference i32
 // CHECK:STDOUT:   %p: ref <error> = var "p"
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/pointer/fail_type_mismatch.carbon

@@ -11,7 +11,7 @@ fn ConstMismatch(p: const {}*) -> const ({}*) {
   return p;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_type_mismatch.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @ConstMismatch
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/pointer/nested_const.carbon

@@ -9,7 +9,7 @@ fn F(p: const (const (const i32*)*)) -> const i32 {
   return **p;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "nested_const.carbon" {
 // CHECK:STDOUT:   %.loc8 = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/pointer/types.carbon

@@ -12,7 +12,7 @@ fn ConstPtr(p: const i32*) -> (const i32)* {
   return p;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "types.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Ptr
 // CHECK:STDOUT:   %.loc11 = fn_decl @ConstPtr
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/return/code_after_return.carbon

@@ -9,7 +9,7 @@ fn Main() {
   var n: i32 = 1 + 1;
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "code_after_return.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Main
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/return/code_after_return_value.carbon

@@ -16,7 +16,7 @@ fn F(b: bool) -> i32 {
   // Unreachable, no error on missing return.
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "code_after_return_value.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/return/fail_missing_return.carbon

@@ -10,7 +10,7 @@ fn Main() -> i32 {
 // CHECK:STDERR: ^
 }
 
-// CHECK:STDOUT: package {
+// CHECK:STDOUT: file "fail_missing_return.carbon" {
 // CHECK:STDOUT:   %.loc7 = fn_decl @Main
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

Некоторые файлы не были показаны из-за большого количества измененных файлов