This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
libstdc++ vs aix
- To: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Subject: libstdc++ vs aix
- From: Richard Henderson <rth at cygnus dot com>
- Date: Tue, 20 Mar 2001 01:04:14 -0800
The following two fixes are needed in order to build on AIX 4.3.
The second of the two is because
static const mask upper = 0x400;
static const mask xdigit = 0x800;
static const mask space = 0x200;
static const mask punct = 0x100;
these do not fit in a char. Ok?
r~
* src/gen-num-limits.cc: Instantiate for wchar_t.
* config/os/aix/bits/ctype_base.h (mask): Use unsigned int.
Index: gen-num-limits.cc
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/src/gen-num-limits.cc,v
retrieving revision 1.9
diff -c -p -d -r1.9 gen-num-limits.cc
*** gen-num-limits.cc 2001/03/16 06:58:58 1.9
--- gen-num-limits.cc 2001/03/20 08:56:13
*************** INSTANTIATIONS (unsigned long);
*** 830,833 ****
INSTANTIATIONS (float);
INSTANTIATIONS (double);
INSTANTIATIONS (long double);
!
--- 830,833 ----
INSTANTIATIONS (float);
INSTANTIATIONS (double);
INSTANTIATIONS (long double);
! INSTANTIATIONS (wchar_t);
Index: os/aix/bits/ctype_base.h
===================================================================
RCS file: /cvs/gcc/egcs/libstdc++-v3/config/os/aix/bits/ctype_base.h,v
retrieving revision 1.2
diff -c -p -d -r1.2 ctype_base.h
*** ctype_base.h 2000/12/14 07:20:35 1.2
--- ctype_base.h 2001/03/20 08:57:01
***************
*** 40,46 ****
// NB: Offsets into ctype<char>::_M_table force a particular size
// on the mask type. Because of this, we don't use an enum.
! typedef unsigned char mask;
static const mask upper = _ISUPPER;
static const mask lower = _ISLOWER;
static const mask alpha = _ISALPHA;
--- 40,46 ----
// NB: Offsets into ctype<char>::_M_table force a particular size
// on the mask type. Because of this, we don't use an enum.
! typedef unsigned int mask;
static const mask upper = _ISUPPER;
static const mask lower = _ISLOWER;
static const mask alpha = _ISALPHA;