// { dg-do assemble } template void f(T) {} // { dg-error "" } parameter has incomplete type class C; // { dg-error "" } forward declaration void g(const C& c) { f(c); // { dg-error "" } invalid use of undefined type }