modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/20080806-1.c (about)

     1  /* { dg-add-options stack_size } */
     2  
     3  /* This used to ICE on s390x due to a reload bug.  */
     4  
     5  #if defined(STACK_SIZE) && (STACK_SIZE < 65536)
     6    #define BYTES 64
     7  #else
     8    #define BYTES 65400
     9  #endif
    10  
    11  int gl2;
    12  typedef __SIZE_TYPE__ size_t;
    13  
    14  extern void *memcpy (void *dest, const void *src, size_t n);
    15  
    16  void
    17  f1 ()
    18  {
    19    int i2;
    20    unsigned char bf[BYTES];
    21  
    22    for (i2 = 0; i2 < 3; i2++)
    23      {
    24        unsigned char *p2 = bf;
    25        unsigned char *p3 = ((void *) 0);
    26        unsigned short ctf2;
    27  
    28        p2 += sizeof (short);
    29  
    30        for (ctf2 = 0; ctf2 < 3; ctf2++)
    31  	{
    32  	  if (ctf2 == 1)
    33  	    {
    34  	      unsigned short of = p2 - bf - 6;
    35  	      unsigned short *ofp = (unsigned short *) &of;
    36  	      memcpy (p3, ofp, sizeof (short));
    37  	    }
    38  
    39  	  if (gl2 == 1)
    40  	    p2 += 3;
    41  	}
    42      }
    43  }