New build breakage on 3.0 branch

Benjamin Kosnik bkoz@redhat.com
Fri Mar 2 11:53:00 GMT 2001


Hey Robert. Sorry I was busy yesterday.

As phil said, c++io.o got nuked as part of the wchar_t
work. basic_file.cc is now the deal. Options for dealing with the
resultant configure changes are:

1) nuke target libstdc++-v3 build tree and do a top-level make
2) do 
   'config.status --recheck' // reconfigures
   'config.status' // regenerated Makefiles

Either should (do) work.

As for the mbstate_t test:

#ifndef _GLIBCPP_HAVE_MBSTATE_T
extern "C" 
{
  typedef struct 
  {
    int __fill[6];
  } mbstate_t;
}
#endif

namespace std 
{
  using ::mbstate_t;
}

is the root cause of your problem. Either sco headers
_GLIBCPP_HAVE_MBSTATE_T or they don't: it looks like configure is
finding it at configure time but not at compile time, which is
wrong. So, that needs to be cleaned up.

So for only SCO has reported problems with this, hmmm. Thanks for phoning in...

here's the test in acinclude.m4:

AC_DEFUN(GLIBCPP_CHECK_WCHAR_T_SUPPORT, [

  dnl Test wchar.h for mbstate_t, which is needed for char_traits and
  dnl others even if wchar_t support is not on.
  AC_MSG_CHECKING([for mbstate_t])
  AC_TRY_COMPILE([#include <wchar.h>],
  [mbstate_t teststate;], 
  have_mbstate_t=yes, have_mbstate_t=no)
  AC_MSG_RESULT($have_mbstate_t)
  if test x"$have_mbstate_t" = xyes; then
    AC_DEFINE(HAVE_MBSTATE_T)
  fi

if you look in the sco wchar.h file, search for the mbstate_t
declaration. Do you need defines to see it?

ps please post v3 things to libstdc++@gcc.gnu.org so I can see
them. I'm not subscribed to gcc, and usually read it a day or two late.

-benjamin





More information about the Libstdc++ mailing list