17 lines
304 B
C++
17 lines
304 B
C++
|
// PR debug/83084
|
||
|
// { dg-do compile }
|
||
|
// { dg-options "-O2 -fcompare-debug -Wno-return-type" }
|
||
|
|
||
|
enum E { F };
|
||
|
template <E = F> struct A {
|
||
|
bool foo ();
|
||
|
int b;
|
||
|
};
|
||
|
template <> bool A<>::foo () {
|
||
|
int a;
|
||
|
do
|
||
|
if (a)
|
||
|
return false;
|
||
|
while (__atomic_compare_exchange_n (&b, &a, 0, 1, 4, 0));
|
||
|
}
|