http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11582
--- Comment #8 from Gabriel Dos Reis <gdr at gcc dot gnu.org> 2013-04-22 10:10:36 UTC --- (In reply to comment #7) > The '[(((sizetype)<anonymous>) + 1)]' is just awful. If we don't know the > actual type there, that is "int [size()]", then we should just print 'int []' > or 'int [size_t]' or something similar to denote a VLA. > > Surprisingly, Clang++ is even more confused: > > test.cc:6:3: error: no matching function for call to 'f' > f( buf ) ; > ^ > test.cc:2:28: note: candidate template ignored: could not match 'int' against > 'int' > template <int N> void f(int (&)[N]); > ^ > test.cc:13:3: error: no matching function for call to 'f' > f( buf ) ; > ^ > test.cc:2:28: note: candidate template ignored: could not match 'int' against > 'int' > template <int N> void f(int (&)[N]); > ^ Printing int[] or int[size_t] would be confusing too. Yes, Clang is not the gold standard.