| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright 2012 The Android Open Source Project | |
| 3 * | |
| 4 * Use of this source code is governed by a BSD-style license that can be | |
| 5 * found in the LICENSE file. | |
| 6 */ | |
| 7 | |
| 8 #ifndef ANDROID_CUTILS_COMPILER_H | |
| 9 #define ANDROID_CUTILS_COMPILER_H | |
| 10 | |
| 11 /* | |
| 12 * helps the compiler's optimizer predicting branches | |
| 13 */ | |
| 14 | |
| 15 #ifdef __cplusplus | |
| 16 # define CC_LIKELY( exp ) (__builtin_expect( !!(exp), true )) | |
| 17 # define CC_UNLIKELY( exp ) (__builtin_expect( !!(exp), false )) | |
| 18 #else | |
| 19 # define CC_LIKELY( exp ) (__builtin_expect( !!(exp), 1 )) | |
| 20 # define CC_UNLIKELY( exp ) (__builtin_expect( !!(exp), 0 )) | |
| 21 #endif | |
| 22 | |
| 23 /** | |
| 24 * exports marked symbols | |
| 25 * | |
| 26 * if used on a C++ class declaration, this macro must be inserted | |
| 27 * after the "class" keyword. For instance: | |
| 28 * | |
| 29 * template <typename TYPE> | |
| 30 * class ANDROID_API Singleton { } | |
| 31 */ | |
| 32 | |
| 33 #define ANDROID_API __attribute__((visibility("default"))) | |
| 34 | |
| 35 #endif // ANDROID_CUTILS_COMPILER_H | |
| OLD | NEW |