Bug#448480: GCC miscompilation on ARM

2007-10-29 Thread Peter Horton
Package: gcc Version: 4:4.1.1-15 GCC miscompiles the following code :- extern void extfunc(void); extern unsigned extvar; static void inner(char *a, unsigned b) { if (b) extfunc(); else extvar = (unsigned) a; } void outer(unsigned a, unsigned b)

Bug#448480: I've just realised that ...

2007-10-29 Thread Peter Horton
... the assignment of the address of a local variable to a global variable looks a bit odd, but in the original code that exhibited the failure this assignment was to a constant address thus *(volatile unsigned *) DMA_ADDR_REG = (unsigned) a; which is valid. -- To UNSUBSCRIBE,