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