make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Latest CVS compile problem - "error no variadic api"


From: J. Grant
Subject: Re: Latest CVS compile problem - "error no variadic api"
Date: Wed, 10 Mar 2004 00:17:39 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030824



on the 09/03/04 19:39, Eli Zaretskii wrote:
Date: Fri, 5 Mar 2004 09:31:53 -0500
From: "Paul D. Smith" <address@hidden>

  jg> __STDC__ is not defined on win32 builds, or defined as 1 etc.

Hm... really?  The ISO C standard says that if your compiler conforms to
the standard it should define __STDC__: I have to believe that in 2004
the Windows compilers at least comply with the 1989 standard!!

It's possible that MSVC needs a special command-line switch to define
__STDC__ as mandated by ISO.  Can someone check that?



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vcce4/html/evlrffsZacmafsZelpDisableLanguageExtensionsrp.asp

It seems MS C/C++ extensions are on by default, now that is surprising.

/Za "Language constructs not compatible with either ANSI C++ or ANSI C
are flagged as errors.".


Marvelous. The only problem being the MS code used. e.g. many compile
errors such as:


       cl /nologo /MT /W3 /GX /Zi /Za /YX /I . /I glob /I w32/include
/D WIN32 /D WINDOWS32 /D _CONSOLE /D HAVE_CONFIG_H /O2 /D NDEBUG
/FR.\WinRel/ /Fp.\WinRel/make.pch /Fo.\WinRel/ /c arscan.c
arscan.c
make.h(369) : warning C4115: 'stat' : named type definition in parentheses
C:\msvc6\VC98\include\winnt.h(357) : error C2467: illegal declaration of
anonymous 'struct'
C:\msvc6\VC98\include\winnt.h(376) : error C2467: illegal declaration of
anonymous 'struct'
C:\msvc6\VC98\include\winnt.h(1519) : error C2054: expected '(' to
follow '_inline'
C:\msvc6\VC98\include\winnt.h(1519) : error C2085: 'GetFiberData' : not
in formal parameter list
C:\msvc6\VC98\include\winnt.h(1519) : error C2143: syntax error :
missing ';' before '{'
C:\msvc6\VC98\include\winnt.h(1524) : error C2054: expected '(' to
follow '_inline'
C:\msvc6\VC98\include\winnt.h(1524) : error C2085: 'GetCurrentFiber' :
not in formal parameter list
C:\msvc6\VC98\include\winnt.h(1524) : error C2143: syntax error :
missing ';' before '{'
...


In this case __STDC__ is both defined and 1.  If MS code is not
compatible with __STDC__ I think we won't be able to have the mode (/Za)
which turns it on.

One thing that I think would be better to have on the Windows32 port
would be /W4, this is the highest warning level. (Other than /Wall which
is a ridiculous amount of warnings)  I can make a patch for the
NMakefile.template and build_w32.bat if this is desired.  Please let me
know.


Kind regards

JH

















reply via email to

[Prev in Thread] Current Thread [Next in Thread]