modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/conv_tst.c (about)

     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  
    10  conv_i1 ()
    11  {
    12  /*
    13    ui = (unsigned) ID_1;
    14    si = (int) ID_1;
    15  */
    16  }
    17  
    18  conv_i2 ()
    19  {
    20    ui = (unsigned) ID_2;
    21    si = (int) ID_2;
    22  }
    23  
    24  conv_i3 ()
    25  {
    26  /*  ui = (unsigned) ID_3;*/
    27    si = (int) ID_3;
    28  }
    29  
    30  conv_1 (d)
    31       double d;
    32  {
    33    ui = (unsigned) d;
    34  /*
    35    si = (int) d;
    36  */
    37  }
    38  
    39  double
    40  foo (u)
    41       unsigned u;
    42  {
    43    return u;
    44  }
    45  
    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  }