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