PR c++/71675 - __atomic_compare_exchange_n returns wrong type for typed enum
commitefa8e86ecde76775981faba460b8eb0edddf4539
authormsebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Jul 2016 18:32:08 +0000 (22 18:32 +0000)
committermsebor <msebor@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Jul 2016 18:32:08 +0000 (22 18:32 +0000)
treea853bd1f354648d922e4b463a253980804d5fdd2
parentbe239ed2ba619747b64629895116f209b58baee8
PR c++/71675 - __atomic_compare_exchange_n returns wrong type for typed enum

gcc/c-family/ChangeLog:

PR c++/71675
* c-common.c (resolve_overloaded_builtin): Avoid converting
__atomic_compare_exchange_n return type to that of what its
first argument points to.

gcc/testsuite/ChangeLog:

PR c++/71675
* g++.dg/ext/atomic-3.C: New test.
* gcc.dg/atomic/pr71675.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238664 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/atomic-3.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/atomic/pr71675.c [new file with mode: 0644]