This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Diagnostic Messaging Suggestion
- From: Arthur Schwarz <aschwarz1309 at verizon dot net>
- To: James Dennett <james dot dennett at gmail dot com>
- Cc: gcc at gcc dot gnu dot org, Ian Lance Taylor <iant at google dot com>
- Date: Thu, 16 Apr 2009 14:30:45 -0700 (PDT)
- Subject: Re: Diagnostic Messaging Suggestion
I forgot to say 'thanks James', thanks.
Well, spurred on by the whimsy that I need a solution to the problem (however dolorous), I experimented. I've commented most everything at least once and the net effect is that only the 'operator<<' gets a nasty message. I've checked the include files that I've written and they all seem clean of heresies. The 'operator>>' files are unaffected, and with them gone, I still get an error on the 'operator<<' function.
The only thing that I can think of, and I think it remote, is that the functions refer to a public structure internal to a class. The 'operator>>' functions refer to their respective classes. Again, I've removed all of my friends but one 'operator<<' and this gets the error.
Now I think I know C++ (although, to be honest, I have strong, personal, doubts) and I can't think what I missed.
However, the initial statement still holds, the second diagnostic messages adds no clarity and seems redundant. Further, if there was a cause of conflict with a redefinition, it would be useful to include the original conflicting declaration. Perhaps something like:
<><line no>: error: redefinition of function at <><line no> illegal.
note: istream& operator>> (bool& val );
istream& operator>> (short& val );
o o o
the note: stuff is from cplusplus.com @
http://cplusplus.com/reference/iostream/istream/operator%3E%3E/
So, a concrete suggestion at to messaging and an individual first, a puzzler. I really need help on the puzzler.
thanks
art