Sto provando a compilare lo stesso file C su due macchine diverse con versioni diverse di cc.la dichiarazione statica segue la dichiarazione non statica
gcc version 3.2.3 dice warning: 'foo' was declared implicitly 'extern' and later 'static'
gcc version 4.1.2 dice error: static declaration of 'foo' follows non-static declaration
AFAICT, entrambi hanno gli stessi CFLAGS. Mi piacerebbe fare in modo che gcc 4.1 si comporti come gcc 3.2.3, ovvero trovare un'opzione che trasformerebbe questo errore in un semplice avvertimento.
In effetti il codice non prototipizza la funzione, quindi gcc assume una dichiarazione statica implicita. La risposta giusta è che non c'è alcuna opzione per disattivare questo errore. – Alsciende
È possibile trasformare le dichiarazioni implicite in errori con '-Werror-implicit-function-declaration' (in gcc 3.4, comunque, non sono sicuro delle versioni successive). – detly
L'ho fatto, ma l'errore è ancora vivo! pastebin.com/2mpnyMPj –