// P2615R1 invalid declarations // PR c++/107688 // { dg-additional-options "-fmodules-ts" } // { dg-module-cmi !bad } export module bad; extern "C++" export void foo(); // { dg-error "export-declarations are not permitted here" "" { target c++20 } } export template <typename T> struct S {}; export template <typename T> struct S<T*> {}; // { dg-error "partial specialization in unbraced export-declaration" } export template <> struct S<int*> {}; // { dg-error "explicit specializations are not permitted here" } export template struct S<int>; // { dg-error "explicit instantiations are not permitted here" } template <> export struct S<double>; // { dg-error "expected unqualified-id" } export export int x; // { dg-error ".export. may only occur once" } export { export int y; } // { dg-error ".export. may only occur once" } namespace { export namespace ns {} // { dg-error "internal linkage" } } export namespace {} // { dg-error "exporting unnamed namespace" }