Re: maybe a bug in gcc-avr?

[email protected]
Newsgroups gmane.comp.hardware.avr.gcc
Message-ID <OF756534A0.1CA72C4B-ONC1257AC9.0030C68E-C1257AC9.0030F36A@LocalDomain>
hI;
perhaps try to remove comments after a #define or #if define checks, in 
general avoid comments after a # statement.

#if 1 
//depending on 'if that calculation is done', the result of bufs[0] will 
be 0x01 or 0x02...
                 total = (((uint16_t)bufr[0]) << 8) + ((uint16_t) (bufr[1] 
& 0xFF));
#endif

ACAV


From:   <[email protected]>
To:     <[email protected]>, 
Date:   01.12.2012 19:15
Subject:        [avr-gcc-list] maybe a bug in gcc-avr?
Sent by:        
[email protected]



Hello together,

I've been thinking about something for the last days. Atm I guess the
bug of my problem is in the avr-gcc.

Here my code:

uint16_t total=0, temp=0;
uint8_t bufs[64];
uint8_t bufr[64];
...
if (usb_rawhid_recv(bufr, 50) == 64) {
#if 1 //depending on 'if that calculation is done', the result of bufs[0] 
will be 0x01 or 0x02...
                 total = (((uint16_t)bufr[0]) << 8) + ((uint16_t) (bufr[1] 
& 0xFF));
#endif
temp = (((uint16_t)bufr[0]) << 8); //temp is 0x0200
bufs[0] = temp >> 8;
bufs[1] = (((uint16_t)bufr[0]) << 8) >> 8;

Well, if bufr[0] is 0x02, then bufs[1] is also 0x02. That works fine.
But bufs[0] is calculated wrong IN CASE that i also calculate the variable 
"total" inside the "#if 1".
(bufs[0] is then 0x01 instead of 0x02)

The two assemblies are vimdiff'ed and shown in this image:
http://www10.pic-upload.de/28.11.12/1afla5oyatlv.jpg

On the left side the working case (where total isn't calculated due to the 
"#if 0")
On the right side is my problem shown. I calculate the variable "total" 
but gcc
seems to ignore my typecasts.

What do you think?
I hope the mailing list is the right place, where I should post my
problem :)

Have a nice evening :)


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


Tel.: +49 2762 408-0
Fax.: +49 2762 408-10

Internet: http://www.camcoaudio.com

CAMCO Produktions- und Vertriebs-GmbH für Beschallungs- und Beleuchtungsanlagen - Fischpicke 5 - 57482 Wenden - Amtsgericht Siegen HRB 7075 - Geschäftsführer: Joachim Stöcker, Reiner Sassmann, Carsten Wegner

_______________________________________________
AVR-GCC-list mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.