xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_277.c (revision d2c16d5796af7d64c26094d6e83f5c79714a35d6)
1*d2c16d57Srillig /*	$NetBSD: msg_277.c,v 1.9 2024/01/28 08:17:27 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_277.c"
3a0a15c14Srillig 
4199346ccSrillig // Test for message: initialization of '%s' with '%s' [277]
5a0a15c14Srillig 
6b2baa501Srillig /* lint1-extra-flags: -e -X 351 */
75398aad6Srillig 
85398aad6Srillig enum E {
95398aad6Srillig 	E1
105398aad6Srillig };
115398aad6Srillig 
125398aad6Srillig void sink_enum(enum E);
135398aad6Srillig void sink_int(int);
145398aad6Srillig 
155398aad6Srillig void
example(enum E e,int i)165398aad6Srillig example(enum E e, int i)
175398aad6Srillig {
185398aad6Srillig 	enum E e2 = e;
1936dcebf9Srillig 	/* expect+1: warning: initialization of 'enum E' with 'int' [277] */
2036dcebf9Srillig 	enum E e3 = { i };
2136dcebf9Srillig 	/* expect+1: warning: initialization of 'int' with 'enum E' [277] */
2236dcebf9Srillig 	int i2 = { e };
235398aad6Srillig 	int i3 = i;
245398aad6Srillig 
255398aad6Srillig 	sink_enum(e2);
265398aad6Srillig 	sink_enum(e3);
275398aad6Srillig 	sink_int(i2);
285398aad6Srillig 	sink_int(i3);
29653c9ff1Srillig 
3006b80932Srillig 	/* expect+1: warning: 'init_0' set but not used in function 'example' [191] */
31653c9ff1Srillig 	enum E init_0 = 0;
32*d2c16d57Srillig 	/* expect+2: warning: initialization of 'enum E' with 'int' [277] */
33*d2c16d57Srillig 	/* expect+1: warning: 'init_1' set but not used in function 'example' [191] */
34653c9ff1Srillig 	enum E init_1 = 1;
355398aad6Srillig }
36