Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-30 Thread Andy Warner
On Tue, Nov 29, 2011 at 7:23 AM, Weddington, Eric wrote: > Hi Wim, > > Do you have a GCC bug report filled out for this issue? > > If not, could you fill out a bug report? > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51374 -- Andy ___ AVR-GCC-list ma

Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-29 Thread Weddington, Eric
> -Original Message- > From: Georg-Johann Lay > Sent: Tuesday, November 29, 2011 2:28 PM > To: Weddington, Eric > Cc: Andy Warner; avr-gcc-list@nongnu.org > Subject: Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2 > > > The question on combine vs

Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-29 Thread Georg-Johann Lay
Weddington, Eric schrieb: -Original Message- From: andyw.l...@gmail.com [mailto:andyw.l...@gmail.com] On Behalf Of Andy Warner Sent: Tuesday, November 29, 2011 9:08 AM To: Weddington, Eric Cc: Wim Lewis; avr-gcc-list@nongnu.org Subject: Re: [avr-gcc-list] Confusing volatile

Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-29 Thread Weddington, Eric
> -Original Message- > From: andyw.l...@gmail.com [mailto:andyw.l...@gmail.com] On Behalf Of Andy > Warner > Sent: Tuesday, November 29, 2011 9:08 AM > To: Weddington, Eric > Cc: Wim Lewis; avr-gcc-list@nongnu.org > Subject: Re: [avr-gcc-list] Confusing volatile

Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-29 Thread Georg-Johann Lay
Wim Lewis schrieb: On 11/28/11 5:33 AM, Andy Warner wrote: What is it about this construct that makes the compiler feel free to reorder ? I assume this must be a very specific use case I've tripped over, if volatiles were being reordered wholesale in 4.6.2, I'd expect there to be many, many pro

Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-29 Thread Andy Warner
On Tue, Nov 29, 2011 at 7:23 AM, Weddington, Eric wrote: > Hi Wim, > > Do you have a GCC bug report filled out for this issue? > If the consensus is that this is a genuine bug (there's an awful lot of false bug reports involving volatiles), I'm happy to do my part and file the report to get it r

Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-29 Thread Weddington, Eric
ongnu.org] On > Behalf Of Wim Lewis > Sent: Tuesday, November 29, 2011 1:09 AM > To: avr-gcc-list@nongnu.org > Subject: Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2 > > On 11/28/11 5:33 AM, Andy Warner wrote: > > What is it about this construct that makes th

Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-29 Thread Wim Lewis
On 11/28/11 5:33 AM, Andy Warner wrote: > What is it about this construct that makes the compiler feel free to reorder ? > I assume this must be a very specific use case I've tripped over, if > volatiles were being reordered wholesale in 4.6.2, I'd expect there to > be many, many problems surfacing

Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-28 Thread Andy Warner
On Mon, Nov 28, 2011 at 6:38 AM, Paulo Marques wrote: > [...] > Does the problem still occur if you assign the variables later and not > at declaration time, i.e., something like: > >unsigned char status, data; >volatile static int slot = SEARCHING; > >status = UCSR0A; >

Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-28 Thread Paulo Marques
Andy Warner wrote: > [...] > Here is the USART0 rx interrupt handler that demonstrates the problem > (apologies in advance, if gmail mangles this): > > #define SEARCHING (-2) > #define BREAK (-1) > #define MAX_DMX (512) > > ISR(USART0_RX_vect) > { > unsigned char status =

Re: [avr-gcc-list] Confusing volatile behaviour with 4.6.2

2011-11-26 Thread Georg-Johann Lay
Andy Warner schrieb: Here is what the preprocessor produced for this code: $ avr-gcc -mmcu=atmega128 -Wall -O2 -g -E test.c ... void __vector_18 (void) __attribute__ ((signal,used, externally_visible)) ; void __vector_18 (void) { unsigned char status = (*(volatile uint8_t *)((0x0B) + 0x20));