https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90472
--- Comment #2 from Pascal Cuoq <pascal_cuoq at hotmail dot com> --- Thanks for this link. So the bug report is that the file below is rejected by GCC 9.1 (and every GCC version present on Compiler Explorer down to 4.1.2), whereas according to the arguments in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14366 it should be accepted. int *p1, *p2; static int i = 1; void f(void) { p1 = &i; int i = 2; { extern int i; p2 = &i; } }