This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc gcc/ChangeLog gcc/target-def.h gcc/target. ...


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	jason@gcc.gnu.org	2004-12-28 04:36:55

Modified files:
	gcc            : ChangeLog target-def.h target.h 
	gcc/doc        : tm.texi 
	gcc/config/alpha: alpha.c 
	gcc/config/ia64: ia64.c 
	gcc/config/rs6000: rs6000.c 
	gcc/config/sparc: sparc.c 
	gcc/cp         : ChangeLog decl.c 
	libstdc++-v3   : ChangeLog 
	libstdc++-v3/config/cpu/arm: cxxabi_tweaks.h 
	libstdc++-v3/config/cpu/generic: atomic_word.h cxxabi_tweaks.h 
	libstdc++-v3/config/cpu/sparc: atomic_word.h 
	libstdc++-v3/libsupc++: guard.cc 
	libstdc++-v3/include/bits: atomicity.h 
Added files:
	libstdc++-v3/config/cpu/alpha: atomic_word.h 
	libstdc++-v3/config/cpu/powerpc: atomic_word.h 
	libstdc++-v3/config/cpu/ia64: atomic_word.h 

Log message:
	libstdc++:
	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.
	
	* libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of
	abort();
	
	gcc:
	* doc/tm.texi (TARGET_RELAXED_ORDERING): Document.
	* target.h (struct gcc_target): Add relaxed_ordering field.
	* target-def.h (TARGET_RELAXED_ORDERING): Define default.
	(TARGET_INITIALIZER): Add it.
	* config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define.
	* config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define.
	* config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define.
	* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define.
	* cp/decl.c (expand_static_init): Don't use shortcut if
	targetm.relaxed_ordering.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.6964&r2=2.6965
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target-def.h.diff?cvsroot=gcc&r1=1.110&r2=1.111
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target.h.diff?cvsroot=gcc&r1=1.122&r2=1.123
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/tm.texi.diff?cvsroot=gcc&r1=1.407&r2=1.408
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/alpha/alpha.c.diff?cvsroot=gcc&r1=1.403&r2=1.404
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.c.diff?cvsroot=gcc&r1=1.334&r2=1.335
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.c.diff?cvsroot=gcc&r1=1.769&r2=1.770
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/sparc/sparc.c.diff?cvsroot=gcc&r1=1.348&r2=1.349
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4560&r2=1.4561
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.1347&r2=1.1348
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.2826&r2=1.2827
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h.diff?cvsroot=gcc&r1=1.4&r2=1.5
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/cpu/generic/atomic_word.h.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h.diff?cvsroot=gcc&r1=1.3&r2=1.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/cpu/sparc/atomic_word.h.diff?cvsroot=gcc&r1=1.1&r2=1.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/cpu/alpha/atomic_word.h.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/cpu/powerpc/atomic_word.h.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/config/cpu/ia64/atomic_word.h.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/libsupc++/guard.cc.diff?cvsroot=gcc&r1=1.5&r2=1.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/atomicity.h.diff?cvsroot=gcc&r1=1.2&r2=1.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]