extern int thing; ... static int thing = 0; is perfectly legitimate according to X3J11. Why waste time trying to relate this to K&R (not K&P). Point out to your compiler supplier that they're going to have to fix this anyway.