[Bug target/97981] [11 regression] 32-bit x86 'gcc.dg/atomic/c11-atomic-exec-1.c' execution test since r11-5188-g32934a4f45a72144
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
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
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
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
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
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.