Skip to contentSkip to conversation

include/compiler.h: remove redunandt declaration of errno

PATCH New y at denx.de 3 participants 3 messages Jun 20, 2010

lore
Share & tools
lore
#0 lore raw

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
index 8030bf6..23f4b83 100644
@@ -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
#1 lore raw

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;" to include/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

#2 lore raw

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;" 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.

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 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

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.