msg_380.c revision 1.1
1/* $NetBSD: msg_380.c,v 1.1 2024/06/09 10:27:39 rillig Exp $ */ 2# 3 "msg_380.c" 3 4// Test for message: lossy conversion of %Lg to '%s', arg #%d [380] 5 6/* lint1-extra-flags: -X 351 */ 7 8void take_s32(int); 9void take_u32(unsigned int); 10void take_s64(long long); 11void take_u64(unsigned long long); 12 13void 14conversions(void) 15{ 16 /* expect+1: warning: lossy conversion of -2.14748e+09 to 'int', arg #1 [380] */ 17 take_s32(-2147483649.0); 18 take_s32(-2147483648.0); 19 /* expect+1: warning: lossy conversion of 3.141 to 'int', arg #1 [380] */ 20 take_s32(3.141); 21 take_s32(2147483647.0); 22 /* expect+1: warning: lossy conversion of 2.14748e+09 to 'int', arg #1 [380] */ 23 take_s32(2147483648.0); 24 25 /* expect+1: warning: lossy conversion of -1 to 'unsigned int', arg #1 [380] */ 26 take_u32(-1.0); 27 take_u32(-0.0); 28 take_u32(0.0); 29 /* expect+1: warning: lossy conversion of 3.141 to 'unsigned int', arg #1 [380] */ 30 take_u32(3.141); 31 take_u32(4294967295.0); 32 /* expect+1: warning: lossy conversion of 4.29497e+09 to 'unsigned int', arg #1 [380] */ 33 take_u32(4294967296.0); 34 35 /* expect+1: warning: lossy conversion of -9.22337e+18 to 'long long', arg #1 [380] */ 36 take_s64(-9223372036854776833.0); 37 /* The constant ...809 is rounded down to ...808, thus no warning. */ 38 take_s64(-9223372036854775809.0); 39 take_s64(-9223372036854775808.0); 40 /* expect+1: warning: lossy conversion of 3.141 to 'long long', arg #1 [380] */ 41 take_s64(3.141); 42 /* expect+1: warning: lossy conversion of 9.22337e+18 to 'long long', arg #1 [380] */ 43 take_s64(9223372036854775807.0); 44 /* expect+1: warning: lossy conversion of 9.22337e+18 to 'long long', arg #1 [380] */ 45 take_s64(9223372036854775808.0); 46 47 /* expect+1: warning: lossy conversion of -1 to 'unsigned long long', arg #1 [380] */ 48 take_u64(-1.0); 49 take_u64(-0.0); 50 take_u64(0.0); 51 /* expect+1: warning: lossy conversion of 3.141 to 'unsigned long long', arg #1 [380] */ 52 take_u64(3.141); 53 take_u64(18446744073709550591.0); 54 /* expect+1: warning: lossy conversion of 1.84467e+19 to 'unsigned long long', arg #1 [380] */ 55 take_u64(18446744073709550592.0); 56 /* expect+1: warning: lossy conversion of 1.84467e+19 to 'unsigned long long', arg #1 [380] */ 57 take_u64(18446744073709551615.0); 58 /* expect+1: warning: lossy conversion of 1.84467e+19 to 'unsigned long long', arg #1 [380] */ 59 take_u64(18446744073709551616.0); 60} 61