Lib/java/javahead.swg: clean up jlong handling.
As for __int64 definition. __int64 is a non-standard Visual-C-specific type used in win32/jni_md.h. It is defined by other Win32 compilers in one way or another, obviously for compatibility. It's more appropriate to give the compiler a chance to make necessary arrangements instead of reinventing the wheel. This, giving a chance, can be achieved by including virtually any standard header. Since jni.h includes stdio.h, defining __int64 in javahead.swg is redundant. Since doing so actually triggers compilation errors on MinGW if a system header is included in the %begin section, it's arguably appropriate to omit it. As for #undef _LP64 removal. Undefining a pre-defined macro, which _LP64 is, is bad style, and if followed by inclusion of systems headers, it's actually error-prone. Log suggests that it was added to resolve a warning. I'm inclined to believe that it rather was a misunderstanding of some kind. Or a bug in warning subsystem of some particular compiler version, in which case it would have been more appropriate to advise users to ignore the warning.
This commit is contained in:
parent
3b822ee60c
commit
971e1154af
1 changed files with 0 additions and 12 deletions
|
|
@ -30,18 +30,6 @@
|
|||
#endif
|
||||
|
||||
%insert(runtime) %{
|
||||
/* Fix for jlong on some versions of gcc on Windows */
|
||||
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
|
||||
typedef long long __int64;
|
||||
#endif
|
||||
|
||||
/* Fix for jlong on 64-bit x86 Solaris */
|
||||
#if defined(__x86_64)
|
||||
# ifdef _LP64
|
||||
# undef _LP64
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <jni.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue