https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78359
--- Comment #2 from hugo74 <robert.kollataj at ac dot com.pl> --- (In reply to Andrew Pinski from comment #1) > Because > int Counter > > in the global scope is consider a tentative definition. What is meant by "tentative declaration" ? It is very misleading. It should not work that way. I checked it in other C compilers and each of them reports an redefinition error in such case.