From: SourceForge.net <no...@so...> - 2010-01-13 00:33:54
|
Bugs item #2726449, was opened at 2009-04-02 03:30 Message generated for change (Comment added) made by arcanum You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=520074&aid=2726449&group_id=68108 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: GCC Group: None >Status: Closed >Resolution: Wont Fix Priority: 5 Private: Yes Submitted By: Rainer Lauer (lauerr) Assigned to: Nobody/Anonymous (nobody) Summary: Wrong shift left operation Initial Comment: When shifting a variable declared as uint16_t left by 6 only the lower 8 bits are shifted, upper 8 bits are fixed to 0. ---------------------------------------------------------------------- Comment By: Eric Weddington (arcanum) Date: 2010-01-12 17:33 Message: This needs to be reported to the GCC project at: http://gcc.gnu.org/bugzilla/ This is not a WinAVR bug. The WinAVR User Manual states that any potential bugs in the GCC compiler must be reported to the GCC project and not here. Closed as "Won't Fix." ---------------------------------------------------------------------- Comment By: Rainer Lauer (lauerr) Date: 2009-04-03 08:06 Message: Sorry, I got you wrong. Here you are. Find the assembler, compiler and linker flags in makefile attached. ---------------------------------------------------------------------- Comment By: Eric Weddington (arcanum) Date: 2009-04-03 07:04 Message: I didn't ask what the error is; I found that in your file. I need to know what avr-gcc command line you used. What compiler flags did you use? ---------------------------------------------------------------------- Comment By: Rainer Lauer (lauerr) Date: 2009-04-03 06:24 Message: You'll find in the attached file following block: realAddress = (((DCC_Data0 >> 4) & 0b00000111) ^ 0b00000111) << 6; source code line causing problem 18e: 80 91 75 00 lds r24, 0x0075 192: 82 95 swap r24 194: 8f 70 andi r24, 0x0F ; 15 196: 80 95 com r24 198: 82 95 swap r24 19a: 88 0f add r24, r24 ; Rainer Lauer: No overrun from lower 8 bits (r24) into upper 8 bits (r25) 19c: 88 0f add r24, r24 ; Rainer Lauer: No overrun from lower 8 bits (r24) into upper 8 bits (r25) 19e: 80 7c andi r24, 0xC0 ; 192 1a0: 90 e0 ldi r25, 0x00 ; 0 ; Rainer Lauer: ERROR shift operation NOT OK, only 8 bit operation, NO 16 bit !!!! 1a2: 90 93 77 00 sts 0x0077, r25 1a6: 80 93 76 00 sts 0x0076, r24 ---------------------------------------------------------------------- Comment By: Eric Weddington (arcanum) Date: 2009-04-02 09:02 Message: What is the command line that you used that shows the problem? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=520074&aid=2726449&group_id=68108 |