[Bug target/28975] conflicting declaration 'typedef struct mbstate_t mbstate_t'

2006-10-31 Thread sje at cup dot hp dot com


--- Comment #5 from sje at cup dot hp dot com  2006-10-31 18:15 ---
I forgot to include the PR number in my ChangeLog entry but this defect is
fixed with the patch in comment #4.  It has been backported to the 4.0, 4.1,
and 4.2 branches as well as being checked in on the ToT.


-- 

sje at cup dot hp dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28975



[Bug target/28975] conflicting declaration 'typedef struct mbstate_t mbstate_t'

2006-09-13 Thread sje at cup dot hp dot com


--- 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|-00-00 00:00:00 |2006-09-13 21:08:15
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28975



[Bug target/28975] conflicting declaration 'typedef struct mbstate_t mbstate_t'

2006-09-07 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2006-09-07 15:42 ---
So that means when __STDC_VERSION__=199901  then _GLIBCXX_HAVE_MBSTATE_T needs
to be defined or something like that.

Anyways this is a target issue.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|c++ |target
  GCC build triplet|ia64-hp-hpux11.23   |
   GCC host triplet|ia64-hp-hpux11.23   |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28975



[Bug target/28975] conflicting declaration 'typedef struct mbstate_t mbstate_t'

2006-09-07 Thread waspswarm at gmail dot com


--- Comment #3 from waspswarm at gmail dot com  2006-09-07 15:46 ---
(In reply to comment #2)
 So that means when __STDC_VERSION__=199901  then _GLIBCXX_HAVE_MBSTATE_T needs
 to be defined or something like that.
 
 Anyways this is a target issue.
 

Thanks!

Adding -D_GLIBCXX_HAVE_MBSTATE_T to the compile line gets around the error.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28975