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
|
HADOOP-11548. checknative should display a nicer error message when openssl
|
||||||
support is not compiled in. (Anu Engineer via cnauroth)
|
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
|
Release 2.6.1 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -19,6 +19,19 @@
|
||||||
|
|
||||||
#include <jni.h> /* for jthrowable */
|
#include <jni.h> /* for jthrowable */
|
||||||
#include <stdarg.h> /* for va_list */
|
#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.
|
* Create a new Exception.
|
||||||
|
@ -48,7 +61,7 @@ jthrowable newExceptionV(JNIEnv* env, const char *name,
|
||||||
* @return The RuntimeException
|
* @return The RuntimeException
|
||||||
*/
|
*/
|
||||||
jthrowable newException(JNIEnv* env, const char *name, const char *fmt, ...)
|
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.
|
* Create a new RuntimeException.
|
||||||
|
@ -62,7 +75,7 @@ jthrowable newException(JNIEnv* env, const char *name, const char *fmt, ...)
|
||||||
* @return The RuntimeException
|
* @return The RuntimeException
|
||||||
*/
|
*/
|
||||||
jthrowable newRuntimeException(JNIEnv* env, const char *fmt, ...)
|
jthrowable newRuntimeException(JNIEnv* env, const char *fmt, ...)
|
||||||
__attribute__((format(printf, 2, 3)));
|
TYPE_CHECKED_PRINTF_FORMAT(2, 3);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new IOException.
|
* Create a new IOException.
|
||||||
|
@ -77,7 +90,7 @@ jthrowable newRuntimeException(JNIEnv* env, const char *fmt, ...)
|
||||||
* to create the NativeIOException.
|
* to create the NativeIOException.
|
||||||
*/
|
*/
|
||||||
jthrowable newIOException(JNIEnv* env, const char *fmt, ...)
|
jthrowable newIOException(JNIEnv* env, const char *fmt, ...)
|
||||||
__attribute__((format(printf, 2, 3)));
|
TYPE_CHECKED_PRINTF_FORMAT(2, 3);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Thread-safe strerror alternative.
|
* Thread-safe strerror alternative.
|
||||||
|
@ -87,4 +100,5 @@ jthrowable newIOException(JNIEnv* env, const char *fmt, ...)
|
||||||
*/
|
*/
|
||||||
const char* terror(int errnum);
|
const char* terror(int errnum);
|
||||||
|
|
||||||
|
#undef TYPE_CHECKED_PRINTF_FORMAT
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue