runtime, sync: use __atomic intrinsics instead of __sync
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 1 Feb 2019 21:55:38 +0000 (21:55 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 1 Feb 2019 21:55:38 +0000 (21:55 +0000)
commitb52a3881f04799d410f7ec70d022179c8d734459
treeeace57a9fb5df73173371815f0a0e1a5913a77a8
parenta53a893b4fe04ec966a4ec178ee8f394426a5dad
runtime, sync: use __atomic intrinsics instead of __sync

    GCC has supported the __atomic intrinsics since 4.7.  They are better
    than the __sync intrinsics in that they specify a memory model and,
    more importantly for our purposes, they are reliably implemented
    either in the compiler or in libatomic.

    Fixes https://gcc.gnu.org/PR52084

    Reviewed-on: https://go-review.googlesource.com/c/160820

From-SVN: r268458
14 files changed:
gcc/go/gofrontend/MERGE
libgo/Makefile.am
libgo/Makefile.in
libgo/config.h.in
libgo/configure
libgo/configure.ac
libgo/go/runtime/testdata/testprogcgo/lockosthread.c
libgo/go/runtime/testdata/testprogcgo/threadpprof.go
libgo/go/runtime/testdata/testprogcgo/tracebackctxt_c.c
libgo/go/sync/atomic/atomic.c
libgo/go/sync/cas.c [deleted file]
libgo/misc/cgo/test/issue7978.go
libgo/runtime/runtime.h
libgo/runtime/thread.c [deleted file]