This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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: 3.1 20020422 (prerelease) build failure on hppa2.0-hp-hpux10.20compiling libstdc++-v3/src/locale.cc


Proposed Fixincludes patch. Tested by regenerating include directories and
recompiling src/locale*
on the 10.20 box - not a full rebuild and check.

2002-04-29  Rodney Brown  <rbrown64@csc.com.au>

      * fixinc/inclhack.def: Add hpux10_cpp_ctype__SB_masks hack.

--- fixinc/inclhack.def.bu    Tue Mar 26 15:02:44 2002
+++ fixinc/inclhack.def Mon Apr 29 13:08:43 2002
@@ -1081,6 +1081,22 @@


 /*
+ * Expose ctype.h:__SB_masks declaration on HP-UX 10.20 if included
+ * from <cctype> to work like HP-UX 11.{00,11}.
+ */
+fix = {
+     hackname  = hpux10_cpp_ctype__SB_masks;
+     files     = ctype.h;
+     select    = "(#[ ]*if )(defined\\(_SB_CTYPE_MACROS\\))"
+            "( && !defined\\(__lint\\))";
+     c_fix     = format;
+     c_fix_arg = "%1(%2 || defined(_CPP_CCTYPE))%3";
+
+     test_text = "#  if defined(_SB_CTYPE_MACROS) && !defined(__lint)\n";
+
+};
+
+/*
  * Delete C++ double pow (double, int) inline function from HP-UX 10 & 11
  * math.h to prevent clash with define in c_std/bits/std_cmath.h.
  */




Rodney D Brown on 26/04/2002 11:42:15


To:    gcc-bugs@gcc.gnu.org
cc:    libstdc++@gcc.gnu.org
Subject:    3.1 20020422 (prerelease) build failure on hppa2.0-hp-hpux10.20
       compiling libstdc++-v3/src/locale.cc

In file included from
../../../../gcc-20020422/libstdc++-v3/src/locale.cc:406:
/devel/span/rdb/src/gcc-20020422.chk/hppa2.0-hp-hpux10.20/libstdc++-v3/include/hppa2.0-hp-hpux10.20/bits/ctype_noninline.h:

In
   constructor `std::ctype<char>::ctype(int*, const unsigned int*, bool,
unsigned int)':
/devel/span/rdb/src/gcc-20020422.chk/hppa2.0-hp-hpux10.20/libstdc++-v3/include/hppa2.0-hp-hpux10.20/bits/ctype_noninline.h:45:

`
   __SB_masks' undeclared (first use this function)
/devel/span/rdb/src/gcc-20020422.chk/hppa2.0-hp-hpux10.20/libstdc++-v3/include/hppa2.0-hp-hpux10.20/bits/ctype_noninline.h:45:

(Each
   undeclared identifier is reported only once for each function it appears
in.)
make[4]: *** [locale.lo] Error 1
make[4]: Leaving directory
`/devel/span/rdb/src/gcc-20020422.chk/hppa2.0-hp-hpux10.20/libstdc++-v3/src'

/lib/libc.a(NLSsetup.o) defines __SB_masks

bash-2.02$ gcc/xgcc -v
Using built-in specs.
Configured with: ../gcc-20020422/configure --with-gnu-as
--with-as=/usr/local/bin/as --enable-checking
Thread model: single
gcc version 3.1 20020422 (prerelease)


On hpux11.{00,11}  __SB_masks is declared in <ctype.h> as follows
#  if !defined(__lint)
     extern unsigned int *__SB_masks;

On hpux10.20 as follows
#  if defined(_SB_CTYPE_MACROS) && !defined(__lint)
     extern unsigned int *__SB_masks;

Nothing in /usr/include #defines _SB_CTYPE_MACROS.

Copying ctype.h into gcc/include and removing the defined(_SB_CTYPE_MACROS)
has the build continuing.

Assuming the build tests Ok after this, ctype.h could be fixincluded to
this on HP-UX 10.20
or a more specific version that only targets the libstdc++ compile

ie
#  if !defined(__lint) && (defined(_SB_CTYPE_MACROS) ||
defined(CPP_CCTYPE))





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]