Richard Henderson <[EMAIL PROTECTED]> writes:

> I've got no interest in reading a thread with 250 messages wherein
> language lawyers battle it out in a no-holds-barred grudge match.
> Would someone like to summarize, preferably with a test case that
> one side assumes to be miscompiled?

Case 1:

void f1 (int *addr) {
    *((volatile int *) addr);
}

Case 2:

int c;
void f2 (int *addr) {
    *(volatile int *) &c;
}

gcc 4.0 omits read accesses for both, earlier ones didn't.

Opinions on what the standard prescribes here are divided. Opinions on
what the Right Thing[tm] to do seems to mostly agree on not omitting
the access in either case; however, there have been concerns on
whether we can reliably implement that.

-- 
        Falk

Reply via email to