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'.
  • [Bug c/48730] New: stati... sourceforge.com-20020529 at reg dot pizzolato.net

Reply via email to