[Bug c++/56715] New: Explicit Reg Vars are being ignored for consts when using g++

2013-03-24 Thread goswin-v-b at web dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56715 Bug #: 56715 Summary: Explicit Reg Vars are being ignored for consts when using g++ Classification: Unclassified Product: gcc Version: 4.7.2 Status:

[Bug c++/56715] Explicit Reg Vars are being ignored for consts when using g++

2013-03-24 Thread goswin-v-b at web dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56715 --- Comment #2 from Goswin von Brederlow goswin-v-b at web dot de 2013-03-25 00:07:19 UTC --- (In reply to comment #1) const is a bit special in C++, it can be used as part of a const integer expression which is what is happening here

[Bug c++/56715] Explicit Reg Vars are being ignored for consts when using g++

2013-03-25 Thread goswin-v-b at web dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56715 Goswin von Brederlow goswin-v-b at web dot de changed: What|Removed |Added Status|RESOLVED

[Bug lto/65252] New: Link time optimization breaks use of filenames in linker scripts

2015-02-28 Thread goswin-v-b at web dot de
Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: goswin-v-b at web dot de CC: goswin-v-b at web dot de Host: x86_64-linux-gnu Target: x86_64-linux-gnu Build: arm-none-eabi I'm

[Bug lto/65262] Link time optimization breaks use __attribute__((section(...))) in templates

2015-03-02 Thread goswin-v-b at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65262 --- Comment #2 from Goswin von Brederlow goswin-v-b at web dot de --- The linker script is only there because the default script combines all .text.* into one hiding the effect. One could use different section names that the default script does

[Bug lto/65252] Link time optimization breaks use of filenames in linker scripts

2015-02-28 Thread goswin-v-b at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65252 --- Comment #2 from Goswin von Brederlow goswin-v-b at web dot de --- As long as it's only one C/C++ file that works. But if one has multiple files then -fno-lto would optimize less. I was thinking of a more general case than mine.

[Bug lto/65262] New: Link time optimization breaks use __attribute__((section(...))) in templates

2015-03-01 Thread goswin-v-b at web dot de
: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: goswin-v-b at web dot de CC: goswin-v-b at web dot de Created attachment 34911 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=34911action=edit Simple

[Bug c++/65199] Linker failure with -flto

2015-02-25 Thread goswin-v-b at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65199 --- Comment #2 from Goswin von Brederlow goswin-v-b at web dot de --- That fixes it. Isn't it a gcc bug though not to detect that itself?

[Bug c++/65199] New: Linker failure with -flto

2015-02-24 Thread goswin-v-b at web dot de
: unassigned at gcc dot gnu.org Reporter: goswin-v-b at web dot de Host: x86_64-linux-gnu Target: x86_64-linux-gnu Build: arm-none-eabi I'm building a bare-metal kernel for a Raspberry Pi 2 (armv7) in c++. At some point this failed with undefined

[Bug c/65668] New: gcc does not know how to use __eabi_uldivmod properly

2015-04-03 Thread goswin-v-b at web dot de
: UNCONFIRMED Severity: enhancement Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: goswin-v-b at web dot de Build: arm-none-eabi I have a uint64_t free running counter with a frequenzy of 1Mhz and I want to print

[Bug web/65699] online docs lacks version that it documents

2015-04-13 Thread goswin-v-b at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65699 --- Comment #4 from Goswin von Brederlow goswin-v-b at web dot de --- Yes, a simple statement like that was exactly what I had in mind.

[Bug web/65699] New: online docs lacks version that it documents

2015-04-08 Thread goswin-v-b at web dot de
Severity: enhancement Priority: P3 Component: web Assignee: unassigned at gcc dot gnu.org Reporter: goswin-v-b at web dot de CC: goswin-v-b at web dot de The online docs do not mention what version of the compiler they document. When something

[Bug web/65700] New: Documentation of internals is inconsistent in itself and diverges from reality

2015-04-08 Thread goswin-v-b at web dot de
Severity: normal Priority: P3 Component: web Assignee: unassigned at gcc dot gnu.org Reporter: goswin-v-b at web dot de https://gcc.gnu.org/onlinedocs/gccint/Collect2.html says when collect2 is used it generates a temporary file listing the constructors

[Bug target/66960] Add interrupt attribute to x86 backend

2016-07-05 Thread goswin-v-b at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66960 --- Comment #15 from Goswin von Brederlow --- (In reply to H.J. Lu from comment #14) > (In reply to Goswin von Brederlow from comment #13) > > > > Secondly why pass error_code as argument if is already on the stack and > > > > could be accessed

[Bug target/66960] Add interrupt attribute to x86 backend

