Message: 8 Date: Tue, 10 Feb 2009 14:15:27 +0200 From: Oleksandr Redchuk <[email protected]> Subject: Re: [avr-gcc-list] compiler bug? To: [email protected] Message-ID: <[email protected]> Content-Type: text/plain; charset=ISO-8859-1 2009/2/10 Oleksandr Redchuk <[email protected]>:
Sorry, pre-increment also is "UB" because of undefined order of
store-back operation for pre-increment and assignment.

The only correct version
rtc.time_element.tm_wday = (rtc.time_element.tm_wday < 6) ?
rtc.time_element.tm_wday+1 : 0;

Again:
> But on my taste
>
>  if( ++rtc.time_element.tm_wday >= 6 ) rtc.time_element.tm_wday = 0;
>
> is better solution (generates smaller code)
Thanks Oleksandr

I reverted to the 3 line full version, all explicit statements to avoid confusion.
FYI The compiler does not produce any warning with -Wall (my default config)

_______________________________________________
AVR-GCC-list mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to