avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] re: compiler bug?


From: Richard F
Subject: [avr-gcc-list] re: compiler bug?
Date: Tue, 10 Feb 2009 15:50:25 +0000
User-agent: Thunderbird 2.0.0.19 (Windows/20081209)

Message: 8 Date: Tue, 10 Feb 2009 14:15:27 +0200 From: Oleksandr Redchuk <address@hidden> Subject: Re: [avr-gcc-list] compiler bug? To: address@hidden Message-ID: <address@hidden> Content-Type: text/plain; charset=ISO-8859-1 2009/2/10 Oleksandr Redchuk <address@hidden>:
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)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]