11.2Srillig/* $NetBSD: msg_380.c,v 1.2 2024/06/22 06:24:46 rillig Exp $ */ 21.1Srillig# 3 "msg_380.c" 31.1Srillig 41.1Srillig// Test for message: lossy conversion of %Lg to '%s', arg #%d [380] 51.1Srillig 61.1Srillig/* lint1-extra-flags: -X 351 */ 71.1Srillig 81.1Srilligvoid take_s32(int); 91.1Srilligvoid take_u32(unsigned int); 101.1Srilligvoid take_s64(long long); 111.1Srilligvoid take_u64(unsigned long long); 121.1Srillig 131.1Srilligvoid 141.1Srilligconversions(void) 151.1Srillig{ 161.1Srillig /* expect+1: warning: lossy conversion of -2.14748e+09 to 'int', arg #1 [380] */ 171.1Srillig take_s32(-2147483649.0); 181.1Srillig take_s32(-2147483648.0); 191.1Srillig /* expect+1: warning: lossy conversion of 3.141 to 'int', arg #1 [380] */ 201.1Srillig take_s32(3.141); 211.1Srillig take_s32(2147483647.0); 221.1Srillig /* expect+1: warning: lossy conversion of 2.14748e+09 to 'int', arg #1 [380] */ 231.1Srillig take_s32(2147483648.0); 241.1Srillig 251.1Srillig /* expect+1: warning: lossy conversion of -1 to 'unsigned int', arg #1 [380] */ 261.1Srillig take_u32(-1.0); 271.1Srillig take_u32(-0.0); 281.1Srillig take_u32(0.0); 291.1Srillig /* expect+1: warning: lossy conversion of 3.141 to 'unsigned int', arg #1 [380] */ 301.1Srillig take_u32(3.141); 311.1Srillig take_u32(4294967295.0); 321.1Srillig /* expect+1: warning: lossy conversion of 4.29497e+09 to 'unsigned int', arg #1 [380] */ 331.1Srillig take_u32(4294967296.0); 341.1Srillig 351.1Srillig /* expect+1: warning: lossy conversion of -9.22337e+18 to 'long long', arg #1 [380] */ 361.1Srillig take_s64(-9223372036854776833.0); 371.1Srillig /* The constant ...809 is rounded down to ...808, thus no warning. */ 381.1Srillig take_s64(-9223372036854775809.0); 391.1Srillig take_s64(-9223372036854775808.0); 401.1Srillig /* expect+1: warning: lossy conversion of 3.141 to 'long long', arg #1 [380] */ 411.1Srillig take_s64(3.141); 421.1Srillig /* expect+1: warning: lossy conversion of 9.22337e+18 to 'long long', arg #1 [380] */ 431.1Srillig take_s64(9223372036854775807.0); 441.1Srillig /* expect+1: warning: lossy conversion of 9.22337e+18 to 'long long', arg #1 [380] */ 451.1Srillig take_s64(9223372036854775808.0); 461.1Srillig 471.1Srillig /* expect+1: warning: lossy conversion of -1 to 'unsigned long long', arg #1 [380] */ 481.1Srillig take_u64(-1.0); 491.1Srillig take_u64(-0.0); 501.1Srillig take_u64(0.0); 511.1Srillig /* expect+1: warning: lossy conversion of 3.141 to 'unsigned long long', arg #1 [380] */ 521.1Srillig take_u64(3.141); 531.2Srillig 541.2Srillig // Warning on: alpha 551.2Srillig // No warning on: aarch64 aarch64-compat32 arm i386 mips powerpc riscv64 sh3 sparc x86_64 561.2Srillig // Unknown: coldfire hppa ia64 m68000 m68k mips64 mipsn64 or1k powerpc64 riscv32 sparc64 vax 571.2Srillig // 581.2Srillig // warning: lossy conversion of 1.84467e+19 to 'unsigned long long', arg #1 [380] 591.2Srillig //take_u64(18446744073709550591.0); 601.2Srillig 611.2Srillig // Warning on: aarch64 alpha arm i386 mips riscv64 sparc x86_64 621.2Srillig // No warning on: aarch64-compat32 powerpc sh3 631.2Srillig // Unknown: coldfire hppa ia64 m68000 m68k mips64 mipsn64 or1k powerpc64 riscv32 sparc64 vax 641.2Srillig // 651.2Srillig // warning: lossy conversion of 1.84467e+19 to 'unsigned long long', arg #1 [380] 661.2Srillig //take_u64(18446744073709550592.0); 671.2Srillig // warning: lossy conversion of 1.84467e+19 to 'unsigned long long', arg #1 [380] 681.2Srillig //take_u64(18446744073709551615.0); 691.2Srillig // warning: lossy conversion of 1.84467e+19 to 'unsigned long long', arg #1 [380] 701.2Srillig //take_u64(18446744073709551616.0); 711.1Srillig} 72