------- Comment #3 from mmitchel at gcc dot gnu dot org 2006-06-14 22:17 ------- I'm not convinced this is a bug in G++.
If the first line were: template<class T> struct type_name { static char const name[1]; }; then there would be no question that the specialization was invalid. Since the type of an array variable is indeed determined by its initializer, I don't see any different between that case and the case in the test case. I've sent mail to EDG to clarify. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27347