http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55494
--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> 2012-11-27 18:55:34 UTC --- ICEs even with 4.7 branch. With 4.6: /home/marek/rh/tests/pr55494.C:6:19: warning: variadic templates only available with -std=c++0x or -std=gnu++0x [enabled by default] /home/marek/rh/tests/pr55494.C:7:35: sorry, unimplemented: cannot expand ‘Args ...’ into a fixed-length argument list /home/marek/rh/tests/pr55494.C:7:35: error: type/value mismatch at argument 1 in template parameter list for ‘template<const char* Name> struct Foo’ /home/marek/rh/tests/pr55494.C:7:35: error: expected a constant of type ‘const char*’, got ‘Args ...’ /home/marek/rh/tests/pr55494.C: In function ‘int main()’: /home/marek/rh/tests/pr55494.C:17:10: error: no match for ‘operator<<’ in ‘s << m’ /home/marek/rh/tests/pr55494.C:17:10: note: candidate is: /home/marek/rh/tests/pr55494.C:7:6: note: template<class ... Args> void operator<<(S&, int&)