------- Comment #1 from pcarlini at suse dot de 2007-01-25 19:13 ------- As far as I can see, in gcc4.0.x a special config/cpu/ia64/atomic_word.h already existed... and used, or otherwise something was broken, the file has been added with the below patch. As far as I can see, the _GLIBCXX_GUARD_TEST_AND_ACQUIRE and _GLIBCXX_GUARD_SET_AND_RELEASE macro definitions therein, which make use of facilities in <cxxabi.h>, are only used in libsupc++/guard.cc via including atomicity.h (which, in turn, includes atomic_word.h). Thus it should be possible to remove those macros from atomic_word.h. Also note that *only* ia64 uses non-defaults for the macros. Benjamin, Jason, can you have a look?
////// 2004-12-27 Jason Merrill <[EMAIL PROTECTED]> Add memory barriers to the double-checked locking used for static initialization. * libsupc++/guard.cc (__test_and_acquire): Define default. (_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release) (_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise. (recursion_push, recursion_pop): New abstraction functions. (__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE. (__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE. * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename from _GLIBCXX_GUARD_ACQUIRE and reverse sense. (_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE. * config/cpu/arm/cxxabi_tweaks.h: Likewise. * config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER) (_GLIBCXX_WRITE_MEM_BARRIER): Define. * config/cpu/powerpc/atomic_word.h: Likewise. * config/cpu/sparc/atomic_word.h: Likewise. * config/cpu/generic/atomic_word.h: Define them, commented out. * include/bits/atomicity.h: Define defaults. * config/cpu/ia64/atomic_word.h (__test_and_acquire) (__set_and_release): New inlines. (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define. (_GLIBCXX_GUARD_SET_AND_RELEASE): Define. -- pcarlini at suse dot de changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at redhat dot com, | |bkoz at redhat dot com Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2007-01-25 19:13:52 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30586