mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-06 09:14:42 +01:00
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.
This commit is contained in:
@@ -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)) {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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
@@ -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"
|
||||
|
||||
@@ -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
@@ -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
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
// CHECK:STDERR: ^
|
||||
var a: [i32; ];
|
||||
|
||||
// CHECK:STDOUT: package {
|
||||
// CHECK:STDOUT: file "fail_undefined_bound.carbon" {
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+1
-1
@@ -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
@@ -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
@@ -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
@@ -4,5 +4,5 @@
|
||||
//
|
||||
// AUTOUPDATE
|
||||
|
||||
// CHECK:STDOUT: package {
|
||||
// CHECK:STDOUT: file "empty.carbon" {
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+1
-1
@@ -6,5 +6,5 @@
|
||||
|
||||
;
|
||||
|
||||
// CHECK:STDOUT: package {
|
||||
// CHECK:STDOUT: file "empty_decl.carbon" {
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
+1
-1
@@ -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:
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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() {}
|
||||
@@ -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() {}
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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
@@ -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: }
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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:
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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:
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
@@ -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
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
@@ -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:
|
||||
|
||||
@@ -82,7 +82,7 @@ fn AddressOfParameter(param: i32) {
|
||||
var param_addr: i32* = ¶m;
|
||||
}
|
||||
|
||||
// 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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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: }
|
||||
|
||||
@@ -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
@@ -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
@@ -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: }
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user