Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/extern
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-02-28 09:26:15 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-02-28 09:26:15 +0400
commitdd40560230102fb5a6ba185b491e86c56d84bfae (patch)
treefcd250d80ce4da9dda4d111441493b7b57b996ad /extern
parente6c5ff95be420845c8d694b400b915c6c9d85cd4 (diff)
patch [#30331] Support clang-3.0
from Yasuhiro Fujii (y-fujii) added the diff to libmv/patches so it can be applied upstream.
Diffstat (limited to 'extern')
-rw-r--r--extern/libmv/patches/clang-3.diff49
-rw-r--r--extern/libmv/patches/series1
-rw-r--r--extern/libmv/third_party/glog/src/logging.cc17
-rw-r--r--extern/libmv/third_party/glog/src/utilities.h2
4 files changed, 61 insertions, 8 deletions
diff --git a/extern/libmv/patches/clang-3.diff b/extern/libmv/patches/clang-3.diff
new file mode 100644
index 00000000000..9e73490827d
--- /dev/null
+++ b/extern/libmv/patches/clang-3.diff
@@ -0,0 +1,49 @@
+Index: third_party/glog/src/utilities.h
+===================================================================
+--- third_party/glog/src/utilities.h (revision 44501)
++++ third_party/glog/src/utilities.h (working copy)
+@@ -105,7 +105,7 @@
+ # undef STACKTRACE_H
+ #elif defined(HAVE_LIB_UNWIND)
+ # define STACKTRACE_H "stacktrace_libunwind-inl.h"
+-#elif !defined(NO_FRAME_POINTER)
++#elif !defined(NO_FRAME_POINTER) && !defined(__clang__)
+ # if defined(__i386__) && __GNUC__ >= 2
+ # define STACKTRACE_H "stacktrace_x86-inl.h"
+ # elif defined(__x86_64__) && __GNUC__ >= 2
+Index: third_party/glog/src/logging.cc
+===================================================================
+--- third_party/glog/src/logging.cc (revision 44501)
++++ third_party/glog/src/logging.cc (working copy)
+@@ -1231,6 +1231,14 @@
+ #endif
+ }
+
++#if defined(HAVE___ATTRIBUTE__)
++typedef void (*fail_func_t)() __attribute__((noreturn));
++static void logging_fail() __attribute__((noreturn));
++#else
++typedef void (*fail_func_t)();
++static void logging_fail();
++#endif
++
+ static void logging_fail() {
+ // #if defined(_DEBUG) && defined(_MSC_VER)
+ // doesn't work for my laptop (sergey)
+@@ -1243,14 +1251,9 @@
+ #endif
+ }
+
+-#ifdef HAVE___ATTRIBUTE__
+-GOOGLE_GLOG_DLL_DECL
+-void (*g_logging_fail_func)() __attribute__((noreturn)) = &logging_fail;
+-#else
+-GOOGLE_GLOG_DLL_DECL void (*g_logging_fail_func)() = &logging_fail;
+-#endif
++GOOGLE_GLOG_DLL_DECL fail_func_t g_logging_fail_func = &logging_fail;
+
+-void InstallFailureFunction(void (*fail_func)()) {
++void InstallFailureFunction(fail_func_t fail_func) {
+ g_logging_fail_func = fail_func;
+ }
+
diff --git a/extern/libmv/patches/series b/extern/libmv/patches/series
index ca671122a61..2b2e69bd849 100644
--- a/extern/libmv/patches/series
+++ b/extern/libmv/patches/series
@@ -1,2 +1,3 @@
v3d_verbosity.patch
bundle_tweaks.patch
+clang-3.diff
diff --git a/extern/libmv/third_party/glog/src/logging.cc b/extern/libmv/third_party/glog/src/logging.cc
index 1bb3867aa10..f7488b3e04c 100644
--- a/extern/libmv/third_party/glog/src/logging.cc
+++ b/extern/libmv/third_party/glog/src/logging.cc
@@ -1231,6 +1231,14 @@ void LogMessage::RecordCrashReason(
#endif
}
+#if defined(HAVE___ATTRIBUTE__)
+typedef void (*fail_func_t)() __attribute__((noreturn));
+static void logging_fail() __attribute__((noreturn));
+#else
+typedef void (*fail_func_t)();
+static void logging_fail();
+#endif
+
static void logging_fail() {
// #if defined(_DEBUG) && defined(_MSC_VER)
// doesn't work for my laptop (sergey)
@@ -1243,14 +1251,9 @@ static void logging_fail() {
#endif
}
-#ifdef HAVE___ATTRIBUTE__
-GOOGLE_GLOG_DLL_DECL
-void (*g_logging_fail_func)() __attribute__((noreturn)) = &logging_fail;
-#else
-GOOGLE_GLOG_DLL_DECL void (*g_logging_fail_func)() = &logging_fail;
-#endif
+GOOGLE_GLOG_DLL_DECL fail_func_t g_logging_fail_func = &logging_fail;
-void InstallFailureFunction(void (*fail_func)()) {
+void InstallFailureFunction(fail_func_t fail_func) {
g_logging_fail_func = fail_func;
}
diff --git a/extern/libmv/third_party/glog/src/utilities.h b/extern/libmv/third_party/glog/src/utilities.h
index bbb0eb0746c..6d7262e84ae 100644
--- a/extern/libmv/third_party/glog/src/utilities.h
+++ b/extern/libmv/third_party/glog/src/utilities.h
@@ -105,7 +105,7 @@
# undef STACKTRACE_H
#elif defined(HAVE_LIB_UNWIND)
# define STACKTRACE_H "stacktrace_libunwind-inl.h"
-#elif !defined(NO_FRAME_POINTER)
+#elif !defined(NO_FRAME_POINTER) && !defined(__clang__)
# if defined(__i386__) && __GNUC__ >= 2
# define STACKTRACE_H "stacktrace_x86-inl.h"
# elif defined(__x86_64__) && __GNUC__ >= 2