This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Degraded C++ error messages.


Carlo Wood <carlo@alinoe.com> writes:

| One such line can basically exist of:
| 
| <location>: error|warning: error/warning text with `type' and
| more text and another `type', in `expression'.
| 
| Where `expression' then should look as much as possible as
| the literal string that you see in the source code, because

This works only in cases where expressions are parsed in their most
generic/general forms.  Currently, we don't.  We approximate that only
in some template codes.

[...]

| When the types that need to be printed are template types, then
| it is possible that those types become very large - and for
| that we can think of a way to improve that.  But that is
| not related to the problem at hand imho:

I don' think so.  The issue is much more involved than you seem to
believe.
       
| a type is a type,
| there is little you can change about that.  At most you can
| think of printing the template parameters seperatedly, and
| using standard or user defined typedefs to compress the type
| that is printed.  Ie, instead of printing
| std::basic_string<char, std::char_traits<char>, std::allocator<blah blah blah...
| why not just print 'std::string'?

Can you submit a patch?

-- Gaby


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]