[Bug target/96056] New: arm v6/v7: Missing acquire barrier for __atomic_compare_exchange(__ATOMIC_RELEASE, __ATOMIC_ACQUIRE)

2020-07-04 Thread izbyshev at ispras dot ru
Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: izbyshev at ispras dot ru CC: amonakov at gcc dot gnu.org Target Milestone: --- $ cat test.c void foo(int x, int

[Bug other/99903] New: 32-bit x86 frontends randomly crash while reporting timing on Windows

2021-04-03 Thread izbyshev at ispras dot ru via Gcc-bugs
Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: izbyshev at ispras dot ru Target Milestone: --- Host: i686-w64-mingw32 Target: i686-w64-mingw32 Build: i686-w64-mingw32 Created attachment

[Bug other/99903] 32-bit x86 frontends randomly crash while reporting timing on Windows

2021-04-04 Thread izbyshev at ispras dot ru via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99903 --- Comment #2 from Alexey Izbyshev --- > Is there a way to bind GCC to a specific core and test again? Yes, `repro.py` can be run via `start /affinity MASK`. I've started two experiments, with one- and two-processor masks. They haven't crashed

[Bug other/99903] 32-bit x86 frontends randomly crash while reporting timing on Windows

2021-04-06 Thread izbyshev at ispras dot ru via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99903 --- Comment #3 from Alexey Izbyshev --- Crashes eventually occurred with both one- and two-processor affinity masks, so pinning GCC to a single core doesn't help. But I've tracked the reason down. When `get_time()` from `gcc/timevar.c` gets inli

[Bug c++/107360] ICE on sizeof(*f(x)) when f's (deduced) return type is a pointer to VLA

2023-01-29 Thread izbyshev at ispras dot ru via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107360 --- Comment #4 from Alexey Izbyshev --- (In reply to Martin Uecker from comment #3) > I think there there are cases were variably modified > return types are allowed in ISO C: > > void f(int n, double (*(bar(void)))[n]) > { > double (*p)[n]

[Bug driver/105355] New: -msmall-data-limit= unexpectedly accepts a separate argument

2022-04-22 Thread izbyshev at ispras dot ru via Gcc-bugs
Priority: P3 Component: driver Assignee: unassigned at gcc dot gnu.org Reporter: izbyshev at ispras dot ru Target Milestone: --- Target: riscv64-linux-gnu "msmall-data-limit=" is marked as both Joined and Separate at https://gcc.gnu.org/git?p

[Bug target/105355] -msmall-data-limit= unexpectedly accepts a separate argument

2022-04-26 Thread izbyshev at ispras dot ru via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105355 --- Comment #3 from Alexey Izbyshev --- (In reply to Martin Liška from comment #2) Yes, "gcc test.h -o test.pch" uses the separate spelling of "--output-pch=" in cc1 command line (but, curiously, "gcc test.h" uses the joined spelling).

[Bug preprocessor/106767] New: Failure to detect recursive macro calls due to _Pragma(pop_macro)

2022-08-28 Thread izbyshev at ispras dot ru via Gcc-bugs
Priority: P3 Component: preprocessor Assignee: unassigned at gcc dot gnu.org Reporter: izbyshev at ispras dot ru CC: amonakov at gcc dot gnu.org Target Milestone: --- GCC preprocessor appears to behave as if each _Pragma(pop_macro("m"))

[Bug preprocessor/106767] Failure to detect recursive macro calls due to _Pragma(pop_macro)

2022-08-28 Thread izbyshev at ispras dot ru via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106767 --- Comment #2 from Alexey Izbyshev --- Old MSVC doesn't support _Pragma, and I can make newer one recognize _Pragma only by unquoting the string literal, so the first test case becomes: // Removed stringizing in _Pragma #define P(x) _Pragma(x)

[Bug preprocessor/106767] Failure to detect recursive macro calls due to _Pragma(pop_macro)

2022-08-28 Thread izbyshev at ispras dot ru via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106767 --- Comment #3 from Alexey Izbyshev --- > I can make newer one recognize _Pragma only by unquoting the string literal I've investigated this strange behavior because MSVC docs do claim that C99 _Pragma is properly supported[1]. It turned out th

[Bug preprocessor/106767] Failure to detect recursive macro calls due to _Pragma(pop_macro)

2022-08-29 Thread izbyshev at ispras dot ru via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106767 --- Comment #5 from Alexey Izbyshev --- (In reply to Richard Biener from comment #4) > Is there a public specification of the Microsoft extension and how it is > supposed to behave with recursion or is the recursion behavior specified > by the C

[Bug c++/107360] New: ICE on sizeof(*f(x)) when f's (deduced) return type is a pointer to VLA

2022-10-23 Thread izbyshev at ispras dot ru via Gcc-bugs
erity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: izbyshev at ispras dot ru Target Milestone: --- auto f(int n) { int (*a)[n] = 0; return a; } int g() { return sizeof *f(1); } Output of GCC 12.2: during RTL

[Bug c++/107360] ICE on sizeof(*f(x)) when f's (deduced) return type is a pointer to VLA

2022-10-23 Thread izbyshev at ispras dot ru via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107360 --- Comment #2 from Alexey Izbyshev --- (In reply to Andrew Pinski from comment #1) > Maybe this should be invalid code ... Yes, I think it should be invalid. VLAs are not allowed in function return types in C. VLAs in C++ are a GCC extension,