http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50584
--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- The point of this language feature is for optimization, not diagnostics - but there is no requirement for either; GCC does all the checks required by C99 on the contexts in which [static] may be used. c99status.html specifically notes that it is not used for optimization.