Heads up: Several thousand g++ and libstdc++ test failures on sparc[64]
Andreas Tobler
toa@pop.agri.ch
Tue Oct 14 04:37:00 GMT 2003
Loren James Rittle wrote:
> Not a Solaris bug; correction of a minor confusion of the use of the
> gthr API. At the time the code was written, it was not known by the
> author(s), that some environments might find the macro defined to 1,
> yet the dynamic check returned 0...
>
> Thank you for testing, adding a ChangeLog and committing.
Is the below suitable? If so I would commit.
>
> A better fix might (a) update the gthr-single.h file to make it work
> like all other implementations thus removing the need to check the
> macro in this case and (b) update the other gthr-*.h files such that
> the __gthread_once API did the right thing internally w.r.t. the
> dynamic check; thus removing the need for multiple paths in the
> caller. However, changing the gthr ABI/API is a lot more complex...
At the moment out of my scope. I jump from A to B to C and I feel
sometimes at nowhere land.
Thanks,
Andreas
2003-10-14 Petur Runolfsson <peturr02@ru.is>
Andreas Tobler <a.tobler@schweiz.ch>
* src/locale.cc (locale::_S_initialize): Workaround a
confusion of the use of the gthr API when __gthread_active_p()
returns true.
RCS file: /cvs/gcc/gcc/libstdc++-v3/src/locale.cc,v
retrieving revision 1.96
diff -u -r1.96 locale.cc
--- src/locale.cc 9 Oct 2003 21:17:11 -0000 1.96
+++ src/locale.cc 14 Oct 2003 04:32:49 -0000
@@ -395,12 +395,9 @@
#ifdef __GTHREADS
if (__gthread_active_p())
__gthread_once(&_S_once, _S_initialize_once);
- else
#endif
- {
- if (!_S_classic)
- _S_initialize_once();
- }
+ if (!_S_classic)
+ _S_initialize_once();
}
void
More information about the Libstdc++
mailing list