HADOOP-11547. hadoop-common native compilation fails on Windows due to missing support for __attribute__ declaration. Contributed by Chris Nauroth.
(cherry picked from commit a35e86c670
)
This commit is contained in:
parent
696266e99c
commit
196443318f
|
@ -476,6 +476,9 @@ Release 2.7.0 - UNRELEASED
|
|||
HADOOP-11548. checknative should display a nicer error message when openssl
|
||||
support is not compiled in. (Anu Engineer via cnauroth)
|
||||
|
||||
HADOOP-11547. hadoop-common native compilation fails on Windows due to
|
||||
missing support for __attribute__ declaration. (cnauroth)
|
||||
|
||||
Release 2.6.1 - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -19,6 +19,19 @@
|
|||
|
||||
#include <jni.h> /* for jthrowable */
|
||||
#include <stdarg.h> /* for va_list */
|
||||
#include "org_apache_hadoop.h"
|
||||
|
||||
#ifdef WINDOWS
|
||||
/*
|
||||
* gcc-style type-checked format arguments are not supported on Windows, so just
|
||||
* stub this macro.
|
||||
*/
|
||||
#define TYPE_CHECKED_PRINTF_FORMAT(formatArg, varArgs)
|
||||
# else
|
||||
/* Use gcc type-checked format arguments. */
|
||||
#define TYPE_CHECKED_PRINTF_FORMAT(formatArg, varArgs) \
|
||||
__attribute__((format(printf, formatArg, varArgs)))
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Create a new Exception.
|
||||
|
@ -48,7 +61,7 @@ jthrowable newExceptionV(JNIEnv* env, const char *name,
|
|||
* @return The RuntimeException
|
||||
*/
|
||||
jthrowable newException(JNIEnv* env, const char *name, const char *fmt, ...)
|
||||
__attribute__((format(printf, 3, 4)));
|
||||
TYPE_CHECKED_PRINTF_FORMAT(3, 4);
|
||||
|
||||
/**
|
||||
* Create a new RuntimeException.
|
||||
|
@ -62,7 +75,7 @@ jthrowable newException(JNIEnv* env, const char *name, const char *fmt, ...)
|
|||
* @return The RuntimeException
|
||||
*/
|
||||
jthrowable newRuntimeException(JNIEnv* env, const char *fmt, ...)
|
||||
__attribute__((format(printf, 2, 3)));
|
||||
TYPE_CHECKED_PRINTF_FORMAT(2, 3);
|
||||
|
||||
/**
|
||||
* Create a new IOException.
|
||||
|
@ -77,7 +90,7 @@ jthrowable newRuntimeException(JNIEnv* env, const char *fmt, ...)
|
|||
* to create the NativeIOException.
|
||||
*/
|
||||
jthrowable newIOException(JNIEnv* env, const char *fmt, ...)
|
||||
__attribute__((format(printf, 2, 3)));
|
||||
TYPE_CHECKED_PRINTF_FORMAT(2, 3);
|
||||
|
||||
/**
|
||||
* Thread-safe strerror alternative.
|
||||
|
@ -87,4 +100,5 @@ jthrowable newIOException(JNIEnv* env, const char *fmt, ...)
|
|||
*/
|
||||
const char* terror(int errnum);
|
||||
|
||||
#undef TYPE_CHECKED_PRINTF_FORMAT
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue