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