Define LIKELY and UNLIKELY in a vendor friendly way
This prevents macro conflicts with vendor code. Bug: 27804373 Change-Id: I759c2b7b611203d0afdc35ddd5c2adb8f942ea17 Test: Compiles when libbinder include path changes to include libbase.
This commit is contained in:
parent
c2241b9c5d
commit
ec9ea66a2b
|
@ -123,8 +123,11 @@ char(&ArraySizeHelper(T(&array)[N]))[N]; // NOLINT(readability/casting)
|
|||
((sizeof(a) / sizeof(*(a))) / \
|
||||
static_cast<size_t>(!(sizeof(a) % sizeof(*(a)))))
|
||||
|
||||
#define LIKELY(x) __builtin_expect((x), true)
|
||||
#define UNLIKELY(x) __builtin_expect((x), false)
|
||||
// Changing this definition will cause you a lot of pain. A majority of
|
||||
// vendor code defines LIKELY and UNLIKELY this way, and includes
|
||||
// this header through an indirect path.
|
||||
#define LIKELY( exp ) (__builtin_expect( (exp) != 0, true ))
|
||||
#define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false ))
|
||||
|
||||
#define WARN_UNUSED __attribute__((warn_unused_result))
|
||||
|
||||
|
|
Loading…
Reference in New Issue