typedef union
{
  unsigned char member3;
  signed short member4;
  unsigned int member5;
}
UNI02;

struct srt_dat_t
{
  UNI02 un2;
  unsigned long member1;
  signed short member2;
};

struct srt_dat_t exsrt1;
void
extern_test (struct srt_dat_t arg1)
{
  arg1.un2.member3++;
  arg1.member1++;
  arg1.member2++;
}

int
main (void)
{
  extern_test (exsrt1);
  return (0);
}
