... 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, email
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)
2 matches
Mail list logo