Home | History | Annotate | Line # | Download | only in lint1
      1  1.4  rillig /*	$NetBSD: msg_271.c,v 1.4 2021/08/22 13:52:19 rillig Exp $	*/
      2  1.1  rillig # 3 "msg_271.c"
      3  1.1  rillig 
      4  1.4  rillig /* Test for message: switch expression must be of type 'int' in traditional C [271] */
      5  1.1  rillig 
      6  1.3  rillig /* lint1-flags: -tw */
      7  1.3  rillig 
      8  1.3  rillig example(long_int, unsigned_int)
      9  1.3  rillig 	long long_int;
     10  1.3  rillig 	unsigned unsigned_int;
     11  1.3  rillig {
     12  1.4  rillig 	/* expect+1: warning: switch expression must be of type 'int' in traditional C [271] */
     13  1.3  rillig 	switch (long_int) {
     14  1.3  rillig 	case 3:
     15  1.3  rillig 		return 1;
     16  1.3  rillig 	}
     17  1.3  rillig 
     18  1.3  rillig 	/*
     19  1.3  rillig 	 * XXX: K&R clearly says "the result must be 'int'", but lint also
     20  1.3  rillig 	 * allows unsigned int.
     21  1.3  rillig 	 */
     22  1.3  rillig 	switch (unsigned_int) {
     23  1.3  rillig 	case 3:
     24  1.3  rillig 		return 1;
     25  1.3  rillig 	}
     26  1.3  rillig 	return 2;
     27  1.3  rillig }
     28