text: typedef struct
  {
    char a;
    int b;
    char c;
    short d;
    double e;
    char f;
  } T;
  
  #if COMPILER != 1
  f (T *x)
  {
    x[0].a = 'a';
    x[0].b = 47114711;
    x[0].c = 'c';
    x[0].d = 1234;
    x[0].e = 3.141592897932;
    x[0].f = '*';
  
    x[1].a = 'A';
    x[1].b = 71417141;
    x[1].c = 'C';
    x[1].d = 4321;
    x[1].e = 2.718281828459;
    x[1].f = '?';
  }
  #endif
  
  #if COMPILER != 2
  g (T *x)
  {
    if (x[0].a != 'a')
      abort ();
    if (x[0].b != 47114711)
      abort ();
    if (x[0].c != 'c')
      abort ();
    if (x[0].d != 1234)
      abort ();
    if (x[0].e != 3.141592897932)
      abort ();
    if (x[0].f != '*')
      abort ();
  
    if (x[1].a != 'A')
      abort ();
    if (x[1].b != 71417141)
      abort ();
    if (x[1].c != 'C')
      abort ();
    if (x[1].d != 4321)
      abort ();
    if (x[1].e != 2.718281828459)
      abort ();
    if (x[1].f != '?')
      abort ();
  }
  #endif
  
  #if COMPILER != 2
  main ()
  {
    T x[2];
    f (x);
    g (x);
    exit (0);
  }
  #endif
  