diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-02-28 09:26:15 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-02-28 09:26:15 +0400 |
commit | dd40560230102fb5a6ba185b491e86c56d84bfae (patch) | |
tree | fcd250d80ce4da9dda4d111441493b7b57b996ad /extern | |
parent | e6c5ff95be420845c8d694b400b915c6c9d85cd4 (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.diff | 49 | ||||
-rw-r--r-- | extern/libmv/patches/series | 1 | ||||
-rw-r--r-- | extern/libmv/third_party/glog/src/logging.cc | 17 | ||||
-rw-r--r-- | extern/libmv/third_party/glog/src/utilities.h | 2 |
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 |