[AIX] util/include/axutil_utils_defines.h should not map AXIS2_CALL to
__stdcall on non-Windows platforms
---------------------------------------------------------------------------------------------------------
Key: AXIS2C-1441
URL: https://issues.apache.org/jira/browse/AXIS2C-1441
Project: Axis2-C
Issue Type: Bug
Components: platforms/unix
Affects Versions: 1.6.0, 1.7.0, Current (Nightly)
Environment: AIX 5.2 ; Visual Age C++ 6.0 ; Insure++ 7.1
Reporter: Olivier Mengué
__stdcall is a Microsoft specific keyword that should be used only for Win32
builds.
(reference: http://msdn.microsoft.com/en-us/library/zxk0tw93%28VS.80%29.aspx )
However util/include/axutil_utils_defines.h contains this code:
========================================
#if defined(__GNUC__)
#if defined(__i386)
#define AXIS2_CALL __attribute__((cdecl))
#define AXIS2_WUR __attribute__((warn_unused_result))
#else
#define AXIS2_CALL
#define AXIS2_WUR
#endif
#else
#if defined(__unix)
#define AXIS2_CALL
#define AXIS2_WUR
#else /* WIN32 */
#define AXIS2_CALL __stdcall
#define AXIS2_WUR
#endif
#endif
========================================
On AIX platforms, Insure++ doesn't have the __unix define and doesn't know the
__stdcall keyword.
So this makes Insure++ fail to compile such function variable declaration:
========================================
void *(
AXIS2_CALL
* my_fn)();
========================================
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.