xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_128.c (revision 88d1eb2324a18ae9aa3cebcfbef602456b96bcb6)
1*88d1eb23Srillig /*	$NetBSD: msg_128.c,v 1.9 2024/11/23 00:01:48 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_128.c"
3a0a15c14Srillig 
4*88d1eb23Srillig // Test for message: operator '%s' discards '%s' from '%s' [128]
5a0a15c14Srillig 
6e6298b92Srillig /* lint1-extra-flags: -X 351 */
7e6298b92Srillig 
8*88d1eb23Srillig char *ptr;
9*88d1eb23Srillig const char *cptr;
10*88d1eb23Srillig volatile char *vptr;
11*88d1eb23Srillig const volatile char *cvptr;
12*88d1eb23Srillig 
13*88d1eb23Srillig const volatile int *cviptr;
14*88d1eb23Srillig 
15df6d0bccSrillig void
16*88d1eb23Srillig assign(void)
17df6d0bccSrillig {
18*88d1eb23Srillig 	/* expect+1: warning: operator '=' discards 'const volatile' from 'pointer to const volatile char' [128] */
19*88d1eb23Srillig 	ptr = cvptr;
20*88d1eb23Srillig 	/* expect+1: warning: operator '=' discards 'volatile' from 'pointer to const volatile char' [128] */
21*88d1eb23Srillig 	cptr = cvptr;
22*88d1eb23Srillig 	/* expect+1: warning: operator '=' discards 'const' from 'pointer to const volatile char' [128] */
23*88d1eb23Srillig 	vptr = cvptr;
24*88d1eb23Srillig 
25*88d1eb23Srillig 	/* expect+1: warning: illegal combination of 'pointer to char' and 'pointer to const volatile int', op '=' [124] */
26*88d1eb23Srillig 	ptr = cviptr;
27*88d1eb23Srillig 	/* expect+1: warning: illegal combination of 'pointer to const char' and 'pointer to const volatile int', op '=' [124] */
28*88d1eb23Srillig 	cptr = cviptr;
29*88d1eb23Srillig 	/* expect+1: warning: illegal combination of 'pointer to volatile char' and 'pointer to const volatile int', op '=' [124] */
30*88d1eb23Srillig 	vptr = cviptr;
31df6d0bccSrillig }
32