xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_383.c (revision e79ed5007234254008237aa586d5435bb81927a7)
1*e79ed500Srillig /*	$NetBSD: msg_383.c,v 1.1 2024/11/23 16:48:35 rillig Exp $	*/
2*e79ed500Srillig # 3 "msg_383.c"
3*e79ed500Srillig 
4*e79ed500Srillig // Test for message: passing '%s' to argument %d discards '%s' [383]
5*e79ed500Srillig 
6*e79ed500Srillig /* lint1-extra-flags: -X 351 */
7*e79ed500Srillig 
8*e79ed500Srillig void sink_char(char *, const char *, volatile char *, const volatile char *);
9*e79ed500Srillig void sink_int(int *, const int *, volatile int *, const volatile int *);
10*e79ed500Srillig 
11*e79ed500Srillig void
12*e79ed500Srillig caller(const volatile char *cvcp, const volatile int *cvip, int (*fn)(void))
13*e79ed500Srillig {
14*e79ed500Srillig 	/* expect+3: warning: passing 'pointer to const volatile char' to argument 1 discards 'const volatile' [383] */
15*e79ed500Srillig 	/* expect+2: warning: passing 'pointer to const volatile char' to argument 2 discards 'volatile' [383] */
16*e79ed500Srillig 	/* expect+1: warning: passing 'pointer to const volatile char' to argument 3 discards 'const' [383] */
17*e79ed500Srillig 	sink_char(cvcp, cvcp, cvcp, cvcp);
18*e79ed500Srillig 	/* expect+3: warning: passing 'pointer to const volatile int' to argument 1 discards 'const volatile' [383] */
19*e79ed500Srillig 	/* expect+2: warning: passing 'pointer to const volatile int' to argument 2 discards 'volatile' [383] */
20*e79ed500Srillig 	/* expect+1: warning: passing 'pointer to const volatile int' to argument 3 discards 'const' [383] */
21*e79ed500Srillig 	sink_int(cvip, cvip, cvip, cvip);
22*e79ed500Srillig 	/* expect+4: warning: converting 'pointer to function(void) returning int' to incompatible 'pointer to char' for argument 1 [153] */
23*e79ed500Srillig 	/* expect+3: warning: converting 'pointer to function(void) returning int' to incompatible 'pointer to const char' for argument 2 [153] */
24*e79ed500Srillig 	/* expect+2: warning: converting 'pointer to function(void) returning int' to incompatible 'pointer to volatile char' for argument 3 [153] */
25*e79ed500Srillig 	/* expect+1: warning: converting 'pointer to function(void) returning int' to incompatible 'pointer to const volatile char' for argument 4 [153] */
26*e79ed500Srillig 	sink_char(fn, fn, fn, fn);
27*e79ed500Srillig }
28