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