solaris status

Phil Edwards pedwards@disaster.jaj.com
Tue Aug 22 21:25:00 GMT 2000


On Tue, Aug 22, 2000 at 02:50:24PM -0700, Benjamin Kosnik wrote:
> > I'm thinking two things:  first, more of the wide-character-using stuff
> > should be conditionally compiled, based on _GLIBCPP_USE_WCHAR_T.  
> 
> Yep. I'm sure this will have to be done: be pretty fearless about
> this. If we can't do wchar_t support well, then we shouldn't do it at
> all. The current sources have kind of lost this delineation, which is
> a bug: it should be restored.

I think I have most of it fixed, but right now I'm removing c_codecvt.c
from libio/Makefile.am by hand, just to get further.  I need to go teach
myself how to use AM_CONDITIONAL.

After getting through those, at this moment it gets to c++io.cc and ICEs
with "Error reporting routines re-entered" but without printing any
warnings nor errors.  Gaby?  Is that you?


> > Second, to
> > aid in porting, might we add --disable-wchar to configure?  That would
> > disable _GLIBCPP_USE_WCHAR_T even if the necessary support functions were
> > present.
> 
> Please. I've had to hack around this myself. It'll be easier for all
> concerned if we can explicitly disable this stuff.

Done.  I'll check these changes in by themselves soon.


> - files that need to be compiled whenever compiling libio
> - files that need to be compiled when compiling on hosts with old libios
> - files that need to be compiled when compiling libio for wchar_t

Ah, this is good to know.


> _IO_MTSAFE_IO: would it be better to flip this on at configure time
> instead explicitly wiring it into _G_config.h? That might be easiest,
> as this is pretty straightforward autoconf hackery...

I'd been flipping it on based on "#ifdef _GLIBCPP_USING_THREADS" which in
turn is defined if any of the thread packages are --enable'd.  I'll check
this in too.


> _IO_wide_data: Yeah. You should be able to just do a dummy declaration
> (see the config work for mbstate_t (see bits/std_cwchar.h as well.)

At the moment there is an extremely dummy declaration.  I won't check this
in yet.  _IO_lock_t is another one that gets passed around, but only has
a syntax-legal declaration with _IO_MTSAFE_IO.


> 64-bit types: Just make these typedefs dependent on wchar_t, maybe.

I've been finding them based on whether we $need_libio or not.  I'll check
this in so you can let see whether it works on your Solarii.  This and
the USING_THREADS resulted in some additions to acconfig.h.


> I'm not quite sure what to do with the cdefs.h problem. What are the
> errors if it is not included? What's missing?

If _G_HAVE_SYS_CDEFS is changed from its hardcoded value of 1 in _G_config.h,
then we're missing all the things like __THROW, __const, __BEGIN_DECLS, etc.
I don't know which ones are being used; libio.h pukes on __THROW and I
haven't tried to weed them all out and move replacements into libio.h
(like __P and __PMT already are).


-- 
pedwards at disaster dot jaj dot com  |  pme at sources dot redhat dot com
devphil at several other less interesting addresses in various dot domains
The gods do not protect fools.  Fools are protected by more capable fools.


More information about the Libstdc++ mailing list