| 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
|
|
|