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  }