This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/14912] Do not print default template arguments in error messages
- From: "giovannibajo at libero dot it" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Mar 2005 10:51:38 -0000
- Subject: [Bug c++/14912] Do not print default template arguments in error messages
- References: <20040410193158.14912.schnetter@aei.mpg.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From giovannibajo at libero dot it 2005-03-23 10:51 -------
The first non-trivial issue is that, in order to print "std::vector<int>"
instead of "std::vector<int, std::allocator<int> >", we need to do the template
substitution at error printing time, and check if the resulting substitution
match. Either that, or I need to mark template arguments with a flag if they
come from the template-id.
Also, should we skip default arguments also in lines like this:
test.cc: In member function `void A<T, N, X>::foo() [with T = int, int N = 0,
int X = 1]':
We would be left with something like :
test.cc: In member function `void A<T, N, X>::foo() [with T = int]':
I assume that sounds about right, even if it might be surprising at first why
the "with" clause does not show all the parameters.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14912