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

--- Comment #4 from Marc Glisse <glisse at gcc dot gnu.org> ---
(In reply to Manuel López-Ibáñez from comment #3)
> I guess what information is most useful depends on the exact case. In my
> experience, however, knowing the types you are trying to convert from and to
> is usually the key.

+1

> G++ could certainly do better about printing types. It sometimes still
> spells out typedefs, when they don't make a difference. It could also be
> smarter when summarizing types, so for example here:
[snip]
> there is no need to say 'A<class X> [with X = VeryComplicatedType]' (I think
> this is what we actually say now, no?) cannot convert to 'int', but we could
> say simply 'A<class X>' cannot convert to 'int' because it really doesn't
> matter what X is.

or maybe it does. I'd be very careful about removing information from the
diagnostics. I find cases where we are missing information (PR53822 for
instance) much worse than those where we need to ignore a number of lines to
find the right message. I can read a few more lines, I cannot invent what isn't
there. So if there is any chance it might be useful, please at least keep it
under some -fdetailed-diagnostic flag.

c++filt could also do with some heuristics to avoid exponential growth of
types, even if it doesn't know the typedef names used in the source.

Reply via email to