This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/81931] [8 regression] r251260 breaks many tests on powerpc64


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81931

--- Comment #4 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
On gcc110.fsffrance.org, I see gcc.dg/atomic/c11-atomic-exec-1.c failing with
an execution error with a simple stage1 compiler.  Perhaps this is a different
problem, but it can be distilled to:

int
main (void)
{
  static volatile _Atomic (_Complex float) var = (_Complex float) 1;
  if (var != (_Complex float) 1)
    __builtin_abort ();
}

With the wide-int.h patch on trunk, the .ccp1 dump looks broken, as it's
unconditionally calling the abort:

main ()
{
  static atomic volatile complex float var = __complex__ (1.0e+0, 0.0);
  complex float D.2549;
  long unsigned int _1;

  <bb 2> [0.00%] [count: INV]:
  _1 = __atomic_load_8 (&var, 5);
  _9 = __complex__ (0.0, 0.0);
  __builtin_abort ();
}

Interestingly, I cannot reproduce this with a cross build from x86-64, only
natively.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]