You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by zh...@apache.org on 2015/02/06 22:46:37 UTC
[05/50] [abbrv] hadoop git commit: HADOOP-11547. hadoop-common native
compilation fails on Windows due to missing support for __attribute__
declaration. Contributed by Chris Nauroth.
HADOOP-11547. hadoop-common native compilation fails on Windows due to missing support for __attribute__ declaration. Contributed by Chris Nauroth.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b537751f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b537751f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b537751f
Branch: refs/heads/HDFS-EC
Commit: b537751f4b1db56074c2c5cebe9427a7bdb2ee27
Parents: 12cbbd2
Author: cnauroth <cn...@apache.org>
Authored: Wed Feb 4 12:07:05 2015 -0800
Committer: Zhe Zhang <zh...@apache.org>
Committed: Fri Feb 6 13:45:47 2015 -0800
----------------------------------------------------------------------
hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++
.../src/main/native/src/exception.h | 20 +++++++++++++++++---
2 files changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/b537751f/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index b970254..3d11b71 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -832,6 +832,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
http://git-wip-us.apache.org/repos/asf/hadoop/blob/b537751f/hadoop-common-project/hadoop-common/src/main/native/src/exception.h
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/exception.h b/hadoop-common-project/hadoop-common/src/main/native/src/exception.h
index 1ec47a6..afa08e9 100644
--- a/hadoop-common-project/hadoop-common/src/main/native/src/exception.h
+++ b/hadoop-common-project/hadoop-common/src/main/native/src/exception.h
@@ -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