blob: 8acf5b91bf86a75a52d916498fc1e9a4bd659db6 [file] [log] [blame]
// { dg-additional-options "-fmodules-ts" }
// friend injection then definition injection
export module foo;
// { dg-module-cmi foo }
template <typename T> class TPL
{
friend void foo (T, void *); // { dg-warning "non-template function" }
T member;
};
template <typename U> class DEF
{
friend void foo (U x, void *p)
{
auto *obj = reinterpret_cast<TPL<U> *> (p);
obj->member = x;
}
};
template class TPL<float>; // instantiate
template class DEF<float>; // instantiate