Mercurial > hg > CbC > CbC_llvm
view clang/test/Modules/cxx20-module-file-info.cpp @ 266:00f31e85ec16 default tip
Added tag current for changeset 31d058e83c98
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Oct 2023 10:13:55 +0900 |
parents | c4bab56944e8 |
children |
line wrap: on
line source
// Test output from -module-file-info about C++20 modules. // RUN: rm -rf %t // RUN: mkdir -p %t // RUN: split-file %s %t // RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/mod-info-tu1.cpp \ // RUN: -o %t/A.pcm // RUN: %clang_cc1 -std=c++20 -module-file-info %t/A.pcm | FileCheck \ // RUN: --check-prefix=CHECK-A %s // RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/mod-info-tu2.cpp \ // RUN: -o %t/B.pcm // RUN: %clang_cc1 -std=c++20 -module-file-info %t/B.pcm | FileCheck \ // RUN: --check-prefix=CHECK-B %s // RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/mod-info-tu3.cpp \ // RUN: -fmodule-file=%t/A.pcm -fmodule-file=%t/B.pcm -o %t/Foo.pcm // RUN: %clang_cc1 -std=c++20 -module-file-info %t/Foo.pcm | FileCheck \ // RUN: --check-prefix=CHECK-FOO %s // expected-no-diagnostics //--- mod-info-tu1.cpp export module A; void a(); // CHECK-A: ====== C++20 // CHECK-A-NEXT: Interface Unit 'A' is the Primary Module at index #1 //--- mod-info-tu2.cpp export module B; void b(); // CHECK-B: ====== C++20 // CHECK-B-NEXT: Interface Unit 'B' is the Primary Module at index #1 //--- mod-info-tu3.cpp module; export module Foo; import A; export import B; namespace hello { export void say(const char *); } void foo() {} // CHECK-FOO: ====== C++20 // CHECK-FOO-NEXT: Interface Unit 'Foo' is the Primary Module at index #3 // CHECK-FOO-NEXT: Sub Modules: // CHECK-FOO-NEXT: Global Module Fragment '<global>' is at index #4 // CHECK-FOO-NEXT: Imports: // CHECK-FOO-NEXT: Interface Unit 'A' is at index #1 // CHECK-FOO-NEXT: Exports: // CHECK-FOO-NEXT: Interface Unit 'B' is at index #2