Home | History | Annotate | Line # | Download | only in lint1
      1 /*	$NetBSD: msg_196.c,v 1.6 2025/02/27 06:48:29 rillig Exp $	*/
      2 # 3 "msg_196.c"
      3 
      4 // Test for message: case label is converted from '%s' to '%s' [196]
      5 
      6 /* lint1-extra-flags: -X 351 */
      7 
      8 // C23 6.8.5.3p5 says: [...] The constant expression in each case label is
      9 // converted to the promoted type of the controlling expression. [...]
     10 
     11 void
     12 switch_int_unsigned(int x)
     13 {
     14 	switch (x) {
     15 		/* expect+1: warning: case label is converted from 'unsigned int' to 'int' [196] */
     16 	case (unsigned int)-1:
     17 		/* expect+1: warning: case label is converted from 'unsigned int' to 'int' [196] */
     18 	case -2U:
     19 		/* expect+1: warning: case label is converted from 'unsigned long long' to 'int' [196] */
     20 	case 0x1000200030004000ULL:
     21 		return;
     22 	}
     23 }
     24