include/compiler.h: remove redunandt declaration of errno
PATCH 1/1 include/compiler.h: remove redunandt declaration of errno
From: Wolfgang Denk <[email protected]>
Commit 37566090 "compiler.h: unify system ifdef cruft here" added both a "#include <errno.h>" and a "extern int errno;" to include/compiler.h which is causing build warnings for some systems, for example for the "netstar" board:
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
The declaration of "errno" should be redundant, as <errno.h> is supposed to provide a correct declaration, so drop it.
--- include/compiler.h | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-)
include/compiler.h +0 -2
@@ -25,8 +25,6 @@#include <stdio.h> #include <string.h> -extern int errno; -#if !defined(__WIN32__) && !defined(__MINGW32__)# include <sys/mman.h> #endif
Signature · 1 line
1.7.0.1
PATCH 1/1 include/compiler.h: remove redunandt declaration of errno
Quoted 2 lines · 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;" toinclude/compiler.h
it isnt new code, it sucked the definitions out of random files that had these and into one place
Quoted 5 lines
which is causing build warnings for some systems, for example for the "netstar" board:
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)
Quoted 2 lines
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
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20100619/f9e6bbfb/attachment.pgp
PATCH 1/1 include/compiler.h: remove redunandt declaration of errno
Dear Mike Frysinger,
Quoted 7 lines · In message <[email protected]> you wrote:
Quoted 2 lines · 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;" toinclude/compiler.hit 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.
Quoted 11 lines
Quoted 2 lines
In file included from
/home/wd/git/u-boot/work/lib/crc32.c:15:
include/compiler.h:28: warning: function declaration isn't a prototypenever seen that, but i imagine re-ordering the lines might address it as well (extern then include)
Quoted 2 lines
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
Signature · 4 lines
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.