parse error ? Am I the only one?
Mumit Khan
khan@nanotech.wisc.edu
Sun Oct 31 19:54:00 GMT 1999
"Michael P." <migueldetrix@forum.dk> writes:
> Hi all!
>
> I have been compiling a test program for the C/FRONT interface to Navision
> Financials. The code works fine when using both the MS Visual C++ and the
> LCC-compiler.
>
> But when trying to compile using egcs or cygwin, I get a parse error in some
> typedef statements. What am I doing wrong?
>
> This is the code causing the error:
> // Start
>
> #ifdef _MSC_VER
> #define DBL_CDECL __cdecl
> #else
> #define DBL_CDECL _cdecl
> #endif
>
> typedef void (DBL_CDECL *DBL_pFuncExceptionHandler)(DBL_S32 ErrorCode,
> DBL_BOOL IsFatal);
> typedef void (DBL_CDECL *DBL_pFuncMessageShowHandler)(DBL_U8* Message, DBL_U
> 32
> MessageType, DBL_S32 ErrorCode);
>
> // End
>
> It would be a great help to me, if someone could help me. I prefer using the
> egcs or cygwin.
>
For GCC, there is a predefined macro, __cdecl, that gets translated to
__attribute__((cdecl)) and marks the function to use one particular
return convention. Some compilers, notably Borland and obviously LCC,
predefine both _cdecl and __cdecl.
Here's the fix:
#if defined (_MSC_VER) || defined (__GNUC__)
#define DBL_CDECL __cdecl
#else
#define DBL_CDECL _cdecl
#endif
Regards,
Mumit
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
More information about the Cygwin
mailing list