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]

r180460 - in /branches/cxx-mem-model: gcc/Chang...


Author: amacleod
Date: Tue Oct 25 23:01:05 2011
New Revision: 180460

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180460
Log:
	gcc/c-family
2011-10-25  Andrew MacLeod  <amacleod@redhat.com>

	* c-common.c (get_atomic_generic_size): New.  Find size of generic
	atomic function parameters and do typechecking.
	(add_atomic_size_parameter): New.  Insert size into parameter list.
	(resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
	either __atomic_exchange_n or external library call.
	(resolve_overloaded_atomic_compare_exchange): Restructure 
	__atomic_compare_exchange to either _n variant or external library call.
	(resolve_overloaded_atomic_load): Restructure __atomic_load to either 
	__atomic_load_n or an external library call.
	(resolve_overloaded_atomic_store): Restructure __atomic_store to either
	__atomic_store_n or an external library call.
	(resolve_overloaded_builtin): Handle 4 generic __atomic calls.

	gcc
2011-10-25  Andrew MacLeod  <amacleod@redhat.com>

	* c-typeck.c (build_function_call_vec): Don't reprocess __atomic
	parameters.
	* doc/extend.texi: Document generic __atomic functions.
	* sync-builtin.def (BUILT_IN_ATOMIC_EXCHANGE_N, BUILT_IN_ATOMIC_LOAD_N,
	BUILT_IN_ATOMIC_COMPARE_EXCHANGE_N, BUILT_IN_ATOMIC_STORE_N): Add "_n"
	to the functions real name.
	(BUILT_IN_ATOMIC_EXCHANGE, BUILT_IN_ATOMIC_LOAD,
	BUILT_IN_ATOMIC_COMPARE_EXCHANGE, BUILT_IN_ATOMIC_STORE): New. Add
	generic atomic builtin functions.
	* builtin-types.def (BT_FN_VOID_SIZE_VPTR_PTR_INT,
	BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT,
	BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT): New builtin types.

	fortran
2011-10-25  Andrew MacLeod  <amacleod@redhat.com>

	* fortran/types.def (BT_FN_VOID_SIZE_VPTR_PTR_INT,
	BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT,
	BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT): New builtin types.

	libstdc++-v3
2011-10-25  Andrew MacLeod  <amacleod@redhat.com>

	* include/bits/atomic_2.h: Rename __atomic_exchange, __atomic_load,
	__atomic_store, and __atomic_compare_exchange to '_n' variant.

	gcc/testsuite
2011-10-25  Andrew MacLeod  <amacleod@redhat.com>

	* gcc.dg/atomic-generic-aux.c: New. Provide 4 functional external
	entrypoints for new generic library functions.
	* gcc.dg/atomic-generic.c: New. Test that generic functions produce
	the expected library calls.
	* gcc.dg/atomic-compare-exchange*.c: Replace __atomic_compare_exchange
	with __atomic_compare_exchange_n.  Add generic variations.
	* gcc.dg/atomic-exchange*.c: Replace __atomic_exchange with
	__atomic_exchange_n.  Add generic variations.
	* gcc.dg/atomic-invalid.c: Add _n to renamed functions.
	gcc.dg/atomic-load*.c: Replace __atomic_load with __atomic_load_n.  Add
	generic variations.
	* gcc.dg/atomic-param.c: Add _n to renamed functions.
	* gcc.dg/atomic-store*.c: Replace __atomic_store with __atomic_store_n.
	Add generic variations.
	* gcc.dg/simulate-thread/atomic*.c: Add _n to renamed functions.


Added:
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-generic-aux.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-generic.c
Modified:
    branches/cxx-mem-model/gcc/ChangeLog.mm
    branches/cxx-mem-model/gcc/builtin-types.def
    branches/cxx-mem-model/gcc/c-family/ChangeLog.mm
    branches/cxx-mem-model/gcc/c-family/c-common.c
    branches/cxx-mem-model/gcc/c-typeck.c
    branches/cxx-mem-model/gcc/doc/extend.texi
    branches/cxx-mem-model/gcc/fortran/ChangeLog.mm
    branches/cxx-mem-model/gcc/fortran/types.def
    branches/cxx-mem-model/gcc/sync-builtins.def
    branches/cxx-mem-model/gcc/testsuite/ChangeLog.mm
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-compare-exchange-1.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-compare-exchange-2.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-compare-exchange-3.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-compare-exchange-4.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-compare-exchange-5.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-exchange-1.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-exchange-2.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-exchange-3.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-exchange-4.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-exchange-5.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-invalid.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-load-1.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-load-2.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-load-3.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-load-4.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-load-5.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-param.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-store-1.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-store-2.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-store-3.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-store-4.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/atomic-store-5.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/simulate-thread/atomic-load-int.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/simulate-thread/atomic-load-int128.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/simulate-thread/atomic-load-longlong.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/simulate-thread/atomic-load-short.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/simulate-thread/atomic-other-int.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/simulate-thread/atomic-other-int128.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/simulate-thread/atomic-other-longlong.c
    branches/cxx-mem-model/gcc/testsuite/gcc.dg/simulate-thread/atomic-other-short.c
    branches/cxx-mem-model/libstdc++-v3/ChangeLog.mm
    branches/cxx-mem-model/libstdc++-v3/include/bits/atomic_2.h


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