3 // RUN: split-file %s %t
5 // RUN: %clang_cc1 -std=c++20 %t/interface.cppm -emit-module-interface \
7 // RUN: %clang_cc1 -std=c++20 %t/implementation.cpp -fmodule-file=m=%t/m.pcm \
8 // RUN: -fsyntax-only -verify
11 #pragma once // This breaks things.
12 const int kInvisibleSymbol = 0;
13 struct invisible_struct
15 #define INVISIBLE_DEFINE
18 #include "invisible.h"
19 const int kSadlyUndeclaredSymbol = kInvisibleSymbol;
20 using unfortunately_still_invisible_struct = invisible_struct;
21 #ifndef INVISIBLE_DEFINE
22 # error "Still not defined."
30 //--- implementation.cpp
31 // expected-no-diagnostics