// { dg-do assemble } // GROUPS passed templates template void foo(T, T*); void bar() { double d; (*((void (*)(int, double*)) (void (*)(int, int*)) &foo))(3, &d); }