|
From: | Georg-Johann Lay |
Subject: | Re: [avr-gcc-list] Possible minor bug |
Date: | Tue, 2 Aug 2016 11:41:04 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
On 02.08.2016 03:09, Eric Tang wrote:
Hi avr-gcc mailing list, I think I have discovered a minor bug. I get the "initializer element is not constant" error when I try to compile the following code with avr-gcc. If I remove the cast, the code compiles without issue. However, its presence does not cause a similar error when I try to compile the code with Clang or with arm-none-eabi-gcc, leading me to believe that there is in fact a bug and that it is specific to avr-gcc. struct color { uint8_t r; uint8_t g; uint8_t b; } color = (struct color){ 255, 255, 255 }; Thanks, Eric
Just avoid the compound literal and use a vanilla initializer: struct color { uint8_t r; uint8_t g; uint8_t b; } color = { 255, 255, 255 }; cf. also GCC's C language extension re. compound literals https://gcc.gnu.org/onlinedocs/gcc/Compound-Literals.html
[Prev in Thread] | Current Thread | [Next in Thread] |