Menu ▾ ▴

#814 BYTE_ORDER redefined in lwip_bindings/arch/cc.h

16.1.7
closed
None
lwIP
Low
16.1.6
True
2017-05-28
2017-01-11
Adam
No

The BYTE_ORDER define in lwip_bindings/arch/cc.h causes a warning because it is also defined in machine/endian.h from the gcc-arm-embedded standard library headers:

In file included from ../ChibiOS/ext/lwip/src/include/lwip/arch.h:43:0,
                 from ../ChibiOS/ext/lwip/src/include/lwip/debug.h:35,
                 from ../ChibiOS/ext/lwip/src/include/lwip/opt.h:46,
                 from ../ChibiOS/os/various/lwip_bindings/lwipthread.h:27,
                 from main.c:27:
../ChibiOS/os/various/lwip_bindings/arch/cc.h:71:0: warning: "BYTE_ORDER" redefined
 #define BYTE_ORDER LITTLE_ENDIAN

In file included from /usr/arm-none-eabi/include/sys/types.h:67:0,
                 from /usr/arm-none-eabi/include/stdio.h:61,
                 from main.c:17:
/usr/arm-none-eabi/include/machine/endian.h:20:0: note: this is the location of the previous definition
 #define BYTE_ORDER _BYTE_ORDER

This is with latest arm-gcc-embedded: arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 6.2.1 20161205 (release) [ARM/embedded-6-branch revision 243739].

Easy fix is to add #ifndef guards around the definition in cc.h.

Discussion

  • Giovanni Di Sirio

    • assigned_to: Giovanni Di Sirio
    • Fixed in Repository: False --> True
     
  • Giovanni Di Sirio

    Fix committed, thanks.

     
  • Giovanni Di Sirio

    • status: open --> closed
     

Log in to post a comment.