Matthew Dillon wrote:
: :Joerg Sonnenberger wrote: :> It should be enough and :> correct to remove the extern (or declar it static there as well). ::The former gives an error (which is what confused me initially) while :s/extern/static/ will work (see my commit from ~15min. ago).: :SaschaHmm. That works for procedures, but it's a bad idea to forward-declare storage declarations because the compiler cannot really discern that the first one is meant to be a forward declaration. If GCC does, it's a dangerous quirk.
No, that's valid ANSI C. You are allowed to have as many declarations for the same identifier as you want (section 6.7, sentence 3): If an identifier has no linkage, there shall be no more than one declaration of the identifier (in a declarator or type specifier) with the same scope and in the same name space, except for tags as specified in 6.7.2.3.
I see the problem now that you've pointed it out. I didn't
notice the circular loop there and I think the only correct
solution is your original commit (keeping natmdomain as a
global) :-)
neither gcc34 nor gcc41 have problems with this: % cat >d.c <<EOF int i; int i; EOF % cc -Wall -c d.c % cheers simon -- Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\ Work - Mac +++ space for low €€€ NOW!1 +++ Campaign \ / Party Enjoy Relax | http://dragonflybsd.org Against HTML \ Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
signature.asc
Description: OpenPGP digital signature
