Comment # 6
on bug 10000
from Bill Meier
Just out of curiosity, I did a little bit more research (pretending to be a
protocol lawyer) :)
Although I haven't gone to the primary source doc (the C spec), I did find a
GNU C bug report which seems reasonable as a "secondary source document" (and
does quote the primary doc).
Apparently 'extern var = init' is valid (C89) but considered "extremely
unidiomatic".
=========
From: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45977
"Bug 45977 - "warning: 'i' initialized and declared 'extern'" is spurious "
...
"This is a coding style warning - the code is valid, but extremely
unidiomatic for C since "extern" is generally expected to mean that the
declaration is not providing a definition of the object. Following static
by extern, though valid, is also a C feature of doubtful value."
"> Whether or not this is idiomatic usage, or corresponds to what is generally
> expected, is not sufficient grounds for a warning.
That is the whole point of warnings: to diagnose dubious usages that
cannot be given hard errors because they are formally valid according to
the standard."
=====
So: bottom line: my change, while technically maybe OK, was "not the right
way".
So, again, my thanks to Guy.
Bill
You are receiving this mail because:
- You are watching all bug changes.