[U-Boot] [PATCH] include/compiler.h: remove redunandt declaration of errno

Wolfgang Denk wd at denx.de
Sun Jun 20 12:12:15 CEST 2010


Dear Mike Frysinger,

In message <201006192158.42049.vapier at gentoo.org> you wrote:
>
> On Saturday, June 19, 2010 20:20:33 y at denx.de wrote:
> > Commit 37566090 "compiler.h: unify system ifdef cruft here" added both
> > a "#include <errno.h>" and a "extern int errno;" to include/compiler.h
>
> it isnt new code, it sucked the definitions out of random files that had these 
> and into one place

Yes, I know. I didn't want to blame you, I just wanted to point out
where it's coming from.

> > 	In file included from /home/wd/git/u-boot/work/lib/crc32.c:15:
> > 	include/compiler.h:28: warning: function declaration isn't a prototype
>
> never seen that, but i imagine re-ordering the lines might address it as well 
> (extern then include)
>
> > The declaration of "errno" should be redundant, as <errno.h> is
> > supposed to provide a correct declaration, so drop it.
>
> there are older systems where this isnt true, but ive never used one myself>  
> and if we dont care about them (i dont), then this is fine

Well, the man page says:

        errno is defined by the ISO C standard to be a modifiable
        lvalue of type int, and must not be explicitly declared;
        errno may be a macro. errno is thread-local; setting it in
        one thread does not affect its value in any other thread.

The "must not be explicitly declared" (because it "may be a macro")
is pretty clear, it seems.

Thanks for commenting, I'll apply it then.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Above all else -- sky.


More information about the U-Boot mailing list