1 /* { dg-require-effective-target untyped_assembly } */
2
3 #define ID_1 2400000000.0
4 #define ID_2 1.7
5 #define ID_3 -1.7
6
7 unsigned ui;
8 int si;
9
conv_i1()10 conv_i1 ()
11 {
12 /*
13 ui = (unsigned) ID_1;
14 si = (int) ID_1;
15 */
16 }
17
conv_i2()18 conv_i2 ()
19 {
20 ui = (unsigned) ID_2;
21 si = (int) ID_2;
22 }
23
conv_i3()24 conv_i3 ()
25 {
26 /* ui = (unsigned) ID_3;*/
27 si = (int) ID_3;
28 }
29
conv_1(d)30 conv_1 (d)
31 double d;
32 {
33 ui = (unsigned) d;
34 /*
35 si = (int) d;
36 */
37 }
38
39 double
foo(u)40 foo (u)
41 unsigned u;
42 {
43 return u;
44 }
45
main()46 main ()
47 {
48 printf ("%lf\n", foo (2400000000));
49
50 conv_i1 ();
51 printf ("%lf, %u, %d\n", ID_1, ui, si);
52
53 conv_i2 ();
54 printf ("%lf, %u, %d\n", ID_2, ui, si);
55
56 conv_i3 ();
57 printf ("%lf, %u, %d\n", ID_3, ui, si);
58
59 conv_1 (ID_1);
60 printf ("%lf, %u, %d\n", ID_1, ui, si);
61
62 conv_1 (ID_2);
63 printf ("%lf, %u, %d\n", ID_2, ui, si);
64
65 conv_1 (ID_3);
66 printf ("%lf, %u, %d\n", ID_3, ui, si);
67
68 }
69