xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_192.c (revision 5a40444efdf3cd153afa7885ed2b4741fd695c80)
1*5a40444eSrillig /*	$NetBSD: msg_192.c,v 1.12 2024/09/28 15:51:40 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_192.c"
3a0a15c14Srillig 
418955dccSrillig // Test for message: '%s' unused in function '%s' [192]
58ffda145Srillig //
68ffda145Srillig // See also:
78ffda145Srillig //	msg_231		for unused parameters
8a0a15c14Srillig 
9e6298b92Srillig /* lint1-extra-flags: -X 351 */
10e6298b92Srillig 
114916b997Srillig void
128ffda145Srillig example(void)
134916b997Srillig {
148ffda145Srillig 	/* expect+1: warning: 'local_scalar' unused in function 'example' [192] */
158ffda145Srillig 	int local_scalar;
168ffda145Srillig 	/* expect+1: warning: 'local_ptr' unused in function 'example' [192] */
178ffda145Srillig 	char *local_ptr;
188ffda145Srillig 	/* expect+1: warning: 'local_arr' unused in function 'example' [192] */
198ffda145Srillig 	char local_arr[5];
208ffda145Srillig 	/* expect+1: warning: 'local_func' unused in function 'example' [192] */
218ffda145Srillig 	void (*local_func)(int, double);
228ffda145Srillig 	typedef void (*handler)(int);
238ffda145Srillig 	/* expect+1: warning: 'local_signal' unused in function 'example' [192] */
248ffda145Srillig 	handler (*local_signal)(int, handler);
251d21b9ebSrillig 
261d21b9ebSrillig 	int local_scalar_attr __attribute__((__unused__));
271d21b9ebSrillig 	char *local_ptr_attr __attribute__((__unused__));
281d21b9ebSrillig 	char local_arr_attr[5] __attribute__((__unused__));
291d21b9ebSrillig 	void (*local_func_attr)(int, double) __attribute__((__unused__));
301d21b9ebSrillig 	void (*(*local_signal_attr)(int sig, void (*handler)(int)))(int) __attribute__((__unused__));
314916b997Srillig }
3241bc0f7dSrillig 
3341bc0f7dSrillig 
34a479246eSrillig void assertion_failed(const char *, int, const char *, const char *);
3541bc0f7dSrillig 
36f88aa15bSrillig /*
37f88aa15bSrillig  * The symbol '__func__' only occurs in an unreachable branch.  It is
38f88aa15bSrillig  * nevertheless marked as used.
39f88aa15bSrillig  */
4041bc0f7dSrillig void
4141bc0f7dSrillig assert_true(void)
4241bc0f7dSrillig {
4341bc0f7dSrillig 	sizeof(char) == 1
4441bc0f7dSrillig 	    ? (void)0
45a479246eSrillig 	    : assertion_failed("file", 26, __func__, "sizeof(char) == 1");
4641bc0f7dSrillig }
4741bc0f7dSrillig 
4841bc0f7dSrillig void
4941bc0f7dSrillig assert_false(void)
5041bc0f7dSrillig {
5141bc0f7dSrillig 	sizeof(char) == 0
5241bc0f7dSrillig 	    ? (void)0
53a479246eSrillig 	    : assertion_failed("file", 34, __func__, "sizeof(char) == 0");
5441bc0f7dSrillig }
5541bc0f7dSrillig 
5641bc0f7dSrillig void
5741bc0f7dSrillig assert_unknown(_Bool cond)
5841bc0f7dSrillig {
5941bc0f7dSrillig 	cond
6041bc0f7dSrillig 	    ? (void)0
61a479246eSrillig 	    : assertion_failed("file", 42, __func__, "cond");
6241bc0f7dSrillig }
63