[Bug c++/11582] Odd error message with dynamically sized template arg printing

manu at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Apr 19 17:13:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11582

Manuel López-Ibáñez <manu at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |manu at gcc dot gnu.org

--- Comment #7 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2013-04-19 17:13:38 UTC ---
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]); 
                           ^


More information about the Gcc-bugs mailing list