// PR debug/83084 // { dg-do compile } // { dg-options "-O2 -fcompare-debug -Wno-return-type" } enum E { F }; template 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)); }