Please consider the following program. int i; int i; int main() { return 1; } Compiler does not reports redecleration error for i.
This is not a bug. There can multiple tentative definitions for the same object.