Package: gcc-4.2 Version: 4.2.2-3 Hi, This program: static int foo(); int bar() { foo(); } When being compiled generates a warning: tst.c:1: warning: 'foo' used but never defined And it actually creates an reference to an extneral symbol, just like static wasn't there. $ nm tst.o 0000000000000000 T bar U foo Please turn this into an error. Kurt