DragonFly BSD
DragonFly commits List (threaded) for 2006-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: cvs commit: src/sys/net rtsock.c src/sys/netproto/atalk at_proto.c src/sys/netproto/ipx ipx_proto.c src/sys/netproto/natm natm_proto.c


From: "Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx>
Date: Tue, 24 Oct 2006 00:18:28 +0200

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).
:
:Sascha


    Hmm.  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   / \

Attachment: signature.asc
Description: OpenPGP digital signature



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]