// 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 // --- a.carbon package A api; // CHECK:STDERR: a.carbon:[[@LINE+3]]:1: ERROR: Import cannot be used due to a cycle. Cycle must be fixed to import. // CHECK:STDERR: import B; // CHECK:STDERR: ^~~~~~ import B; // --- b.carbon package B api; // CHECK:STDERR: b.carbon:[[@LINE+3]]:1: ERROR: Import cannot be used due to a cycle. Cycle must be fixed to import. // CHECK:STDERR: import C; // CHECK:STDERR: ^~~~~~ import C; // --- c.carbon package C api; // CHECK:STDERR: c.carbon:[[@LINE+3]]:1: ERROR: Import cannot be used due to a cycle. Cycle must be fixed to import. // CHECK:STDERR: import A; // CHECK:STDERR: ^~~~~~ import A; // --- c.impl.carbon // CHECK:STDERR: c.impl.carbon:[[@LINE+3]]:1: ERROR: Import cannot be used due to a cycle. Cycle must be fixed to import. // CHECK:STDERR: package C impl; // CHECK:STDERR: ^~~~~~~ package C impl; // --- cycle_child.carbon package CycleChild api; // CHECK:STDERR: cycle_child.carbon:[[@LINE+3]]:1: ERROR: Import cannot be used due to a cycle. Cycle must be fixed to import. // CHECK:STDERR: import B; // CHECK:STDERR: ^~~~~~ import B; // CHECK:STDOUT: --- a.carbon // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace {} // CHECK:STDOUT: %import: = import ir1, ir1 // CHECK:STDOUT: %B: = bind_name B, %import // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- b.carbon // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace {} // CHECK:STDOUT: %import: = import ir1, ir1 // CHECK:STDOUT: %C: = bind_name C, %import // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- c.carbon // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace {} // CHECK:STDOUT: %import: = import ir1, ir1 // CHECK:STDOUT: %A: = bind_name A, %import // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- c.impl.carbon // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace {has_load_error} // CHECK:STDOUT: } // CHECK:STDOUT: // CHECK:STDOUT: --- cycle_child.carbon // CHECK:STDOUT: // CHECK:STDOUT: file { // CHECK:STDOUT: package: = namespace {} // CHECK:STDOUT: %import: = import ir1, ir1 // CHECK:STDOUT: %B: = bind_name B, %import // CHECK:STDOUT: } // CHECK:STDOUT: