------- Comment #4 from sje at cup dot hp dot com 2006-09-13 21:08 ------- The underlying problem here is twofold, The C++ configure script will only check for mbstate_t if wchar is enabled. On IA64 HP-UX wchar is not enabled because we are missing a define that makes the wchar type visible to g++. Here is a patch that will fix this problem. I have not submitted it yet because we are in regression only mode.
This patch will make wchar enabled and correctly set GLIBCXX_HAVE_MBSTATE_T. The extra .o file that we link in is to make sure that we have the correct unix98 behaviour for the C++ wide date functions and not the unix93 or unix95 behaviour. The C++ testsuite will have regressions if we do not include it. Index: config/ia64/hpux.h =================================================================== --- config/ia64/hpux.h (revision 116775) +++ config/ia64/hpux.h (working copy) @@ -53,6 +53,7 @@ do { \ builtin_define("_HPUX_SOURCE"); \ builtin_define("__STDC_EXT__"); \ builtin_define("__STDCPP__"); \ + builtin_define("_INCLUDE__STDC_A1_SOURCE"); \ } \ if (TARGET_ILP32) \ builtin_define("_ILP32"); \ @@ -71,7 +72,9 @@ do { \ #undef ENDFILE_SPEC #undef STARTFILE_SPEC -#define STARTFILE_SPEC "%{!shared:%{static:crt0%O%s}}" +#define STARTFILE_SPEC "%{!shared:%{static:crt0%O%s} \ + %{mlp64:/usr/lib/hpux64/unix98%O%s} \ + %{!mlp64:/usr/lib/hpux32/unix98%O%s}}" #undef LINK_SPEC #define LINK_SPEC \ -- sje at cup dot hp dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sje at cup dot hp dot com AssignedTo|unassigned at gcc dot gnu |sje at cup dot hp dot com |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2006-09-13 21:08:15 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28975