Page MenuHome

clang30-glog-v2.patch

clang30-glog-v2.patch

Index: extern/libmv/third_party/glog/src/utilities.cc
===================================================================
--- extern/libmv/third_party/glog/src/utilities.cc (revision 44517)
+++ extern/libmv/third_party/glog/src/utilities.cc (working copy)
@@ -131,6 +131,7 @@
}
}
+static void DumpStackTraceAndExit() ATTRIBUTE_NORETURN;
static void DumpStackTraceAndExit() {
DumpStackTrace(1, DebugWriteToStderr, NULL);
Index: extern/libmv/third_party/glog/src/utilities.h
===================================================================
--- extern/libmv/third_party/glog/src/utilities.h (revision 44517)
+++ extern/libmv/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
@@ -142,8 +142,10 @@
#ifdef HAVE___ATTRIBUTE__
# define ATTRIBUTE_NOINLINE __attribute__ ((noinline))
+# define ATTRIBUTE_NORETURN __attribute__ ((noreturn))
# define HAVE_ATTRIBUTE_NOINLINE
#else
+# define ATTRIBUTE_NORETURN
# define ATTRIBUTE_NOINLINE
#endif
Index: extern/libmv/third_party/glog/src/logging.cc
===================================================================
--- extern/libmv/third_party/glog/src/logging.cc (revision 44517)
+++ extern/libmv/third_party/glog/src/logging.cc (working copy)
@@ -1231,6 +1231,7 @@
#endif
}
+static void logging_fail() ATTRIBUTE_NORETURN;
static void logging_fail() {
// #if defined(_DEBUG) && defined(_MSC_VER)
// doesn't work for my laptop (sergey)
@@ -1243,14 +1244,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 void (*g_logging_fail_func)() ATTRIBUTE_NORETURN = &logging_fail;
-void InstallFailureFunction(void (*fail_func)()) {
+void InstallFailureFunction(void (*fail_func)() ATTRIBUTE_NORETURN) {
g_logging_fail_func = fail_func;
}
Index: extern/libmv/third_party/glog/src/glog/logging.h
===================================================================
--- extern/libmv/third_party/glog/src/glog/logging.h (revision 44517)
+++ extern/libmv/third_party/glog/src/glog/logging.h (working copy)
@@ -487,7 +487,7 @@
GOOGLE_GLOG_DLL_DECL void ShutdownGoogleLogging();
// Install a function which will be called after LOG(FATAL).
-GOOGLE_GLOG_DLL_DECL void InstallFailureFunction(void (*fail_func)());
+GOOGLE_GLOG_DLL_DECL void InstallFailureFunction(void (*fail_func)() __attribute__ ((noreturn)));
class LogSink; // defined below

File Metadata

Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
97/69/d846b60bee70efca62af7a527ede

Event Timeline