// PR c++/115012 // { dg-do compile { target { c++11 } } } // { dg-final { scan-assembler "_Z3fooIJidEEvDpFT_iE" } } // { dg-final { scan-assembler "_Z3barIiEvPFT_iE" } } // { dg-final { scan-assembler "_Z3bazIJidEEvDpFT_iE" } } template <typename ...T> void foo (T... x (int)) { } template <typename T> void bar (T (int)) { } template <typename ...T> void baz (T... (int)) { } int f1 (int) { return 0; } double f2 (int) { return 0; } void corge () { foo <int, double> (f1, f2); bar <int> (f1); baz <int, double> (f1, f2); }