[Bug c/22278] gcc -O2 discards cast to volatile
Gabriel Dos Reis
gdr@integrable-solutions.net
Sun Jul 3 05:11:00 GMT 2005
"gdr at integrable-solutions dot net" <gcc-bugzilla@gcc.gnu.org> writes:
| | Still, consider the following variant:
| |
| | void quux(int *bar) {
| | *(volatile int*)bar = 42;
| | }
| |
| | volatile int foo;
| | quux((int*)&foo);
| |
| | This time there is no "attempt [...] to refer to an object defined with a
| | volatile-qualified type through use of an lvalue with non-volatile-qualified
| | type".
|
|
| Really?
that comment is wrong, sorry. You're right. (time for me to go to bed).
Yes, this is a bug in GCC.
-- Gaby
More information about the Gcc-bugs
mailing list