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