// RUN: rm -rf %t // RUN: mkdir -p %t // RUN: split-file %s %t // RUN: cd %t // RUN: %clang_cc1 -iquote . -fmodules -fno-cxx-modules -emit-module \ // RUN: -std=c++20 -fmodule-name=c -xc++ c.cppmap -o c.pcm // RUN: %clang_cc1 -iquote . -fmodules -fno-cxx-modules -emit-module \ // RUN: -std=c++20 -fmodule-name=a -fmodule-map-file=a.cppmap \ // RUN: -fmodule-file=c.pcm -xc++ a.cppmap -o a.pcm //--- a.cppmap module "a" { header "a.h" } //--- a.h #include "b.h" //--- b.h #ifndef _B_H_ #define _B_H_ struct B { consteval B() {} union { int a; }; }; constexpr B b; #endif //--- c.cppmap module "c" { header "c.h" } //--- c.h #include "b.h"