https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110453

            Bug ID: 110453
           Summary: gcc accepts redefinition of global variable without
                    initializer
           Product: gcc
           Version: 13.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: laneast at laneast dot com
  Target Milestone: ---

gcc accepts following program:

#include <stdio.h>

int x;
int x = 10;

int main() {
        printf("%d\n", x);

        return 0;
}

--------
Tested gcc version:
* gcc.exe (Rev7, Built by MSYS2 project) 13.1.0
* gcc (Debian 12.2.0-14) 12.2.0

BTW, g++ works fine:
main.c:4:5: error: redefinition of 'int x'
    4 | int x = 10;
      |     ^
main.c:3:5: note: 'int x' previously declared here
    3 | int x;
      |     ^

Reply via email to