Go to file
Andi Kleen 94f3ccc8d9 Avoid non constant memory model uses in libatomic
x86 ends up using non constant memory models for some of the libatomic
functions. These all end up as __ATOMIC_SEQ_CST. Just use this
directly. This avoids a new warning for non constant memory
models, which broke the bootstrap with -Werror

Passed bootstrap and test on x86_64-linux.

libatomic/:

2013-03-23  Andi Kleen  <ak@linux.intel.com>

	* gcas.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gexch.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gload.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gstore.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.

diff --git a/libatomic/gcas.c b/libatomic/gcas.c
index edbf611..e3d77f3 100644
--- a/libatomic/gcas.c
+++ b/libatomic/gcas.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N)					\
   if (C2(HAVE_ATOMIC_CAS_,N))					\
     return __atomic_compare_exchange_n				\
-      (PTR(N,mptr), PTR(N,eptr), *PTR(N,dptr), false, smodel, fmodel)
+      (PTR(N,mptr), PTR(N,eptr), *PTR(N,dptr), false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
 #else
 # define EXACT_INLINE(N)
 #endif
diff --git a/libatomic/gexch.c b/libatomic/gexch.c
index 1999067..c8c8658 100644
--- a/libatomic/gexch.c
+++ b/libatomic/gexch.c
@@ -33,7 +33,7 @@
   if (C2(HAVE_ATOMIC_EXCHANGE_,N))				\
     {								\
       *PTR(N,rptr) = __atomic_exchange_n			\
-	(PTR(N,mptr), *PTR(N,vptr), smodel);			\
+	(PTR(N,mptr), *PTR(N,vptr), __ATOMIC_SEQ_CST);		\
       return;							\
     }
 #else
diff --git a/libatomic/gload.c b/libatomic/gload.c
index df318d5..85865bd 100644
--- a/libatomic/gload.c
+++ b/libatomic/gload.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N, DEST, SRC, DONE)			\
   if (C2(HAVE_ATOMIC_LDST_,N))					\
     {								\
-      DEST = __atomic_load_n (SRC, smodel);			\
+      DEST = __atomic_load_n (SRC, __ATOMIC_SEQ_CST);		\
       DONE;							\
     }
 #else
diff --git a/libatomic/gstore.c b/libatomic/gstore.c
index d571e58..84f9a8d 100644
--- a/libatomic/gstore.c
+++ b/libatomic/gstore.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N)					\
   if (C2(HAVE_ATOMIC_LDST_,N))					\
     {								\
-      __atomic_store_n (PTR(N,mptr), *PTR(N,vptr), smodel);	\
+      __atomic_store_n (PTR(N,mptr), *PTR(N,vptr), __ATOMIC_SEQ_CST);	\
       return;							\
     }
 #else

From-SVN: r197017
2013-03-24 00:23:10 +00:00
boehm-gc Use thr_stksegment to determine Solaris stack base 2013-03-06 15:08:58 +00:00
config
contrib * gennews (files): Add files for GCC 4.8. 2013-03-22 10:47:51 +01:00
fixincludes
gcc Daily bump. 2013-03-24 00:16:47 +00:00
gnattools
include dwarf2.h (enum dwarf_sect): New enum type. 2013-03-01 15:35:58 -08:00
INSTALL
intl
libada
libatomic Avoid non constant memory model uses in libatomic 2013-03-24 00:23:10 +00:00
libbacktrace
libcpp * cpplib.pot: Regenerate. 2013-03-15 17:43:27 +00:00
libdecnumber
libffi win64.S: Make use of ffi_closure_win64_inner symbol pc-relative. 2013-03-22 10:38:55 +01:00
libgcc 2013-03-20 Robert Mason <rbmj@verizon.net> 2013-03-20 22:01:25 +00:00
libgfortran re PR fortran/51825 (Fortran runtime error: Cannot match namelist object name) 2013-03-20 08:56:02 +01:00
libgo runtime, testing/quick: libffi doesn't handle complex on Alpha. 2013-03-01 19:26:43 +00:00
libgomp
libiberty make-obstacks-texi.pl: New. 2013-03-06 09:38:22 +01:00
libitm
libjava Use pthread_equal rather than != to compare thread IDs. 2013-03-13 21:21:27 +00:00
libmudflap re PR tree-optimization/53265 (Warn when undefined behavior implies smaller iteration count) 2013-03-14 10:13:36 +01:00
libobjc
libquadmath re PR libquadmath/55473 (quadmath.h should have extern "C" for C++ users) 2013-03-07 08:53:10 +01:00
libsanitizer Fix up ChangeLog entry date. 2013-03-22 15:17:24 +01:00
libssp
libstdc++-v3 re PR libstdc++/56678 ([c++11] non-uglified name in <chrono>) 2013-03-22 10:44:42 +00:00
lto-plugin
maintainer-scripts * crontab: Enable snapshots from gcc-4_8-branch. 2013-03-16 08:22:35 +01:00
zlib
.gitignore
ABOUT-NLS
ChangeLog
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure
configure.ac configure.ac: Set libgloss_dir for the aarch64*-*-* targets. 2013-02-15 17:45:54 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME
depcomp
install-sh Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
libtool-ldflags
libtool.m4
lt~obsolete.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS
Makefile.def
Makefile.in Makefile.def (install-target-libsanitizer): Depend on install-target-libstdc++-v3. 2013-01-14 16:15:21 +00:00
Makefile.tpl
missing Update automake-provided files in the toplevel. 2009-08-22 11:47:16 +00:00
mkdep
mkinstalldirs
move-if-change
README
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.