// { dg-do run } // GROUPS passed templates extern "C" int printf (const char *, ...); template class Temp { F func_; public: Temp (F f) :func_(f) {} }; int func (int h = 1, int z = 2) { return h+z; } int main () { Temp temp (func); printf ("PASS\n"); return 0; }