summaryrefslogtreecommitdiff
path: root/libatomic
AgeCommit message (Collapse)Author
2017-08-14Update ChangeLog and version files for releaserguenth
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@251081 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-02Update ChangeLog and version files for releasegccadmin
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@247493 138bc75d-0d04-0410-961f-82ee72b054a4
2017-02-06RISC-V Port: libatomicpalmer
2017-02-06 Palmer Dabbelt <palmer@dabbelt.com> * configure.tgt: Add RISC-V tuple. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245227 138bc75d-0d04-0410-961f-82ee72b054a4
2017-02-01Fix __atomic to not implement atomic loads with CAS.torvald
gcc/ * builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free" conditional on existance of a fast atomic load. * optabs-query.c (can_atomic_load_p): New function. * optabs-query.h (can_atomic_load_p): Declare it. * optabs.c (expand_atomic_exchange): Always delegate to libatomic if no fast atomic load is available for the particular size of access. (expand_atomic_compare_and_swap): Likewise. (expand_atomic_load): Likewise. (expand_atomic_store): Likewise. (expand_atomic_fetch_op): Likewise. * testsuite/lib/target-supports.exp (check_effective_target_sync_int_128): Remove x86 because it provides no fast atomic load. (check_effective_target_sync_int_128_runtime): Likewise. libatomic/ * acinclude.m4: Add #define FAST_ATOMIC_LDST_*. * auto-config.h.in: Regenerate. * config/x86/host-config.h (FAST_ATOMIC_LDST_16): Define to 0. (atomic_compare_exchange_n): New. * glfree.c (EXACT, LARGER): Change condition and add comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245098 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-30[ARM][PR target/78945] Fix libatomic on armv7-mnsz
ARM libatomic inline asm uses sel, uadd8, uadd16 instructions which are only available if __ARM_FEATURE_SIMD32 is defined. libatomic/ 2017-01-30 Szabolcs Nagy <szabolcs.nagy@arm.com> PR target/78945 * config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245023 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-21 PR other/79046jakub
libatomic/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libffi/ * configure.ac: Add GCC_BASE_VER. * include/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * testsuite/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * Makefile.in: Regenerated. * man/Makefile.in: Regenerated. libgomp/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libitm/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libmpx/ * mpxrt/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * mpxwrap/Makefile.am (gcc_version): Likewise. * mpxrt/Makefile.in: Regenerated. * mpxwrap/Makefile.in: Regenerated. liboffloadmic/ * plugin/configure.ac: Add GCC_BASE_VER. * plugin/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * plugin/configure: Regenerated. * plugin/aclocal.m4: Regenerated. * plugin/Makefile.in: Regenerated. libsanitizer/ * interception/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * asan/Makefile.am (gcc_version): Likewise. * ubsan/Makefile.am (gcc_version): Likewise. * sanitizer_common/Makefile.am (gcc_version): Likewise. * lsan/Makefile.am (gcc_version): Likewise. * tsan/Makefile.am (gcc_version): Likewise. * interception/Makefile.in: Regenerated. * asan/Makefile.in: Regenerated. * ubsan/Makefile.in: Regenerated. * sanitizer_common/Makefile.in: Regenerated. * lsan/Makefile.in: Regenerated. * tsan/Makefile.in: Regenerated. libvtv/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244742 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-17 PR other/79046jakub
* configure: Regenerated. config/ * acx.m4 (GCC_BASE_VER): New m4 function. (ACX_TOOL_DIRS): Require GCC_BASE_VER, for --with-gcc-major-version-only use just major number from BASE-VER. gcc/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. (CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s). (gcc.o): Depend on $(BASEVER). * common.opt (dumpfullversion): New option. * gcc.c (driver_handle_option): Handle OPT_dumpfullversion. * doc/invoke.texi: Document -dumpfullversion. * doc/install.texi: Document --with-gcc-major-version-only. * configure: Regenerated. libatomic/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. libgomp/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. libgcc/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. libssp/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * Makefile.in: Regenerated. liboffloadmic/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * aclocal.m4: Include ../config/acx.m4. * configure: Regenerated. * Makefile.in: Regenerated. libquadmath/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * Makefile.in: Regenerated. libmpx/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * Makefile.in: Regenerated. libada/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. lto-plugin/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * Makefile.in: Regenerated. libitm/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. fixincludes/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. libcilkrts/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * aclocal.m4: Include ../config/acx.m4. * configure: Regenerated. * Makefile.in: Regenerated. libcc1/ * configure.ac: Add GCC_BASE_VER. For --with-gcc-major-version-only use just major number from BASE-VER. * configure: Regenerated. * Makefile.in: Regenerated. libobjc/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. libstdc++-v3/ * configure.ac: Add GCC_BASE_VER. * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * po/Makefile.in: Regenerated. * libsupc++/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * python/Makefile.in: Regenerated. * src/c++11/Makefile.in: Regenerated. * src/c++98/Makefile.in: Regenerated. * src/filesystem/Makefile.in: Regenerated. libvtv/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. libsanitizer/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * libbacktrace/Makefile.in: Regenerated. * interception/Makefile.in: Regenerated. * asan/Makefile.in: Regenerated. * ubsan/Makefile.in: Regenerated. * configure: Regenerated. * sanitizer_common/Makefile.in: Regenerated. * lsan/Makefile.in: Regenerated. * Makefile.in: Regenerated. * tsan/Makefile.in: Regenerated. libgfortran/ * configure.ac: Add GCC_BASE_VER. * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244521 138bc75d-0d04-0410-961f-82ee72b054a4
2017-01-01 Update copyright years.jakub
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@243994 138bc75d-0d04-0410-961f-82ee72b054a4
2016-11-15<toplevel>doko
2016-11-15 Matthias Klose <doko@ubuntu.com> * config-ml.in: Remove references to GCJ. * configure.ac: Likewise. * configure: Regenerate. config/ 2016-11-15 Matthias Klose <doko@ubuntu.com> multi.m4: Don't set GCJ. gcc/ 2016-11-15 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Remove references to gcj/libjava. * doc/invoke.texi: Likewise. */ (where necessary) 2016-11-15 Matthias Klose <doko@ubuntu.com> * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@242433 138bc75d-0d04-0410-961f-82ee72b054a4
2016-05-10[libatomic] Add missing files for RTEMS supportsh
Add missing files for: 2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de> * configure.tgt (configure_tgt_pre_target_cpu_XCFLAGS): New variable. (*-*-rtems*): New supported target. * config/rtems/host-config.h: New file. * config/rtems/lock.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@236060 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-27[libatomic] Add RTEMS supportsh
gcc/ * config/rtems.h (LIB_SPEC): Add -latomic. libatomic/ * configure.tgt (configure_tgt_pre_target_cpu_XCFLAGS): New variable. (*-*-rtems*): New supported target. * config/rtems/host-config.h: New file. * config/rtems/lock.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235466 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-25Revert the last change in libatomichjl
Need to properly check if -march=i486 is really needed for -m32 build of libatomic on Linux/x86 and Linux/x86-64. PR target/70454 * configure.tgt (XCFLAGS): Revert the last change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235411 138bc75d-0d04-0410-961f-82ee72b054a4
2016-04-20Don't build 32-bit libatomic with -march=i486 on x86-64hjl
Gcc uses the same -march= for both -m32 and -m64 on x86-64 unless --with-arch-32= is used. There is no need for -march=i486 to compile 32-bit libatomic on x86-64. PR target/70454 * configure.tgt (XCFLAGS): Don't add -march=i486 to compile 32-bit x86 target library on x86-64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235287 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-06Fix libatomic multilib parallel build (PR other/67627)nsz
The all-multi target may be built in parallel with the %_.lo targets which generate make dependencies that are parsed during the build of all-multi. This patch forces all-multi to only run after the *_.lo targets are done. libatomic: PR other/67627 * Makefile.am (all-multi): Add dependency. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232102 138bc75d-0d04-0410-961f-82ee72b054a4
2016-01-04 Update copyright years.jakub
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232055 138bc75d-0d04-0410-961f-82ee72b054a4
2015-11-18Add out-of-line versions of some <stdatomic.h> functions (PR c/65083).jsm28
PR c/65083 notes that some functions in <stdatomic.h> are normal functions, not generic functions, and so need to have out-of-line copies that can be called when macro expansion is suppressed (unlike the generic functions where DR#419 makes it undefined if you suppress a macro expansion). This patch adds such out-of-line definitions in libatomic for those six functions, at a new LIBATOMIC_1.2 symbol version, as trivial wrappers to the <stdatomic.h> macros, along with declarations of those functions in <stdatomic.h>. Tests are added that are based on the corresponding tests for the macros, but with parentheses around the function names to force the out-of-line functions to be used. Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc: * ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence) (atomic_flag_test_and_set, atomic_flag_test_and_set_explicit) (atomic_flag_clear, atomic_flag_clear_explicit): Declare as functions before defining as macros. gcc/testsuite: * gcc.dg/atomic/stdatomic-fence-2.c, gcc.dg/atomic/stdatomic-flag-2.c: New tests. libatomic: * fence.c, flag.c: New files. * Makefile.am (libatomic_la_SOURCES): Add fence.c and flag.c. * Makefile.in: Regenerate. * configure.ac (libtool_VERSION): Change to 3:0:2. * configure: Regenerate. * libatomic.map (LIBATOMIC_1.2): New symbol version. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230578 138bc75d-0d04-0410-961f-82ee72b054a4
2015-10-09Testsuite: add dg-{begin|end}-multiline-output commandsdmalcolm
This patch adds an easy way to write tests for expected multiline output. For example we can test carets and underlines for a particular diagnostic with: /* { dg-begin-multiline-output "" } typedef struct _GMutex GMutex; ^~~~~~~ { dg-end-multiline-output "" } */ multiline.exp is used by prune.exp; hence we need to load it before prune.exp via *load_gcc_lib* for the testsuites of the various non-"gcc" support libraries (e.g. boehm-gc). gcc/testsuite/ChangeLog: * lib/multiline.exp: New file. * lib/prune.exp: Load multiline.exp. (prune_gcc_output): Call into multiline.exp to handle any multiline output directives. * lib/libgo.exp: Load multiline.exp before prune.exp, using load_gcc_lib. boehm-gc/ChangeLog: * testsuite/lib/boehm-gc.exp: Load multiline.exp before prune.exp, using load_gcc_lib. libatomic/ChangeLog: * testsuite/lib/libatomic.exp: Load multiline.exp before prune.exp, using load_gcc_lib. libgomp/ChangeLog: * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp, using load_gcc_lib. libitm/ChangeLog: * testsuite/lib/libitm.exp: Load multiline.exp before prune.exp, using load_gcc_lib. libvtv/ChangeLog: * testsuite/lib/libvtv.exp: Load multiline.exp before prune.exp, using load_gcc_lib. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228655 138bc75d-0d04-0410-961f-82ee72b054a4
2015-07-142015-07-14 John Marino <gnugcc@marino.st>redi
* configure.tgt: Add *-*-dragonfly to supported targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225779 138bc75d-0d04-0410-961f-82ee72b054a4
2015-01-21Avoid misaligned atomic operationsrth
Andrew Waterman <waterman@cs.berkeley.edu> * fop_n.c (libat_fetch_op): Align address to word boundary. (libat_op_fetch): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219954 138bc75d-0d04-0410-961f-82ee72b054a4
2015-01-16 PR testsuite/64605iverbin
libatomic/ * testsuite/lib/libatomic.exp: Do not load gcc-dg.exp. * testsuite/libatomic.c/c.exp: Load gcc-dg.exp. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219722 138bc75d-0d04-0410-961f-82ee72b054a4
2015-01-09toplevel:andreast
* configure.ac: Don't add ${libgcj} for arm*-*-freebsd*. * configure: Regenerate. gcc: * config.gcc (arm*-*-freebsd*): New configuration. * config/arm/freebsd.h: New file. * config.host: Add extra components for arm*-*-freebsd*. * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE. * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE. libgcc: * config.host (arm*-*-freebsd*): Add new configuration for arm*-*-freebsd*. * config/arm/freebsd-atomic.c: New file. * config/arm/t-freebsd: Likewise. * config/arm/unwind-arm.h: Add __FreeBSD__ to the list of 'PC-relative indirect' OS's. libatomic: * configure.tgt: Exclude arm*-*-freebsd* from try_ifunc. libstdc++-v3: * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219388 138bc75d-0d04-0410-961f-82ee72b054a4
2015-01-05 Update copyright years.jakub
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219188 138bc75d-0d04-0410-961f-82ee72b054a4
2014-12-12Add load of target-utils.exp to libatomic, libitm, libvtv, libgo testsuite ↵ktkachov
drivers * testsuite/lib/libatomic.exp: Load target-utils.exp * testsuite/lib/libitm.exp: Load target-utils.exp. Move load of target-supports.exp earlier. * testsuite/lib/libvtv.exp: Load target-utils.exp git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218664 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-21Always use PIC option with -shared in libtoolhjl
Libtool needs to pass PIC option -shared when creating shared object to link regular object files with slim-lto archive. PR bootstrap/63784 * libtool.m4: Add $pic_flag with -shared. boehm-gc/ PR bootstrap/63784 * configure: Regenerated. gcc/ PR bootstrap/63784 * configure: Regenerated. libatomic/ PR bootstrap/63784 * configure: Regenerated. libbacktrace/ PR bootstrap/63784 * configure: Regenerated. libcc1/ PR bootstrap/63784 * configure: Regenerated. libcilkrts/ PR bootstrap/63784 * configure: Regenerated. libffi/ PR bootstrap/63784 * configure: Regenerated. libgfortran/ PR bootstrap/63784 * configure: Regenerated. libgomp/ PR bootstrap/63784 * configure: Regenerated. libitm/ PR bootstrap/63784 * configure: Regenerated. libjava/ PR bootstrap/63784 * configure: Regenerated. libjava/classpath/ PR bootstrap/63784 * configure: Regenerated. libobjc/ PR bootstrap/63784 * configure: Regenerated. libquadmath/ PR bootstrap/63784 * configure: Regenerated. libsanitizer/ PR bootstrap/63784 * configure: Regenerated. libssp/ PR bootstrap/63784 * configure: Regenerated. libstdc++-v3/ PR bootstrap/63784 * configure: Regenerated. libvtv/ PR bootstrap/63784 * configure: Regenerated. lto-plugin/ PR bootstrap/63784 * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217937 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-14 * cas_n.c (libat_compare_exchange): Add missing cast.law
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217536 138bc75d-0d04-0410-961f-82ee72b054a4
2014-11-11toplevel:fxcoudert
2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * libtool.m4: Fix globbing of darwin versions. boehm-gc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. gcc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libatomic/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libbacktrace/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libcc1/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libcilkrts/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libffi/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libgfortran/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libgomp/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libitm/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libobjc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libquadmath/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libsanitizer/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libssp/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libstdc++-v3/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libvtv/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. lto-plugin/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libjava/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libjava/classpath/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. zlib/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217366 138bc75d-0d04-0410-961f-82ee72b054a4
2014-08-192014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>ktietz
* configure.tgt: Add cygwin to supported targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214154 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-18 * configure.tgt (alpha*): Add -mfp-trap-mode=sui to XCFLAGS.uros
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212778 138bc75d-0d04-0410-961f-82ee72b054a4
2014-06-17 * Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags.ktietz
* configure.ac (ACX_LT_HOST_FLAGS): New. (target_thread_file): New. * configure.tgt (mingw): Add mingw support. * config/mingw/host-config.h: New file. * config/mingw/lock.c: Likewise. * Makefile.in: Regenerated. * configure: Likewise. * aclocal.m4: Likewise. * testsuite/Makefile.in: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211747 138bc75d-0d04-0410-961f-82ee72b054a4
2014-02-20PR c++/60272rth
gcc/ * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize on failure the store back into EXPECT. libatomic/ * cas_n.c (libat_compare_exchange): Conditionalize on failure the store back to EPTR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207966 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-02Update copyright years in libatomic/rsandifo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206291 138bc75d-0d04-0410-961f-82ee72b054a4
2013-12-09 * libatomic/ChangeLog: Fix ChangeLog entry.uros
* libgcc/ChangeLog: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205812 138bc75d-0d04-0410-961f-82ee72b054a4
2013-12-09libgcc/ChangeLog:uros
2013-12-09 Uros Bizjak <ubizjak@gmail.com> * config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions when __TARGET_SSE__ is defined. libatomic/ChangeLog: 2013-12-09 Uros Bizjak <ubizjak@gmail.com> * config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE instructions when __TARGET_SSE__ is defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205811 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-18 * testsuite/libatomic.c/atomic-compare-exchange-1.c,jsm28
testsuite/libatomic.c/atomic-compare-exchange-2.c, testsuite/libatomic.c/atomic-compare-exchange-3.c, testsuite/libatomic.c/atomic-compare-exchange-4.c, testsuite/libatomic.c/atomic-compare-exchange-5.c, testsuite/libatomic.c/atomic-exchange-1.c, testsuite/libatomic.c/atomic-exchange-2.c, testsuite/libatomic.c/atomic-exchange-3.c, testsuite/libatomic.c/atomic-exchange-4.c, testsuite/libatomic.c/atomic-exchange-5.c, testsuite/libatomic.c/atomic-generic.c, testsuite/libatomic.c/atomic-load-1.c, testsuite/libatomic.c/atomic-load-2.c, testsuite/libatomic.c/atomic-load-3.c, testsuite/libatomic.c/atomic-load-4.c, testsuite/libatomic.c/atomic-load-5.c, testsuite/libatomic.c/atomic-op-1.c, testsuite/libatomic.c/atomic-op-2.c, testsuite/libatomic.c/atomic-op-3.c, testsuite/libatomic.c/atomic-op-4.c, testsuite/libatomic.c/atomic-op-5.c, testsuite/libatomic.c/atomic-store-1.c, testsuite/libatomic.c/atomic-store-2.c, testsuite/libatomic.c/atomic-store-3.c, testsuite/libatomic.c/atomic-store-4.c, testsuite/libatomic.c/atomic-store-5.c: Declare main as returning int. Do not require built-in sync support or add target-specific options. * testsuite/libatomic.c/atomic-exchange-1.c, testsuite/libatomic.c/atomic-exchange-2.c, testsuite/libatomic.c/atomic-exchange-3.c, testsuite/libatomic.c/atomic-exchange-4.c, testsuite/libatomic.c/atomic-exchange-5.c: Separate increments of count from expression using value of count. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204953 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-10 * config/x86/fenv.c: New file.uros
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204634 138bc75d-0d04-0410-961f-82ee72b054a4
2013-11-07gcc:jsm28
2013-11-05 Andrew MacLeod <amacleod@redhat.com> Joseph Myers <joseph@codesourcery.com> * tree-core.h (enum cv_qualifier): Add TYPE_QUAL_ATOMIC. (enum tree_index): Add TI_ATOMICQI_TYPE, TI_ATOMICHI_TYPE, TI_ATOMICSI_TYPE, TI_ATOMICDI_TYPE and TI_ATOMICTI_TYPE. (struct tree_base): Add atomic_flag field. * tree.h (TYPE_ATOMIC): New accessor macro. (TYPE_QUALS, TYPE_QUALS_NO_ADDR_SPACE): Add TYPE_QUAL_ATOMIC. (TYPE_QUALS_NO_ADDR_SPACE_NO_ATOMIC): New macro. (atomicQI_type_node, atomicHI_type_node, atomicSI_type_node) (atomicDI_type_node, atomicTI_type_node): New macros for type nodes. * tree.c (set_type_quals): Set TYPE_ATOMIC. (find_atomic_core_type): New function. (build_qualified_type): Adjust alignment for qualified types. (build_atomic_base): New function (build_common_tree_nodes): Build atomicQI_type_node, atomicHI_type_node, atomicSI_type_node, atomicDI_type_node and atomicTI_type_node. * print-tree.c (print_node): Print atomic qualifier. * tree-pretty-print.c (dump_generic_node): Print atomic type attribute. * target.def (atomic_assign_expand_fenv): New hook. * doc/tm.texi.in (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New @hook. * doc/tm.texi: Regenerate. * targhooks.c (default_atomic_assign_expand_fenv): New function. * targhooks.h (default_atomic_assign_expand_fenv): Declare. * sync-builtins.def (__atomic_feraiseexcept): New built-in function. * config/i386/i386-builtin-types.def (VOID_FTYPE_PUSHORT): New function type. * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_FNSTENV, IX86_BUILTIN_FLDENV, IX86_BUILTIN_FNSTSW and IX86_BUILTIN_FNCLEX. (bdesc_special_args): Add __builtin_ia32_fnstenv, __builtin_ia32_fldenv, __builtin_ia32_fnstsw and __builtin_ia32_fnclex. (ix86_expand_builtin): Handle the new built-in functions. (ix86_atomic_assign_expand_fenv): New function. (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New macro. * config/i386/i386.md (UNSPECV_FNSTENV, UNSPECV_FLDENV) (UNSPECV_FNSTSW, UNSPECV_FNCLEX): New unspecs. (fnstenv, fldenv, fnstsw, fnclex): New insns. gcc/c-family: 2013-11-05 Andrew MacLeod <amacleod@redhat.com> Joseph Myers <joseph@codesourcery.com> * c-common.h (enum rid): Add RID_ATOMIC. * c-common.c (c_common_reswords): Add _Atomic. (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument. (keyword_is_type_qualifier): Accept RID_ATOMIC. * c-format.c (check_format_types): Check for extra _Atomic qualifiers in format argument. * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier. (pp_c_type_qualifier_list): Mention _Atomic in comment. gcc/c: 2013-11-05 Joseph Myers <joseph@codesourcery.com> Andrew MacLeod <amacleod@redhat.com> * c-aux-info.c (gen_type): Handle atomic qualifier. * c-decl.c (validate_proto_after_old_defn): Do not remove atomic qualifiers when compating types. (shadow_tag_warned): Handle atomic_p in declspecs. (quals_from_declspecs): Likewise. (start_decl): Use c_type_promotes_to when promoting argument types. (grokdeclarator): Handle _Atomic. (get_parm_info): Diagnose any qualifier on "void" as only parameter. (store_parm_decls_oldstyle): Do not remove atomic qualifiers when comparing types. Use c_type_promotes_to when promoting argument types. (finish_function): Use c_type_promotes_to when promoting argument types. (build_null_declspecs): Handle atomic_p in declspecs. (declspecs_add_qual): Handle RID_ATOMIC. * c-parser.c (c_token_starts_typename, c_token_is_qualifier) (c_token_starts_declspecs): Handle RID_ATOMIC. (c_parser_declspecs): Handle atomic type specifiers and qualifiers. (c_parser_typeof_specifier): Remove const and _Atomic qualifiers from types of expressions with atomic type. (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue. (c_parser_attribute_any_word): Handle RID_ATOMIC. (c_parser_initializer, c_parser_initelt, c_parser_initval) (c_parser_statement_after_labels, c_parser_switch_statement) (c_parser_for_statement, c_parser_expr_no_commas) (c_parser_conditional_expression, c_parser_binary_expression) (c_parser_cast_expression, c_parser_unary_expression) (c_parser_postfix_expression) (c_parser_postfix_expression_after_primary, c_parser_expression): Use convert_lvalue_to_rvalue. (c_parser_expression_conv, c_parser_expr_list): Document conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue. (c_parser_objc_synchronized_statement): Use convert_lvalue_to_rvalue. (c_parser_objc_selector): Handle RID_ATOMIC. (c_parser_objc_receiver, c_parser_array_notation): Use convert_lvalue_to_rvalue. * c-tree.h (ctsk_typeof): Adjust comment to mention use for _Atomic (type-name). (struct c_declspecs): Add atomic_p field. (convert_lvalue_to_rvalue): Declare. * c-typeck.c (c_type_promotes_to): Promote atomic types to corresponding atomic types. (qualify_type): Don't add _Atomic qualifiers from second argument. (comp_target_types): Do not allow _Atomic mismatches. (type_lists_compatible_p): Do not remove atomic qualifiers when comparing types. (really_atomic_lvalue, convert_lvalue_to_rvalue) (build_atomic_assign): New functions. (build_unary_op): Use build_atomic_assign for atomic increment and decrement. (build_conditional_expr): Do not treat _Atomic void as a qualified version of void. (build_modify_expr): Use build_atomic_assign for atomic LHS. (find_anonymous_field_with_type, convert_to_anonymous_field) (convert_for_assignment): Do not remove atomic qualifiers when comparing types. (digest_init): Do not accept initialization of arrays of atomic elements by string constants. (build_asm_expr): Use convert_lvalue_to_rvalue. (build_binary_op): Do not treat _Atomic void as a qualified version of void. gcc/objc: 2013-11-05 Andrew MacLeod <amacleod@redhat.com> * objc-act.c (objc_push_parm): Handle atomic qualifier. gcc/testsuite: 2013-11-05 Joseph Myers <joseph@codesourcery.com> * lib/target-supports.exp (check_effective_target_fenv_exceptions): New function. * lib/atomic-dg.exp, gcc.dg/atomic/atomic.exp: New files. * gcc.dg/atomic/c11-atomic-exec-1.c, gcc.dg/atomic/c11-atomic-exec-2.c, gcc.dg/atomic/c11-atomic-exec-3.c, gcc.dg/atomic/c11-atomic-exec-4.c, gcc.dg/atomic/c11-atomic-exec-5.c, gcc.dg/c11-atomic-1.c, gcc.dg/c11-atomic-2.c, gcc.dg/c11-atomic-3.c, gcc.dg/c90-atomic-1.c, gcc.dg/c99-atomic-1.c: New tests. libatomic: 2013-11-05 Joseph Myers <joseph@codesourcery.com> * fenv.c: New file. * libatomic.map (LIBATOMIC_1.1): New symbol version. Include __atomic_feraiseexcept. * configure.ac (libtool_VERSION): Change to 2:0:1. (fenv.h): Test for header. * Makefile.am (libatomic_la_SOURCES): Add fenv.c. * Makefile.in, auto-config.h.in, configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204544 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-17[AArch64] Enable building libatomic on AArch64.mshawcroft
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203774 138bc75d-0d04-0410-961f-82ee72b054a4
2013-09-20 * libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonicalamodra
ppc host match. Support little-endian powerpc linux hosts. Regenerate configure throughout. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202773 138bc75d-0d04-0410-961f-82ee72b054a4
2013-03-24Avoid non constant memory model uses in libatomicak
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 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197017 138bc75d-0d04-0410-961f-82ee72b054a4
2013-01-14Update copyright years in libatomic.rsandifo
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195164 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-18 PR go/55201ian
* Makefile.am (noinst_LTLIBRARIES): Define new make variable. (libatomic_convenience_la_SOURCES): Likewise. (libatomic_convenience_la_LIBADD): Likewise. * Makefile.in: Rebuild. * testsuite/Makefile.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194592 138bc75d-0d04-0410-961f-82ee72b054a4
2012-12-04libatomic: Detect and build for ARM architecture armv8-a.mshawcroft
2012-12-04 Marcus Shawcroft <marcus.shawcroft@arm.com> * config/arm/arm-config.h (__ARM_ARCH_8A__): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194150 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-222012-11-21 Matthias Klose <doko@ubuntu.com>doko
* configure.tgt (i[3456]86): Handle -mx32 like -m64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193720 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-04libatomic/tschwinge
* acinclude.m4 (LIBAT_CHECK_IFUNC): Clarify message. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193145 138bc75d-0d04-0410-961f-82ee72b054a4
2012-11-04libatomic/tschwinge
* configure: Regenerate. libitm/ * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193144 138bc75d-0d04-0410-961f-82ee72b054a4
2012-10-23AArch64 [6/10]mshawcroft
2012-10-23 Sofiane Naci <sofiane.naci@arm.com> Mark libatomic unsupported in AArch64. * configure.tgt: Mark libatomic unsupported. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192727 138bc75d-0d04-0410-961f-82ee72b054a4
2012-09-20 PR other/43620jakub
libatomic/ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. * configure: Regenerate. * Makefile.in: Regenerate. libitm/ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist. * configure: Regenerate. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191565 138bc75d-0d04-0410-961f-82ee72b054a4
2012-09-14 * configure: Regenerated.dje
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191319 138bc75d-0d04-0410-961f-82ee72b054a4
2012-05-22 PR other/53231danglin
* tas_n.c (libat_test_and_set): Correct return. Remove unused variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187783 138bc75d-0d04-0410-961f-82ee72b054a4
2012-05-16Regenerate configure files for libtool.m4 changehjl
boehm-gc/ * configure: Regenerated. gcc/ * configure: Regenerated. libatomic/ * configure: Regenerated. libffi/ * configure: Regenerated. libgfortran/ * configure: Regenerated. libgomp/ * configure: Regenerated. libitm/ * configure: Regenerated. libjava/classpath/ * configure: Regenerated. libjava/ * configure: Regenerated. libmudflap/ * configure: Regenerated. libobjc/ * configure: Regenerated. libquadmath/ * configure: Regenerated. libssp/ * configure: Regenerated. libstdc++-v3/ * configure: Regenerated. lto-plugin/ * configure: Regenerated. zlib/ * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187616 138bc75d-0d04-0410-961f-82ee72b054a4