xref: /netbsd-src/tests/usr.bin/xlint/lint1/msg_139.c (revision b2baa50111d645353fa30b4deab0f79d93650c8c)
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
example(int i)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