xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_057.c (revision ea3322651cb02140ff295e6169245331baa0d3c3)
1*ea332265Srillig /*	$NetBSD: msg_057.c,v 1.8 2023/07/09 11:18:55 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_057.c"
3a0a15c14Srillig 
4c9df6031Srillig // Test for message: enumeration constant '%s' hides parameter [57]
5a0a15c14Srillig 
6e6298b92Srillig /* lint1-extra-flags: -X 351 */
7e6298b92Srillig 
8af03d2a0Srillig long
9*ea332265Srillig /* expect+3: warning: parameter 'red' unused in function 'rgb' [231] */
10*ea332265Srillig /* expect+2: warning: parameter 'green' unused in function 'rgb' [231] */
11*ea332265Srillig /* expect+1: warning: parameter 'blue' unused in function 'rgb' [231] */
rgb(int red,int green,int blue)12aba9ec72Srillig rgb(int red, int green, int blue)
13af03d2a0Srillig {
14af03d2a0Srillig 	enum color {
15c9df6031Srillig 		/* expect+2: warning: enumeration constant 'red' hides parameter [57] */
16c9df6031Srillig 		/* expect+1: warning: enumeration constant 'green' hides parameter [57] */
17aba9ec72Srillig 		red, green, blue
18aba9ec72Srillig 	};
19c9df6031Srillig 	/* expect-1: warning: enumeration constant 'blue' hides parameter [57] */
20aba9ec72Srillig 	/*
21aba9ec72Srillig 	 * The warning for 'blue' is at the semicolon since the parser has
22aba9ec72Srillig 	 * already advanced that far, checking for an optional initializer.
23aba9ec72Srillig 	 * As of 2022-06-15, lint does not keep track of the location of each
24aba9ec72Srillig 	 * individual token.
25aba9ec72Srillig 	 */
26af03d2a0Srillig 
27af03d2a0Srillig 	return red + green + blue;
28af03d2a0Srillig }
29