[Bug c++/107932] weak constant char array not used correctly

2022-11-30 Thread bseifert at gmx dot at via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107932 --- Comment #2 from Berni --- added test case: g++ -o test.exe -Os main.cpp weak.cpp ./test.exe 'S' 'S' 'S' here the result is as expected!

[Bug c++/107932] weak constant char array not used correctly

2022-11-30 Thread bseifert at gmx dot at via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107932 --- Comment #1 from Berni --- potentially related to bug 107907

[Bug c++/107932] New: weak constant char array not used correctly

2022-11-30 Thread bseifert at gmx dot at via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: bseifert at gmx dot at Target Milestone: --- given the following files: def.hpp --- #include struct A { static const char* C1; static const char C2[]; static const char C3[]; static std::string get_C1

[Bug c++/107907] New: weak integer constant not linked correctly

2022-11-29 Thread bseifert at gmx dot at via Gcc-bugs
++ Assignee: unassigned at gcc dot gnu.org Reporter: bseifert at gmx dot at Target Milestone: --- given the following files: def.hpp --- struct A { static const int C; static int get_C(); }; --- weak.cpp --- #include "def.hpp" cons

[Bug rtl-optimization/90706] [9/10 Regression] Useless code generated for stack / register operations on AVR

2020-03-13 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90706 --- Comment #8 from Berni --- I just compiled AVR gcc 9.3.0 and tested the code again. Still no improvement!

[Bug rtl-optimization/90706] [9 Regression] Useless code generated for stack / register operations on AVR

2019-08-14 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90706 --- Comment #3 from Berni --- There is no improvement with gcc 9.2.0

[Bug rtl-optimization/90706] [9 Regression] Useless code generated for stack / register operations on AVR

2019-06-03 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90706 --- Comment #2 from Berni --- (In reply to Georg-Johann Lay from comment #1) > (In reply to Berni from comment #0) > > pushing r0 does not make sense at all since it is by definition a temporary > > register that can freely be modified. Maybe

[Bug target/90706] New: Useless code generated for stack / register operations on AVR

2019-06-01 Thread bseifert at gmx dot at
Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: bseifert at gmx dot at Target Milestone: --- given the following function: unsigned char check(float x) { return (0.0 < x); } in avr-gcc 8.3.0 the following code is genera

[Bug c++/88209] New: Inefficient array initialization

2018-11-26 Thread bseifert at gmx dot at
++ Assignee: unassigned at gcc dot gnu.org Reporter: bseifert at gmx dot at Target Milestone: --- The following was tested on avr-gcc, but this behavior should not be different on other platforms. Consider the following array declaration with initialization of all elements to 0: int main

[Bug libstdc++/84087] string::assign problem with two arguments

2018-01-29 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84087 Berni changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug libstdc++/84087] New: string::assign problem with two arguments

2018-01-28 Thread bseifert at gmx dot at
: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: bseifert at gmx dot at Target Milestone: --- Created attachment 43267 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43267=edit does not compile as expected >From C++14, string::assign can be called wi

[Bug other/77353] uint16_t instead uint8_t comparison

2016-08-29 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77353 --- Comment #12 from Berni --- Thanks, Georg-Johann, I can confirm that avr-g++ -S -Os -mmcu=atmega128 main.cpp performs a 16-bit comparison but avr-gcc -S -Os -mmcu=atmega128 main.c works as expected (8-bit comparison)

[Bug target/77353] [AVR] uint16_t instead uint8_t comparison

2016-08-26 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77353 --- Comment #9 from Berni --- GCC 7-20160821 works as expected!

[Bug target/77353] [AVR] uint16_t instead uint8_t comparison

2016-08-24 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77353 --- Comment #8 from Berni --- With GCC 5.4.0 comparison is done between two 8-bit registers r24 and r25, as expected. With GCC 6.2.0 additionally registers r19 and r25 are loaded with 0 and 16-bit comparison between register pairs (r18, r19)

[Bug target/77353] [AVR] uint16_t instead uint8_t comparison

2016-08-24 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77353 --- Comment #6 from Berni --- Created attachment 39493 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39493=edit GCC 6.2.0 build output

[Bug target/77353] [AVR] uint16_t instead uint8_t comparison

2016-08-24 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77353 --- Comment #7 from Berni --- Created attachment 39494 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39494=edit GCC 6.2.0 listing

[Bug target/77353] [AVR] uint16_t instead uint8_t comparison

2016-08-24 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77353 --- Comment #5 from Berni --- Created attachment 39492 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39492=edit GCC 5.4.0 listing

[Bug target/77353] [AVR] uint16_t instead uint8_t comparison

2016-08-24 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77353 --- Comment #4 from Berni --- Created attachment 39491 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39491=edit GCC 5.4.0 build output

[Bug target/77353] [AVR] uint16_t instead uint8_t comparison

2016-08-24 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77353 --- Comment #3 from Berni --- Created attachment 39490 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39490=edit main.cpp

[Bug target/77353] [AVR] uint16_t instead uint8_t comparison

2016-08-23 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77353 --- Comment #1 from Berni --- another example: if (PINA < PINC) { PORTB = 0; } compiles to: 6c2: 20 b1 in r18, 0x00 ; 0 6c4: 86 b1 in r24, 0x06 ; 6 6c6: 30 e0 ldi r19, 0x00

[Bug target/77353] New: [AVR] uint16_t instead uint8_t comparison

2016-08-23 Thread bseifert at gmx dot at
Assignee: unassigned at gcc dot gnu.org Reporter: bseifert at gmx dot at Target Milestone: --- Consider the following code: if (PINA < static_cast(32)) { PORTB = 0; } It compiles to - as expected: 6dc: 80 b1 in r24, 0x00 ; 0 6de: 80

[Bug target/71053] [6/7 Regression] Volatile read optimized into endless loop

2016-05-12 Thread bseifert at gmx dot at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71053 Berni changed: What|Removed |Added CC||bseifert at gmx dot at --- Comment #3 from