The diagnostics here are correct, but the note is really silly. It talks about reinterpret_cast in C code. So rewording it for c mode by using more select.
int array[(long)(char *)0];
previous note:
cast that performs the conversions of a reinterpret_cast is not allowed in a constant expression
reworded note:
this conversion is not allowed in a constant expression