Public bug reported: This patch to eglibc from debian (which is applied for Ubuntu 12.04): ( https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=arm-eabi-wchar.patch;att=1;bug=444580 )
Gives this definition for __WCHAR_MAX in bits/wchar.h #define __WCHAR_MAX ( (wchar_t) - 1 ) This then propagates to WCHAR_MAX from stdint.h: # define WCHAR_MAX __WCHAR_MAX The problem is that this introduces a requirement that stddef.h must be included before stdint.h in order to make the definition of wchar_t available. In a conforming C implimentation, this should be valid: #include "stdint.h" #include "stdio.h" unsigned int foo (void) { return (unsigned int) WCHAR_MAX; } Currently this will report: gcc foo.c foo.c: In function ‘foo’: foo.c:7:25: error: ‘wchar_t’ undeclared (first use in this function) foo.c:7:25: note: each undeclared identifier is reported only once for each function it appears in The easiest fix would be to take the more modern, portable definition of WCHAR_MAX/__WCHAR_MAX from Ubuntu 14.04's glibc. ** Affects: eglibc (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to eglibc in Ubuntu. https://bugs.launchpad.net/bugs/1438797 Title: [ARM] stdint.h should not rely on wchar_t being defined Status in eglibc package in Ubuntu: New Bug description: This patch to eglibc from debian (which is applied for Ubuntu 12.04): ( https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=arm-eabi-wchar.patch;att=1;bug=444580 ) Gives this definition for __WCHAR_MAX in bits/wchar.h #define __WCHAR_MAX ( (wchar_t) - 1 ) This then propagates to WCHAR_MAX from stdint.h: # define WCHAR_MAX __WCHAR_MAX The problem is that this introduces a requirement that stddef.h must be included before stdint.h in order to make the definition of wchar_t available. In a conforming C implimentation, this should be valid: #include "stdint.h" #include "stdio.h" unsigned int foo (void) { return (unsigned int) WCHAR_MAX; } Currently this will report: gcc foo.c foo.c: In function ‘foo’: foo.c:7:25: error: ‘wchar_t’ undeclared (first use in this function) foo.c:7:25: note: each undeclared identifier is reported only once for each function it appears in The easiest fix would be to take the more modern, portable definition of WCHAR_MAX/__WCHAR_MAX from Ubuntu 14.04's glibc. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1438797/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp