1 /* $NetBSD: msg_381.c,v 1.2 2024/06/22 06:24:46 rillig Exp $ */ 2 # 3 "msg_381.c" 3 4 // Test for message: lossy conversion of %Lg to '%s' [381] 5 6 /* lint1-extra-flags: -X 351 */ 7 8 int s32; 9 unsigned int u32; 10 long long s64; 11 unsigned long long u64; 12 13 void 14 conversions(void) 15 { 16 /* expect+1: warning: lossy conversion of -2.14748e+09 to 'int' [381] */ 17 s32 = -2147483649.0; 18 s32 = -2147483648.0; 19 /* expect+1: warning: lossy conversion of 3.141 to 'int' [381] */ 20 s32 = 3.141; 21 s32 = 2147483647.0; 22 /* expect+1: warning: lossy conversion of 2.14748e+09 to 'int' [381] */ 23 s32 = 2147483648.0; 24 25 /* expect+1: warning: lossy conversion of -1 to 'unsigned int' [381] */ 26 u32 = -1.0; 27 u32 = -0.0; 28 u32 = 0.0; 29 /* expect+1: warning: lossy conversion of 3.141 to 'unsigned int' [381] */ 30 u32 = 3.141; 31 u32 = 4294967295.0; 32 /* expect+1: warning: lossy conversion of 4.29497e+09 to 'unsigned int' [381] */ 33 u32 = 4294967296.0; 34 35 /* expect+1: warning: lossy conversion of -9.22337e+18 to 'long long' [381] */ 36 s64 = -9223372036854776833.0; 37 /* The constant ...809 is rounded down to ...808, thus no warning. */ 38 s64 = -9223372036854775809.0; 39 s64 = -9223372036854775808.0; 40 /* expect+1: warning: lossy conversion of 3.141 to 'long long' [381] */ 41 s64 = 3.141; 42 /* expect+1: warning: lossy conversion of 9.22337e+18 to 'long long' [381] */ 43 s64 = 9223372036854775807.0; 44 /* expect+1: warning: lossy conversion of 9.22337e+18 to 'long long' [381] */ 45 s64 = 9223372036854775808.0; 46 47 /* expect+1: warning: lossy conversion of -1 to 'unsigned long long' [381] */ 48 u64 = -1.0; 49 u64 = -0.0; 50 u64 = 0.0; 51 /* expect+1: warning: lossy conversion of 3.141 to 'unsigned long long' [381] */ 52 u64 = 3.141; 53 54 // Warning on: alpha 55 // No warning on: aarch64 aarch64-compat32 arm i386 mips powerpc riscv64 sh3 sparc x86_64 56 // Unknown: coldfire hppa ia64 m68000 m68k mips64 mipsn64 or1k powerpc64 riscv32 sparc64 vax 57 // 58 // warning: lossy conversion of 1.84467e+19 to 'unsigned long long' [381] 59 //u64 = 18446744073709550591.0; 60 61 // Warning on: aarch64 alpha arm i386 mips riscv64 sparc x86_64 62 // No warning on: aarch64-compat32 powerpc sh3 63 // Unknown: coldfire hppa ia64 m68000 m68k mips64 mipsn64 or1k powerpc64 riscv32 sparc64 vax 64 // 65 // warning: lossy conversion of 1.84467e+19 to 'unsigned long long' [381] 66 //u64 = 18446744073709550592.0; 67 // warning: lossy conversion of 1.84467e+19 to 'unsigned long long' [381] 68 //u64 = 18446744073709551615.0; 69 // warning: lossy conversion of 1.84467e+19 to 'unsigned long long' [381] 70 //u64 = 18446744073709551616.0; 71 } 72