1 // PR debug/83084
2 // { dg-do compile }
3 // { dg-options "-O2 -fcompare-debug -Wno-return-type" }
4 // { dg-xfail-if "" { powerpc-ibm-aix* } }
5 
6 enum E { F };
7 template <E = F> struct A {
8   bool foo ();
9   int b;
10 };
foo()11 template <> bool A<>::foo () {
12   int a;
13   do
14     if (a)
15       return false;
16   while (__atomic_compare_exchange_n (&b, &a, 0, 1, 4, 0));
17 }
18