xref: /aosp_15_r20/external/trace-cmd/tracecmd/include/bug.h (revision 58e6ee5f017f6a8912852c892d18457e4bafb554)
1*58e6ee5fSAndroid Build Coastguard Worker /* SPDX-License-Identifier: LGPL-2.1 */
2*58e6ee5fSAndroid Build Coastguard Worker #ifndef __TRACE_CMD_BUG
3*58e6ee5fSAndroid Build Coastguard Worker #define __TRACE_CMD_BUG
4*58e6ee5fSAndroid Build Coastguard Worker 
5*58e6ee5fSAndroid Build Coastguard Worker #define unlikely(cond)	__builtin_expect(!!(cond), 0)
6*58e6ee5fSAndroid Build Coastguard Worker 
7*58e6ee5fSAndroid Build Coastguard Worker #define WARN_ONCE(cond, fmt, ...)			\
8*58e6ee5fSAndroid Build Coastguard Worker 	({						\
9*58e6ee5fSAndroid Build Coastguard Worker 		int __c__ = cond;			\
10*58e6ee5fSAndroid Build Coastguard Worker 		if (unlikely(__c__)) {			\
11*58e6ee5fSAndroid Build Coastguard Worker 			warning(fmt, ##__VA_ARGS__);	\
12*58e6ee5fSAndroid Build Coastguard Worker 		}					\
13*58e6ee5fSAndroid Build Coastguard Worker 		__c__;					\
14*58e6ee5fSAndroid Build Coastguard Worker 	})
15*58e6ee5fSAndroid Build Coastguard Worker #endif /* __TRACE_CMD_BUG */
16