http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48730
Summary: static function scope not honored by -fms-extensions Product: gcc Version: 4.5.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: sourceforge.com-20020...@reg.pizzolato.net gcc running on Windows via MinGW. Microsoft describes extensions to C at http://msdn.microsoft.com/en-us/library/34h23df8(v=vs.80).aspx The case I encountered relates to the following: extern int clip(); static int clip() {} which gcc fails to compile: clip.c:2:12: error: static declaration of 'clip' follows non-static declaration clip.c:1:12: note: previous declaration of 'clip' was here The original code which encountered this error wasn't this simple. The 'extern int function();' was buried in some deeply nested layers of system include files, and the locally scoped function had a name which was identical to the one defined in the include file. The code compiles cleanly with Microsoft's compilers but fails with the above error when compiled with gcc. gcc behaves the same, in this case, without regard to the presense of the '-fms-extensions' command option. It would seem appropriate that this behavior like the microsoft compilers should be part of the functionality of '-fms-extensions'.