msg_381.c revision 1.1 1 /* $NetBSD: msg_381.c,v 1.1 2024/06/09 10:27:39 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 u64 = 18446744073709550591.0;
54 /* expect+1: warning: lossy conversion of 1.84467e+19 to 'unsigned long long' [381] */
55 u64 = 18446744073709550592.0;
56 /* expect+1: warning: lossy conversion of 1.84467e+19 to 'unsigned long long' [381] */
57 u64 = 18446744073709551615.0;
58 /* expect+1: warning: lossy conversion of 1.84467e+19 to 'unsigned long long' [381] */
59 u64 = 18446744073709551616.0;
60 }
61