https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104657
--- Comment #2 from Christoph Müllner <christophm30 at gmail dot com> ---
Thanks for referencing pr99578.
Based on the information there, I created the following workaround:
void foo(unsigned long v)
{
volatile unsigned long *p;
p = (volatile unsigned long*)8;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Warray-bounds"
*p = v;
#pragma GCC diagnostic pop
}
