blob: 329110a2ce4dd8fd36b6e134035dd4fbc132dd7b [file] [log] [blame] [edit]
// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: %clang_cc1 -std=c++20 -verify -emit-module-interface %t/mod.cpp -o %t/mod.pcm
// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify -fmodule-file=M=%t/mod.pcm %t/main1.cpp
// RUN: %clang_cc1 -std=c++20 -fsyntax-only -verify -fmodule-file=M=%t/mod.pcm %t/main2.cpp
//--- mod.cpp
// expected-no-diagnostics
module;
#include "A.h"
export module M;
export A f() {return A{};}
//--- A.h
// expected-no-diagnostics
#ifndef X
#define X
struct A{};
#endif
//--- main1.cpp
// expected-no-diagnostics
#include "A.h"
import M;
extern "C++" int main() {
A a;
}
//--- main2.cpp
// expected-no-diagnostics
import M;
#include "A.h"
extern "C++" int main() {
A a;
}