|
From: | J. Grant |
Subject: | Re: Latest CVS compile problem - "error no variadic api" |
Date: | Fri, 05 Mar 2004 23:56:04 +0000 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030824 |
jg> misc.c(214) : error C2061: syntax error : identifier 'va_dcl' jg> misc.c(250) : error C2061: syntax error : identifier 'va_dcl' jg> misc.c(283) : error C2061: syntax error : identifier 'va_dcl' 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!!
Hmm, MSVC6 came out in about 1999 I think. I just did these tests in misc.c before the line with the error: #if USE_VARIADIC #pragma message("USE_VARIADIC") #endif #if __STDC__ #pragma message("__STDC__") #endif #if !__STDC__ #pragma message("!__STDC__") #endif #ifdef __STDC__ #pragma message("defined __STDC__") #endif #if HAVE_STDARG_H #pragma message("HAVE_STDARG_H") #endif I got this output: USE_VARIADIC !__STDC__ HAVE_STDARG_H So it seems __STDC__ is defined as 0 (I did not have this test in my first check). I thought the #ifdef __STDC__ would have identified that though. Unless there is another way to turn on ISO C standards compliance. I don't know of how to do this. Best regards JG
[Prev in Thread] | Current Thread | [Next in Thread] |