1  /* This testcase failed on mmix-knuth-mmixware.  Problem was with storing
       2     to an unaligned mem:SC, gcc tried doing it by parts from a (concat:SC
       3     (reg:SF 293) (reg:SF 294)).  */
       4  
       5  typedef __complex__ float cf;
       6  struct x { char c; cf f; } __attribute__ ((__packed__));
       7  extern void f2 (struct x*);
       8  extern void f1 (void);
       9  int
      10  main (void)
      11  {
      12    f1 ();
      13    exit (0);
      14  }
      15  
      16  void
      17  f1 (void)
      18  {
      19    struct x s;
      20    s.f = 1;
      21    s.c = 42;
      22    f2 (&s);
      23  }
      24  
      25  void
      26  f2 (struct x *y)
      27  {
      28    if (y->f != 1 || y->c != 42)
      29      abort ();
      30  }