This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 3.1 20020422 (prerelease) build failure on hppa2.0-hp-hpux10.20compiling libstdc++-v3/src/locale.cc
- From: rbrown64 at csc dot com dot au
- To: gcc-patches at gcc dot gnu dot org, <bkorb at gnu dot org>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Mon, 29 Apr 2002 13:16:55 +1000
- Subject: 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))