Check if WARN_UNUSED_RESULT and COMPILE_ASSERT are defined.

Works around a multiple definition error from webrtc and libjingle.

Corresponds to the libjingle change here:
https://critique.corp.google.com/#review/55489575-p10

TESTED=trybots
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2809004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5025 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
andrew@webrtc.org 2013-10-23 19:11:32 +00:00
parent 22858d4785
commit d1bcf1180a
2 changed files with 8 additions and 1 deletions

View File

@ -28,13 +28,16 @@
// the expression is false, most compilers will issue a warning/error
// containing the name of the variable.
// TODO(ajm): Hack to avoid multiple definitions until the base/ of webrtc and
// libjingle are merged.
#if !defined(COMPILE_ASSERT)
template <bool>
struct CompileAssert {
};
#undef COMPILE_ASSERT
#define COMPILE_ASSERT(expr, msg) \
typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1]
#endif // COMPILE_ASSERT
// Implementation details of COMPILE_ASSERT:
//

View File

@ -95,10 +95,14 @@ typedef unsigned __int64 uint64_t;
// Annotate a function indicating the caller must examine the return value.
// Use like:
// int foo() WARN_UNUSED_RESULT;
// TODO(ajm): Hack to avoid multiple definitions until the base/ of webrtc and
// libjingle are merged.
#if !defined(WARN_UNUSED_RESULT)
#if defined(__GNUC__)
#define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
#define WARN_UNUSED_RESULT
#endif
#endif // WARN_UNUSED_RESULT
#endif // WEBRTC_TYPEDEFS_H_