xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_243.c (revision 62071d8c644621bdba49481aa92168fc3ac8a1af)
1*62071d8cSrillig /*	$NetBSD: msg_243.c,v 1.6 2023/07/09 12:04:08 rillig Exp $	*/
2a0a15c14Srillig # 3 "msg_243.c"
3a0a15c14Srillig 
4*62071d8cSrillig // Test for message: operator '%s' assumes that '%s' is ordered [243]
5a0a15c14Srillig 
6b2baa501Srillig /* lint1-extra-flags: -eP -X 351 */
73cef4b4fSrillig 
83cef4b4fSrillig enum color {
93cef4b4fSrillig 	RED, GREEN, BLUE
103cef4b4fSrillig };
113cef4b4fSrillig 
123cef4b4fSrillig void eval(_Bool);
133cef4b4fSrillig 
143cef4b4fSrillig /* TODO: There should be a way to declare an enum type as "ordered ok". */
153cef4b4fSrillig 
163cef4b4fSrillig void
example(enum color a,enum color b)173cef4b4fSrillig example(enum color a, enum color b)
183cef4b4fSrillig {
19*62071d8cSrillig 	/* expect+1: warning: operator '<' assumes that 'enum color' is ordered [243] */
2036dcebf9Srillig 	eval(a < b);
21*62071d8cSrillig 	/* expect+1: warning: operator '<=' assumes that 'enum color' is ordered [243] */
2236dcebf9Srillig 	eval(a <= b);
23*62071d8cSrillig 	/* expect+1: warning: operator '>' assumes that 'enum color' is ordered [243] */
2436dcebf9Srillig 	eval(a > b);
25*62071d8cSrillig 	/* expect+1: warning: operator '>=' assumes that 'enum color' is ordered [243] */
2636dcebf9Srillig 	eval(a >= b);
273cef4b4fSrillig 	eval(a == b);
283cef4b4fSrillig 	eval(a != b);
293cef4b4fSrillig }
30