[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-29 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #28 from fiesh at zefix dot tv --- I guess if the optimization goal of -Os is just to reduce the *total* size, then this is not a regression but an improvement. It's just that this is the wrong goal.

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-28 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #26 from fiesh at zefix dot tv --- (Also note that I'll gladly provide the source code for the entire project if that helps somebody.)

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-28 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #25 from fiesh at zefix dot tv --- > But this looks like a trade off of text size vs data size. > > I still don't see the huge difference which you were originally seeing. I specifically created a test case that was minimal and resu

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-27 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #22 from fiesh at zefix dot tv --- And reduced somewhat more by hand, no idea why cvise couldn't figure this out: -8<- struct h { int g; constexpr h() : g() {} }; struct n { h m{}; }; struct H { int p[6]{0, 1, 2, 3,

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-27 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #21 from fiesh at zefix dot tv --- Ok, reduction finally done: -8<- template struct b { typedef int c[a]; }; template struct f { b::c d; }; namespace e::detail { struct h { int g; constexpr h() : g() {} }; } // na

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-21 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #20 from fiesh at zefix dot tv --- Actually, this is not a good reduction since the original unreduced test case does not rely on `-fimplicit-constexpr`. (One needs to modify the source trivially by removing the call to the non-const

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-21 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 fiesh at zefix dot tv changed: What|Removed |Added Keywords|needs-source| --- Comment #19 from fiesh at z

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-20 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #18 from fiesh at zefix dot tv --- Ok, finally here's a reduced testcase: -8<- typedef int c __attribute__((__mode__(__SI__))); typedef int d __attribute__((__mode__(__SI__))); template < typename f, int g > struct h { typ

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-17 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #17 from fiesh at zefix dot tv --- Actually, my interestingness test is broken since cvise expects it to take its argument in the current working directory...

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-17 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #16 from fiesh at zefix dot tv --- Ah also I just realized it's cvise's CommentsPass that breaks the TU right away and keeps it from being reduced further. Disabling this pass now makes cvise do something. So hopefully, there'll be

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-17 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #15 from fiesh at zefix dot tv --- To reproduce my sizes: ~ % podman run -it -v /tmp:/tmp alpine:3.21 sh -c 'sed -i -e s/https/http/ /etc/apk/repositories && apk -q add gcc-avr && avr-g++ --version && avr-g++ -fno-exceptions -std=c++

[Bug libstdc++/97949] Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2025-07-17 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949 --- Comment #11 from fiesh at zefix dot tv --- (In reply to Sam James from comment #10) > (In reply to fiesh from comment #9) > > https://gcc.gnu.org/bugzilla/userprefs.cgi "After changing a bug" Ah thank you. What a bizarre default behavior.

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-17 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #13 from fiesh at zefix dot tv --- I should mention that it's key to use `avr-size -G` to get meaningful data sizes for objects. The default Berkeley style gives very small data sizes for objects. No clue why, and I can't find reaso

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-17 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #12 from fiesh at zefix dot tv --- Created attachment 61893 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61893&action=edit unreduced test case

[Bug libstdc++/97949] Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2025-07-17 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949 --- Comment #9 from fiesh at zefix dot tv --- This test case was meant to be added to 120955 This is a very weird UI bug in Bugzilla. I tried uploading the attachment, it complained it was too big, I pressed back or ok or something, added it in

[Bug libstdc++/97949] Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2025-07-17 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949 --- Comment #8 from fiesh at zefix dot tv --- Created attachment 61892 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61892&action=edit unreduced test case

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-17 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #11 from fiesh at zefix dot tv --- So at last I have *something*. I'm not sure if it's at the core of the problem though, but it does look fishy to my untrained eye. Attached you find a translation unit a.ii that: * produces a data

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-14 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #10 from fiesh at zefix dot tv --- Naturally, but it doesn't go away: avr-size on all individual object files: textdata bss dec hex filename 88 0 0 88 58 /b_os_nolto/subprojects/avr/liba

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-07 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #8 from fiesh at zefix dot tv --- No, I deactivated lto completely.

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-06 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #6 from fiesh at zefix dot tv --- Alas, running `avr-size` on the individual modules doesn't produce anything of significant data size. They also don't add up even remotely to the final linked file. Am I doing something wrong? I'm

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-06 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #5 from fiesh at zefix dot tv --- Ah of course, sizing individual object files might make it much easier. Thank you, I think I'll be able to create a proper testcase this way. I'll get back to here when I've reduced it.

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-05 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #3 from fiesh at zefix dot tv --- Thank you for the feedback. I tried to generate a test case, but it proved really hard for me. Is there some other output, like nm or objdump, that could help?

[Bug c++/120955] [15/16 Regression] 50 % increase in data segment size on avr-gcc for -Os

2025-07-04 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 --- Comment #1 from fiesh at zefix dot tv --- 12de1942a0a is r15-6052-g12de1942a0a673

[Bug c++/120955] New: 50 % increase in data segment size on avr-gcc for -Os

2025-07-04 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955 Bug ID: 120955 Summary: 50 % increase in data segment size on avr-gcc for -Os Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Compo

[Bug c++/119387] [14/15 Regression] Regression in performance by a factor of 6 when building with debugging symbols since r14-5979

2025-03-25 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119387 --- Comment #13 from fiesh at zefix dot tv --- (In reply to Jakub Jelinek from comment #12) > Or if it is var tracking or statement frontiers, you can try -O2 -g > -fno-variable-tracking-assignments and/or -O2 -g -gno-statement-frontiers. % tim

[Bug c++/119387] [14/15 Regression] Regression in performance by a factor of 6 when building with debugging symbols since r14-5979

2025-03-21 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119387 --- Comment #11 from fiesh at zefix dot tv --- (In reply to Alexander Monakov from comment #10) > Just a quick note for reporter's information: if you need just the symbols > for stack traces, not full debug info for interactive debugging, -g1 of

[Bug c++/119407] New: Missed optimization for identical branches

2025-03-21 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119407 Bug ID: 119407 Summary: Missed optimization for identical branches Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++

[Bug c++/119387] New: Regression in performance by a factor of 6 when building with debugging symbols

2025-03-20 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119387 Bug ID: 119387 Summary: Regression in performance by a factor of 6 when building with debugging symbols Product: gcc Version: 14.2.0 Status: UNCONFIRMED Severi

[Bug c/118011] New: -fshort-enums reported as enabled by default

2024-12-12 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118011 Bug ID: 118011 Summary: -fshort-enums reported as enabled by default Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c

[Bug libstdc++/97949] Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2024-11-19 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949 --- Comment #5 from fiesh at zefix dot tv --- But will it be fixed for 13^W14^W15? :-)

[Bug c++/111607] New: False positive -Wdangling-reference

2023-09-27 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111607 Bug ID: 111607 Summary: False positive -Wdangling-reference Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++

[Bug c++/110127] -fimplicit-constexpr leads to extremely slow and memory intensive compilation

2023-06-05 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110127 --- Comment #2 from fiesh at zefix dot tv --- Thank you for feedback!

[Bug c++/110127] New: -fimplicit-constexpr leads to extremely slow and memory intensive compilation

2023-06-05 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110127 Bug ID: 110127 Summary: -fimplicit-constexpr leads to extremely slow and memory intensive compilation Product: gcc Version: 13.1.0 Status: UNCONFIRMED Severity

[Bug c++/109785] ICE in begin_maybe_infinite_loop

2023-05-09 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109785 --- Comment #2 from fiesh at zefix dot tv --- (In reply to Martin Liška from comment #1) > Dup. > > *** This bug has been marked as a duplicate of bug 109666 *** Ah thanks, and sorry for the dup. Searched for bagin_maybe_infinite_loop and othe

[Bug c++/109785] New: ICE in begin_maybe_infinite_loop

2023-05-09 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109785 Bug ID: 109785 Summary: ICE in begin_maybe_infinite_loop Product: gcc Version: 13.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++

[Bug c++/88804] incorrect unused but set static variable in templated lambda

2023-04-26 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88804 fiesh at zefix dot tv changed: What|Removed |Added CC||fiesh at zefix dot tv --- Comment

[Bug target/105753] [avr] ICE: in add_clobbers, at config/avr/avr-dimode.md:2705

2023-01-31 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105753 --- Comment #13 from fiesh at zefix dot tv --- User99627, a few points: * My test case does require lto to be present. There's nothing to be gained from your statement that the bug doesn't require lto, there are test cases for either case. The

[Bug target/105753] [avr] ICE: in add_clobbers, at config/avr/avr-dimode.md:2705

2022-12-09 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105753 --- Comment #9 from fiesh at zefix dot tv --- I forgot to mention that my test case requires -flto to be present.

[Bug target/105753] [avr] ICE: in add_clobbers, at config/avr/avr-dimode.md:2705

2022-12-09 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105753 fiesh at zefix dot tv changed: What|Removed |Added CC||fiesh at zefix dot tv --- Commen

[Bug c++/106212] Code becomes non-constexpr with _GLIBCXX_DEBUG

2022-07-06 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106212 --- Comment #1 from fiesh at zefix dot tv --- Oh and this appears to be a regression introduced in GCC 12.

[Bug c++/106212] New: Code becomes non-constexpr with _GLIBCXX_DEBUG

2022-07-06 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106212 Bug ID: 106212 Summary: Code becomes non-constexpr with _GLIBCXX_DEBUG Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c

[Bug c++/105823] New: -Wrestrict / -Wstringop-overflow / -Warray-bounds warnings for uninitialized values

2022-06-02 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105823 Bug ID: 105823 Summary: -Wrestrict / -Wstringop-overflow / -Warray-bounds warnings for uninitialized values Product: gcc Version: 13.0 Status: UNCONFIRMED Seve

[Bug c++/105821] New: ICE for illegal constexpr-if

2022-06-02 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105821 Bug ID: 105821 Summary: ICE for illegal constexpr-if Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assig

[Bug c++/100485] False positive in -Wmismatched-new-delete

2021-05-10 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100485 --- Comment #7 from fiesh at zefix dot tv --- Thanks for the outline! We'll turn off -Wmismatched-new-delete with GCC 11 and try to switch to the selective opt-out with pragmas in 12. That's a good workaround for now. On a random related note,

[Bug c++/100485] False positive in -Wmismatched-new-delete

2021-05-09 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100485 --- Comment #5 from fiesh at zefix dot tv --- > extern "C" void free (void *); > > class Base > { > public: > Base(); > > void * operator new(unsigned long, const int &); > void operator delete(void * ptr, const int &

[Bug c++/100485] False positive in -Wmismatched-new-delete

2021-05-09 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100485 --- Comment #3 from fiesh at zefix dot tv --- * marking operator delete noinline

[Bug c++/100485] False positive in -Wmismatched-new-delete

2021-05-09 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100485 --- Comment #2 from fiesh at zefix dot tv --- But this isn't really a solution since I can't inline new without moving a lot of code into the header, and marking `operator new` noinline isn't what I want either. I read both articles prior to mak

[Bug c++/100485] New: False positive in -Wmismatched-new-delete

2021-05-08 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100485 Bug ID: 100485 Summary: False positive in -Wmismatched-new-delete Product: gcc Version: 11.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++

[Bug libstdc++/99713] New: Add _GLIBCXX_CHECK_PREDICATES that violates runtime guarantees and ensures predicates are valid

2021-03-22 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99713 Bug ID: 99713 Summary: Add _GLIBCXX_CHECK_PREDICATES that violates runtime guarantees and ensures predicates are valid Product: gcc Version: 11.0 Status: UNCONFIRMED

[Bug c++/99640] New: Internal compiler error: in lookup_template_class_1, at cp/pt.c:9895

2021-03-18 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99640 Bug ID: 99640 Summary: Internal compiler error: in lookup_template_class_1, at cp/pt.c:9895 Product: gcc Version: 10.2.0 Status: UNCONFIRMED Severity: normal

[Bug libstdc++/99356] New: Recursive std::shared_future:s with std::launch::deferred sporadically deadlock

2021-03-03 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99356 Bug ID: 99356 Summary: Recursive std::shared_future:s with std::launch::deferred sporadically deadlock Product: gcc Version: 10.2.0 Status: UNCONFIRMED Severity

[Bug libstdc++/97949] New: Recursive calls of std::call_once together with cout leads to deadlock under mingw64

2020-11-23 Thread fiesh at zefix dot tv via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97949 Bug ID: 97949 Summary: Recursive calls of std::call_once together with cout leads to deadlock under mingw64 Product: gcc Version: 10.1.0 Status: UNCONFIRMED Sev