[Bug c++/60689] Bogus error with atomic::exchange
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 27 20:11:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60689
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-03-27
CC| |rth at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
#ifndef N
#define N 9
#endif
struct S { char a[N]; };
int main()
{
S a, b, c;
__atomic_exchange(&a, &b, &c, __ATOMIC_SEQ_CST);
}
$ g++ -std=c++11 aa.cc -DN=8
$ g++ -std=c++11 aa.cc
aa.cc: In function ‘int main()’:
aa.cc:10:49: error: invalid conversion from ‘S*’ to ‘long unsigned int’
[-fpermissive]
__atomic_exchange(&a, &b, &c, __ATOMIC_SEQ_CST);
^
aa.cc:10:49: error: invalid conversion from ‘int’ to ‘void*’ [-fpermissive]
aa.cc:10:49: error: too few arguments to function ‘void __atomic_exchange(long
unsigned int, volatile void*, void*, void*, int)’
<built-in>: note: declared here
More information about the Gcc-bugs
mailing list