On Thu, May 31, 2012 at 7:10 AM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Thu, May 31, 2012 at 6:50 AM, Jakub Jelinek <ja...@redhat.com> wrote: >> On Thu, May 31, 2012 at 06:35:19AM -0700, H.J. Lu wrote: >>> This patch makes __WCHAR_TYPE__/wchar_t the same for gcc -m32 on >>> Linux/i386 and Linux/x86-64. OK for trunk? >> >> That looks wrong. For Linux/i386, the 32-bit only compiler should be >> the standard, rather than x86_64 -m32 if they differ. >> So, IMHO you should keep gnu-user.h as is, and just use >> #define WCHAR_TYPE (TARGET_64BIT ? "int" : "long int") >> in gcc/config/i386/x86-64.h. >> > > You are right on Linux/i386. But we should change config/i386/gnu-user64.h, > not x86-64.h since most of other i386 OSes use int for wchar. Also we should > check TARGET_LP64 to keep x32 as close to i386 as possible. OK for > trunk? > > Thanks. > > > -- > H.J. > ---- > 2012-05-31 H.J. Lu <hongjiu...@intel.com> > > PR target/53539 > * config/i386/gnu-user64.h (WCHAR_TYPE): Use "int" only for > TARGET_LP64. > > diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h > index 0e66d26..2941332 100644 > --- a/gcc/config/i386/gnu-user64.h > +++ b/gcc/config/i386/gnu-user64.h > @@ -91,3 +91,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. > If n > ot, see > #define TARGET_THREAD_SPLIT_STACK_OFFSET \ > (TARGET_64BIT ? (TARGET_X32 ? 0x40 : 0x70) : 0x30) > #endif > + > +#undef WCHAR_TYPE > +#define WCHAR_TYPE (TARGET_LP64 ? "int" : "long int")
Hi Richard, Is this patch OK for trunk? Thanks. -- H.J.