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

     1  extern void abort (void);
     2  #define A(x) if (!(x)) abort ()
     3  
     4  static union at6 {} vv6 = {};
     5  static struct et6
     6  {
     7    struct bt6
     8    {
     9      signed av6:6;
    10      signed bv6:7;
    11      signed cv6:6;
    12      signed dv6:5;
    13      unsigned char ev6;
    14      unsigned int fv6;
    15      long int gv6;
    16    } mv6;
    17    unsigned long int nv6;
    18    signed ov6:12;
    19    signed pv6:3;
    20    signed qv6:2;
    21    signed rv6:10;
    22    union ct6 { long int hv6; float iv6; float jv6; } sv6;
    23    int *tv6;
    24    union dt6 { double kv6; float lv6; } uv6;
    25  } wv6 = {
    26    { 8, 9, 2, 4, '\x10', 67426805U, 1047191860L },
    27    1366022414UL, 858, 1, 1, 305,
    28    { 1069379046L }, (int *) 358273621U,
    29    { 3318.041978 }
    30  };
    31  static double xv6 = 19239.101269;
    32  static long long int yv6 = 1207859169L;
    33  static int zv6 = 660195606;
    34  
    35  static union at6
    36  callee_af6 (struct et6 ap6, double bp6, long long int cp6, int dp6)
    37  {
    38    A (wv6.mv6.av6 == ap6.mv6.av6);
    39    A (wv6.mv6.bv6 == ap6.mv6.bv6);
    40    A (wv6.mv6.cv6 == ap6.mv6.cv6);
    41    A (wv6.mv6.dv6 == ap6.mv6.dv6);
    42    A (wv6.mv6.ev6 == ap6.mv6.ev6);
    43    A (wv6.mv6.fv6 == ap6.mv6.fv6);
    44    A (wv6.mv6.gv6 == ap6.mv6.gv6);
    45    A (wv6.nv6 == ap6.nv6);
    46    A (wv6.ov6 == ap6.ov6);
    47    A (wv6.pv6 == ap6.pv6);
    48    A (wv6.qv6 == ap6.qv6);
    49    A (wv6.rv6 == ap6.rv6);
    50    A (wv6.sv6.hv6 == ap6.sv6.hv6);
    51    A (wv6.tv6 == ap6.tv6);
    52    A (wv6.uv6.kv6 == ap6.uv6.kv6);
    53    A (xv6 == bp6);
    54    A (yv6 == cp6);
    55    A (zv6 == dp6);
    56    return vv6;
    57  }
    58  
    59  static void
    60  caller_bf6 (void)
    61  {
    62    union at6 bav6;
    63    bav6 = callee_af6 (wv6, xv6, yv6, zv6);
    64  }
    65  
    66  static unsigned char uv7 = '\x46';
    67  static float vv7 = 96636.982442;
    68  static double wv7 = 28450.711801;
    69  static union ct7 {} xv7 = {};
    70  static struct et7
    71  {
    72    struct dt7
    73    {
    74      float iv7;
    75      unsigned short int jv7;
    76    } kv7;
    77    float lv7[0];
    78    signed mv7:9;
    79    short int nv7;
    80    double ov7;
    81    float pv7;
    82  } yv7 = {
    83    { 30135.996213, 42435 },
    84    {}, 170, 22116, 26479.628148, 4082.960685
    85  };
    86  static union ft7
    87  {
    88    float qv7;
    89    float *rv7;
    90    unsigned int *sv7;
    91  } zv7 = { 5042.227886 };
    92  static int bav7 = 1345451862;
    93  static struct gt7 { double tv7; } bbv7 = { 47875.491954 };
    94  static long int bcv7[1] = { 1732133482L };
    95  static long long int bdv7 = 381678602L;
    96  
    97  static unsigned char
    98  callee_af7 (float ap7, double bp7, union ct7 cp7, struct et7 dp7,
    99              union ft7 ep7, int fp7, struct gt7 gp7, long int hp7[1],
   100              long long int ip7)
   101  {
   102    A (vv7 == ap7);
   103    A (wv7 == bp7);
   104    A (yv7.kv7.iv7 == dp7.kv7.iv7);
   105    A (yv7.kv7.jv7 == dp7.kv7.jv7);
   106    A (yv7.mv7 == dp7.mv7);
   107    A (yv7.nv7 == dp7.nv7);
   108    A (yv7.ov7 == dp7.ov7);
   109    A (yv7.pv7 == dp7.pv7);
   110    A (zv7.qv7 == ep7.qv7);
   111    A (bav7 == fp7);
   112    A (bbv7.tv7 == gp7.tv7);
   113    A (bcv7[0] == hp7[0]);
   114    A (bdv7 == ip7);
   115    return uv7;
   116  }
   117  
   118  static void
   119  caller_bf7 (void)
   120  {
   121    unsigned char bev7;
   122  
   123    bev7 = callee_af7 (vv7, wv7, xv7, yv7, zv7, bav7, bbv7, bcv7, bdv7);
   124    A (uv7 == bev7);
   125  }
   126  
   127  int
   128  main ()
   129  {
   130    caller_bf6 ();
   131    caller_bf7 ();
   132    return 0;
   133  }