This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Dec 17 15:53, Craig Howland wrote: > > On 12/17/2013 04:42 AM, Corinna Vinschen wrote: > >On Dec 16 16:54, JF Bastien wrote: > >>+#ifndef WCHAR_MAX > >> #ifdef __WCHAR_MAX__ > >> #define WCHAR_MAX __WCHAR_MAX__ > >>+#elif defined(__WCHAR_UNSIGNED__) > >>+#define WCHAR_MAX 0xffffffffu > >>+#else > >>+#define WCHAR_MAX 0x7fffffffu > >> #endif > >and this is not quite ok. You're assuming that wchar_t is 4 bytes, but it > >isn't on all platforms. The fallbacks should take that into account, > >along the lines of > > > > #define WCHAR_MAX ((wchar_t)-1) > > > > > Unfortunately, this is not OK in general, as *_MAX defines are > required to be able to be used in preprocessor expressions, and > casts are not always allowed in them. Then it has to be done differently. The point is, you can't just set WCHAR_MAX to 0xffffffffu or 0x7fffffffu because it's wrong for some platforms. If the compiler doesn't provide the information, there has to be another way. Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat
Attachment:
pgp6YVKhN8PAp.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |