[
https://issues.apache.org/jira/browse/AXIS2C-1441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Olivier Mengué updated AXIS2C-1441:
-----------------------------------
Description:
__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, the C preprocessor doesn't have the __unix define and
Insure++ doesn't know the __stdcall keyword.
So this makes Insure++ fail to compile such function variable declaration as
AXIS2_CALL is mapped to __stdcall:
========================================
void *(
AXIS2_CALL
* my_fn)();
========================================
was:
__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)();
========================================
> [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, the C preprocessor doesn't have the __unix define and
> Insure++ doesn't know the __stdcall keyword.
> So this makes Insure++ fail to compile such function variable declaration as
> AXIS2_CALL is mapped to __stdcall:
> ========================================
> 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.