1 1.5 rillig /* $NetBSD: msg_139.c,v 1.5 2023/03/28 14:44:34 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.5 rillig /* lint1-extra-flags: -X 351 */ 7 1.5 rillig 8 1.3 rillig void sink_int(int); 9 1.3 rillig void sink_double(double); 10 1.3 rillig 11 1.3 rillig void 12 1.3 rillig example(int i) 13 1.3 rillig { 14 1.3 rillig enum { 15 1.3 rillig zero = 0 16 1.3 rillig }; 17 1.3 rillig 18 1.3 rillig sink_int(i / 0); /* only triggers in constant expressions */ 19 1.3 rillig sink_int(i / zero); /* only triggers in constant expressions */ 20 1.3 rillig sink_double(i / 0.0); 21 1.3 rillig 22 1.4 rillig /* expect+1: error: division by 0 [139] */ 23 1.4 rillig sink_int(13 / 0); 24 1.4 rillig /* expect+1: error: division by 0 [139] */ 25 1.4 rillig sink_int(13 / zero); 26 1.4 rillig /* expect+1: error: division by 0 [139] */ 27 1.4 rillig sink_double(13 / 0.0); /* XXX: Clang doesn't warn */ 28 1.4 rillig /* expect+1: error: division by 0 [139] */ 29 1.4 rillig sink_double(13 / -0.0); /* XXX: Clang doesn't warn */ 30 1.3 rillig } 31