blob: 5a001d7cff25735459806c3ccf3d98d9195dd67c [file] [log] [blame]
// 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" }