// DO NOT INCLUDE ANYTHING NEW IN THIS FILE. // has replaced this file and all changes should go there instead. // This path remains strictly to include that header as there are thousands of // references to in the tree. // #include #include #include #ifdef NDEBUG #define LOG_NDEBUG 1 #else #define LOG_NDEBUG 0 #endif #define LOG_TAG "MPLOG" #define ALOGV(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG,__VA_ARGS__) #define ALOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG,__VA_ARGS__) #define ALOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) #define ALOGW(...) __android_log_print(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__) #define ALOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG,__VA_ARGS__) #define android_printAssert(cond, tag, ...) \ __android_log_assert(cond, tag, \ __android_second(0, ##__VA_ARGS__, NULL) \ __android_rest(__VA_ARGS__)) #define __FAKE_USE_VA_ARGS(...) ((void)(0)) #ifndef LOG_ALWAYS_FATAL_IF #define LOG_ALWAYS_FATAL_IF(cond, ...) \ ((__predict_false(cond)) ? (__FAKE_USE_VA_ARGS(__VA_ARGS__), \ ((void)android_printAssert(#cond, LOG_TAG, ##__VA_ARGS__))) \ : ((void)0)) #endif #ifndef LOG_ALWAYS_FATAL #define LOG_ALWAYS_FATAL(...) \ (((void)android_printAssert(NULL, LOG_TAG, ##__VA_ARGS__))) #endif #if NDEBUG #ifndef LOG_FATAL_IF #define LOG_FATAL_IF(cond, ...) __FAKE_USE_VA_ARGS(__VA_ARGS__) #endif #ifndef LOG_FATAL #define LOG_FATAL(...) __FAKE_USE_VA_ARGS(__VA_ARGS__) #endif #else #ifndef LOG_FATAL_IF #define LOG_FATAL_IF(cond, ...) LOG_ALWAYS_FATAL_IF(cond, ##__VA_ARGS__) #endif #ifndef LOG_FATAL #define LOG_FATAL(...) LOG_ALWAYS_FATAL(__VA_ARGS__) #endif #endif