// { dg-do assemble }
// GROUPS passed templates
template <class T>
void foo(T t) {}
template <class T>
struct S {};
template <class T>
void bar(T t)
{
void (*f)(S<T> ) = &foo<S<T> >;
}
void baz()
{
bar(3);
}
// { dg-do assemble }
// GROUPS passed templates
template <class T>
void foo(T t) {}
template <class T>
struct S {};
template <class T>
void bar(T t)
{
void (*f)(S<T> ) = &foo<S<T> >;
}
void baz()
{
bar(3);
}