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