Home | History | Annotate | Line # | Download | only in lint1
      1 /*	$NetBSD: msg_139.c,v 1.5 2023/03/28 14:44:34 rillig Exp $	*/
      2 # 3 "msg_139.c"
      3 
      4 // Test for message: division by 0 [139]
      5 
      6 /* lint1-extra-flags: -X 351 */
      7 
      8 void sink_int(int);
      9 void sink_double(double);
     10 
     11 void
     12 example(int i)
     13 {
     14 	enum {
     15 		zero = 0
     16 	};
     17 
     18 	sink_int(i / 0);	/* only triggers in constant expressions */
     19 	sink_int(i / zero);	/* only triggers in constant expressions */
     20 	sink_double(i / 0.0);
     21 
     22 	/* expect+1: error: division by 0 [139] */
     23 	sink_int(13 / 0);
     24 	/* expect+1: error: division by 0 [139] */
     25 	sink_int(13 / zero);
     26 	/* expect+1: error: division by 0 [139] */
     27 	sink_double(13 / 0.0);	/* XXX: Clang doesn't warn */
     28 	/* expect+1: error: division by 0 [139] */
     29 	sink_double(13 / -0.0);	/* XXX: Clang doesn't warn */
     30 }
     31