xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_192.c (revision 5a40444efdf3cd153afa7885ed2b4741fd695c80)
1 /*	$NetBSD: msg_192.c,v 1.12 2024/09/28 15:51:40 rillig Exp $	*/
2 # 3 "msg_192.c"
3 
4 // Test for message: '%s' unused in function '%s' [192]
5 //
6 // See also:
7 //	msg_231		for unused parameters
8 
9 /* lint1-extra-flags: -X 351 */
10 
11 void
12 example(void)
13 {
14 	/* expect+1: warning: 'local_scalar' unused in function 'example' [192] */
15 	int local_scalar;
16 	/* expect+1: warning: 'local_ptr' unused in function 'example' [192] */
17 	char *local_ptr;
18 	/* expect+1: warning: 'local_arr' unused in function 'example' [192] */
19 	char local_arr[5];
20 	/* expect+1: warning: 'local_func' unused in function 'example' [192] */
21 	void (*local_func)(int, double);
22 	typedef void (*handler)(int);
23 	/* expect+1: warning: 'local_signal' unused in function 'example' [192] */
24 	handler (*local_signal)(int, handler);
25 
26 	int local_scalar_attr __attribute__((__unused__));
27 	char *local_ptr_attr __attribute__((__unused__));
28 	char local_arr_attr[5] __attribute__((__unused__));
29 	void (*local_func_attr)(int, double) __attribute__((__unused__));
30 	void (*(*local_signal_attr)(int sig, void (*handler)(int)))(int) __attribute__((__unused__));
31 }
32 
33 
34 void assertion_failed(const char *, int, const char *, const char *);
35 
36 /*
37  * The symbol '__func__' only occurs in an unreachable branch.  It is
38  * nevertheless marked as used.
39  */
40 void
41 assert_true(void)
42 {
43 	sizeof(char) == 1
44 	    ? (void)0
45 	    : assertion_failed("file", 26, __func__, "sizeof(char) == 1");
46 }
47 
48 void
49 assert_false(void)
50 {
51 	sizeof(char) == 0
52 	    ? (void)0
53 	    : assertion_failed("file", 34, __func__, "sizeof(char) == 0");
54 }
55 
56 void
57 assert_unknown(_Bool cond)
58 {
59 	cond
60 	    ? (void)0
61 	    : assertion_failed("file", 42, __func__, "cond");
62 }
63