2016-07-06 Thread goswin-v-b at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66960 --- Comment #17 from Goswin von Brederlow --- (In reply to H.J. Lu from comment #16) > (In reply to Goswin von Brederlow from comment #15) > > > > No. We only do it for data pushed onto stack by CPU. > > > > I was thinking of something like:

[Bug target/66960] Add interrupt attribute to x86 backend

2016-06-30 Thread goswin-v-b at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66960 Goswin von Brederlow changed: What|Removed |Added CC||goswin-v-b at web dot de

[Bug target/66960] Add interrupt attribute to x86 backend

2016-07-04 Thread goswin-v-b at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66960 --- Comment #13 from Goswin von Brederlow --- (In reply to H.J. Lu from comment #12) > (In reply to Goswin von Brederlow from comment #11) > > I think the design is fundamentally lacking in the following points: > > > > 1. interrupt handler

[Bug target/66960] Add interrupt attribute to x86 backend

2017-07-18 Thread goswin-v-b at web dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66960 --- Comment #20 from Goswin von Brederlow --- So it's been a year since my last comment. Is this dead or is someone still working on it? It would be a nice addition to gcc.

[Bug c/104828] New: Wrong out-of-bounds array access warning on literal pointers

2022-03-07 Thread goswin-v-b at web dot de via Gcc-bugs
Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: goswin-v-b at web dot de Target Milestone: --- Trying to access a pointer cast from an integer literal gives a out of bounds warning

[Bug middle-end/99578] [11/12 Regression] gcc-11 -Warray-bounds or -Wstringop-overread warning when accessing a pointer from integer literal

2022-03-07 Thread goswin-v-b at web dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578 --- Comment #29 from Goswin von Brederlow --- (In reply to Jakub Jelinek from comment #26) > That is nonsense. The amount of code in the wild that relies on (type > *)CONSTANT > working is insane, you can't annotate it all. And it has worked

[Bug c++/104514] New: add feature to create a pointer to a fixed address as constexpr

2022-02-12 Thread goswin-v-b at web dot de via Gcc-bugs
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: goswin-v-b at web dot de Target Milestone: --- In the embedded and micro controller world memory mapped registers are very common. They can be declared as external object and fudged

[Bug middle-end/99578] [11 Regression] gcc-11 -Warray-bounds or -Wstringop-overread warning when accessing a pointer from integer literal

2022-03-19 Thread goswin-v-b at web dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578 --- Comment #38 from Goswin von Brederlow --- (In reply to Jonathan Wakely from comment #34) > (In reply to Goswin von Brederlow from comment #29) > > There is no garantee in the C standard that '(type *)CONSTANT' will actually > > point to the

[Bug libstdc++/105844] std::lcm(50000, 49999) is UB but accepted in a constexpr due to cast to unsigned

2022-06-04 Thread goswin-v-b at web dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105844 --- Comment #3 from Goswin von Brederlow --- Created attachment 53082 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53082=edit Working patch for detecting UB This will abort if the arguments are too large instead of static_assert, best

[Bug libstdc++/105844] New: std::lcm(50000, 49999) is UB but accepted in a constexpr due to cast to unsigned

2022-06-03 Thread goswin-v-b at web dot de via Gcc-bugs
Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: goswin-v-b at web dot de Target Milestone: --- Running "gcc-12.1 -std=c++20 -O2 -W -Wall" on #include constinit int t = std::lcm(50

[Bug libstdc++/105844] std::lcm(50000, 49999) is UB but accepted in a constexpr due to cast to unsigned

2022-06-03 Thread goswin-v-b at web dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105844 Goswin von Brederlow changed: What|Removed |Added CC||goswin-v-b at web dot de

[Bug libstdc++/105844] std::lcm(50000, 49999) is UB but accepted in a constexpr due to cast to unsigned

2022-06-03 Thread goswin-v-b at web dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105844 --- Comment #2 from Goswin von Brederlow --- I know the patch doesn't work yet, the static_asserts aren't constexpr. But hopefully it gives someone enough of an idea to fix it.

[Bug c/105521] New: missed optimization in modulo arithmetic

2022-05-07 Thread goswin-v-b at web dot de via Gcc-bugs
Assignee: unassigned at gcc dot gnu.org Reporter: goswin-v-b at web dot de Target Milestone: --- I'm trying to compute (a*a)%n for uint64_t types on x86_64 using "gcc -O2 -W -Wall" like this: #include #include uint64_t sqrmod(uint64_t a, uint64_t n) { as

[Bug target/105521] missed optimization in modulo arithmetic

2022-05-08 Thread goswin-v-b at web dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105521 --- Comment #3 from Goswin von Brederlow --- (In reply to Andrew Pinski from comment #1) > This requires having a, 64bit/32bit (and 128bit/64bit) pattern really. So > this is both a middle-end issue and a target issue. > > Note there might be