Но ведь одна из них глобальная, стало быть, она видна там, где объявлена локальная, так? Т.е.:
Код
//file1.c
/*глобальная*/ [b]int[/b] adr;
int main(void)
{
foo();
}
//file2.c
int foo(void)
{
// до "здесь" глобальная переменная еще видна
/*локальная*/ int adr;// а сюда посылает варнинг2, так?
return adr;
}
Непонятно, как это раньше работало.. Может, варнинги были запрещены?