On 22/01/13 18:00, Andrew Haley wrote:
On 01/22/2013 05:51 PM, Alec Teal wrote:
I really just wanted a serious discussion, it failed. I should clarify:
I define bitching to be "pointlessly diffusing statements so nothing
gets done". Like the error thing "well actually that's a myth from some
deep dark place where they used a really old GCC and a new Clang",
silly, if GCC is better why is it not said "Clang has useless error
reports!"
OK, OK, let's all take a deep breath and make this a serious discussion,
then. It's not too late.
So how could we (you, I know I'm not ready) remedy this? Start telling
people GCC doesn't do this legendary "folding" thing and keeps track of
tokens (I read somewhere, I think it was an old paper by Mozilla about
Treehydra and Dehydra (now dead) that GCC cannot map things back to
lines of source code, then somewhere else that Clang can track stuff
though macro-expansions, GCC turns "x-x" to "0" which causes a problem
for static analysis - this is a good optimization but it's being done
too early).
Folding is done very early in GCC, in the front ends. It would be
possible to nullify fold() so that it didn't do anything, but a few
places in the compiler require it.
Have an option where GCC outputs stuff that's verbose and easier for an
Ide to parse, I understand a lot of stuff relies on the current way, why
not that?
Macros are good (if not over-used, there are some VILE ones out
there) but debugging macro-ed code is the bane of any programmers'
day.
We know. The move to C++ will help that.
I meant "out there" not with GCC, I do think macros have a use, a report
of the form "expanded from: " would be helpful, and some sort of
callstack-like output?
If you are going to bitch in reply at least include some links to things
worth reading that are ideally quite long and dirty, if you'd respond
seriously, it'd be much welcome.
I was honestly hoping for a good "chat" about the pros and cons, what
could be done about things, you know interesting stuff, not "
Stop swearing and criticising people for responses you don't like.
Let he who is without sin cast the first stone.
Andrew.