// RUN: rm -rf %t // RUN: mkdir -p %t // RUN: split-file %s %t // RUN: cd %t // // RUN: %clang_cc1 -fmodule-name=A -xc++ -emit-module -fmodules \ // RUN: -fno-cxx-modules -fno-implicit-modules \ // RUN: -fmodule-map-file-home-is-cwd -std=c++20 -I. a.modulemap -o a.pcm // // RUN: %clang_cc1 -fmodule-name=B -xc++ -emit-module -fmodules \ // RUN: -fno-cxx-modules -fno-implicit-modules \ // RUN: -fmodule-map-file-home-is-cwd -std=c++20 -I. b.modulemap -o b.pcm // // RUN: %clang_cc1 -fmodule-name=C -xc++ -emit-module -fmodules \ // RUN: -fno-cxx-modules -fno-implicit-modules \ // RUN: -fmodule-map-file-home-is-cwd -std=c++20 -I. c.modulemap -o c.pcm // // RUN: %clang_cc1 -fno-cxx-modules -fmodules -fno-implicit-modules \ // RUN: -fmodule-map-file-home-is-cwd \ // RUN: -fmodule-file=a.pcm -fmodule-file=b.pcm -fmodule-file=c.pcm \ // RUN: -std=c++20 -I. main.cpp -o /dev/null //--- a.modulemap module "A" { header "a.h" } //--- b.modulemap module "B" { header "b.h" } //--- c.modulemap module "C" { header "c.h" } //--- common.h #pragma once #include "stl.h" //--- a.h #pragma once #include "common.h" #include "repro.h" //--- b.h #pragma once #include "common.h" #include "repro.h" //--- c.h #pragma once #include "common.h" #include "repro.h" //--- repro.h #pragma once #include "stl.h" namespace k { template