[Bug target/97981] [11 regression] 32-bit x86 'gcc.dg/atomic/c11-atomic-exec-1.c' execution test since r11-5188-g32934a4f45a72144

2021-01-21 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97981

Jakub Jelinek  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED
 CC||jakub at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek  ---
Assuming fixed.  Haven't seen the FAILs since Dec 8th.

[Bug target/97981] [11 regression] 32-bit x86 'gcc.dg/atomic/c11-atomic-exec-1.c' execution test since r11-5188-g32934a4f45a72144

2020-12-07 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97981

--- Comment #5 from CVS Commits  ---
The master branch has been updated by Martin Uecker :

https://gcc.gnu.org/g:a19a242c708060e067b4fd5a76995144e6f239d0

commit r11-5832-ga19a242c708060e067b4fd5a76995144e6f239d0
Author: Martin Uecker 
Date:   Mon Dec 7 23:51:25 2020 +0100

C: Fix atomic loads. [PR97981]

To handle atomic loads correctly, we need to move the code that
drops qualifiers in lvalue conversion after the code that
handles atomics.

2020-12-07  Martin Uecker  

gcc/c/
PR c/97981
* c-typeck.c (convert_lvalue_to_rvalue): Move the code
that drops qualifiers to the end of the function.

gcc/testsuite/
PR c/97981
* gcc.dg/pr97981.c: New test.
* gcc.dg/pr60195.c: Adapt test.

[Bug target/97981] [11 regression] 32-bit x86 'gcc.dg/atomic/c11-atomic-exec-1.c' execution test since r11-5188-g32934a4f45a72144

2020-12-04 Thread muecker at gwdg dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97981

--- Comment #4 from Martin Uecker  ---
I think the code to drop qualifiers needs to be moved below the check for
atomic. I will look into it. (I wonder why this passed checks for me).

[Bug target/97981] [11 regression] 32-bit x86 'gcc.dg/atomic/c11-atomic-exec-1.c' execution test since r11-5188-g32934a4f45a72144

2020-12-04 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97981

--- Comment #3 from Martin Liška  ---
The revision causes the following diff in GENERIC:

@@ -10,8 +10,8 @@
 static atomic volatile double a;
 static atomic volatile double b = 0.0;
   # DEBUG BEGIN STMT;
-  if (TARGET_EXPR (__atomic_load_8 ((const volatile void *) &b, 5)))>>;
-  __atomic_store_8 ((volatile void *) &a, VIEW_CONVERT_EXPR(D.1886), 5);, D.1886 != 0.0;)
+  if (TARGET_EXPR ;
+  __atomic_store_8 ((volatile void *) &a, VIEW_CONVERT_EXPR(D.1885), 5);, D.1885 != 0.0;)
 {
   # DEBUG BEGIN STMT;
   __builtin_abort ();

[Bug target/97981] [11 regression] 32-bit x86 'gcc.dg/atomic/c11-atomic-exec-1.c' execution test

2020-12-04 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97981

Martin Liška  changed:

   What|Removed |Added

 CC||marxin at gcc dot gnu.org,
   ||muecker at gwdg dot de
  Known to fail||11.0
  Known to work||10.2.0
   Keywords|needs-bisection |
   See Also||https://gcc.gnu.org/bugzill
   ||a/show_bug.cgi?id=98029

--- Comment #2 from Martin Liška  ---
Confirmed, started with r11-5188-g32934a4f45a72144.

There's reduced test-case:

$ cat atomic.i
int main(void) {
  static volatile _Atomic(double) a, b = (double)((0));
  if ((a = b) != ((double)((0
__builtin_abort();

  return 0;
}

$ gcc -g atomic.i -m32 -c -O2 && gcc-10 -m32 -latomic atomic.o && valgrind
./a.out
==2400== Memcheck, a memory error detector
==2400== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==2400== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==2400== Command: ./a.out
==2400== 
==2400== Conditional jump or move depends on uninitialised value(s)
==2400==at 0x8049081: main (atomic.i:3)
==2400== 
==2400== Conditional jump or move depends on uninitialised value(s)
==2400==at 0x8049087: main (atomic.i:3)
==2400== 
==2400== 
==2400== Process terminating with default action of signal 6 (SIGABRT): dumping
core
==2400==at 0x40C17D6: raise (in /lib/libc-2.32.so)
==2400==by 0x40A9313: abort (in /lib/libc-2.32.so)
==2400==by 0x8049054: main.cold (atomic.i:4)
==2400==by 0x40AAF75: (below main) (in /lib/libc-2.32.so)
==2400== 
==2400== HEAP SUMMARY:
==2400== in use at exit: 0 bytes in 0 blocks
==2400==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==2400== 
==2400== All heap blocks were freed -- no leaks are possible
==2400== 
==2400== Use --track-origins=yes to see where uninitialised values come from
==2400== For lists of detected and suppressed errors, rerun with: -s
==2400== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
Aborted (core dumped)

[Bug target/97981] [11 regression] 32-bit x86 'gcc.dg/atomic/c11-atomic-exec-1.c' execution test

2020-11-25 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97981

Richard Biener  changed:

   What|Removed |Added

   Keywords||needs-bisection, wrong-code
 Status|UNCONFIRMED |NEW
 Target||i?86-*-*
   Target Milestone|--- |11.0
   Last reconfirmed||2020-11-25
  Component|regression  |target
   Priority|P3  |P1
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener  ---
IIRC I've also seen this.