Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(322)

Unified Diff: third_party/android_crazy_linker/src/src/crazy_linker_debug.h

Issue 1180693002: Update from https://crrev.com/333737 (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: rebased Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/android_crazy_linker/src/src/crazy_linker_debug.h
diff --git a/third_party/android_crazy_linker/src/src/crazy_linker_debug.h b/third_party/android_crazy_linker/src/src/crazy_linker_debug.h
new file mode 100644
index 0000000000000000000000000000000000000000..8cebf10fe39853a6c398fe519a5bcc3b6b6dad11
--- /dev/null
+++ b/third_party/android_crazy_linker/src/src/crazy_linker_debug.h
@@ -0,0 +1,62 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CRAZY_LINKER_DEBUG_H
+#define CRAZY_LINKER_DEBUG_H
+
+// Set CRAZY_DEBUG on the command-line to 1 to enable debugging support.
+// This really means adding traces that will be sent to both stderr
+// and the logcat during execution.
+#ifndef CRAZY_DEBUG
+#define CRAZY_DEBUG 0
+#endif
+
+// Define COMPILE_ASSERT using the implementation described in:
+// http://chromium.googlesource.com/chromium/src.git/+/539fc831/base/basictypes.h
+#if __cplusplus >= 201103L
+
+#define COMPILE_ASSERT(expr, msg) static_assert(expr, #msg)
+
+#else
+
+template <bool> struct CompileAssert { };
+#define COMPILE_ASSERT(expr, msg) \
+ typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] \
+ __attribute__((unused))
+
+#endif // __cplusplus >= 201103L
+
+namespace crazy {
+
+#if CRAZY_DEBUG
+
+void Log(const char* fmt, ...);
+void LogErrno(const char* fmt, ...);
+
+#define LOG(...) ::crazy::Log(__VA_ARGS__)
+#define LOG_ERRNO(...) ::crazy::LogErrno(__VA_ARGS__)
+
+#else
+
+#define LOG(...) ((void)0)
+#define LOG_ERRNO(...) ((void)0)
+
+#endif
+
+// Conditional logging.
+#define LOG_IF(cond, ...) \
+ do { \
+ if ((cond)) \
+ LOG(__VA_ARGS__); \
+ } while (0)
+
+#define LOG_ERRNO_IF(cond, ...) \
+ do { \
+ if ((cond)) \
+ LOG_ERRNO(__VA_ARGS__); \
+ } while (0)
+
+} // namespace crazy
+
+#endif // CRAZY_LINKER_DEBUG_H

Powered by Google App Engine
This is Rietveld 408576698