This is the mail archive of the 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]

Re: [PATCH] Update newlib so that it passes libc++'s tests

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