https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78359
Bug ID: 78359
Summary: Redeclaration of global variables is not reported
Product: gcc
Version: 5.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: robert.kollataj at ac dot com.pl
Target Milestone: ---
The problem concerns GCC compiler for embedded v. 5.2.0. (pure C language)
The compiler does not report redeclaration of global variables. The following
example shows how it happens:
int Counter, Counter, Counter;
int main(void)
{
Counter++;
if (Counter > 0)
{
......
}
}
This code is compiled without errors (I wonder which copy of "Counter" is
really taken into account by the compiler...)
When the "Counter" is declared as local variable, the compiler reports an
error:
int main(void)
{
int Counter, Counter, Counter;
Counter++;
if (Counter > 0)
{
......
}
}
error: redeclaration of 'Counter' with no linkage