https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70848
--- Comment #9 from ktkachov at gcc dot gnu.org ---
This also happens for:
volatile int *p;
void test()
{
(*(volatile int*)(p)) = 'a';
(*(volatile int*)(p)) = 'b';
(*(volatile int*)(p)) = 'c';
}
if you don't want to write to pointer literals
