(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
torture/
pr53516.c
       1  /* { dg-do run } */
       2  /* { dg-options "-ftree-vectorize -ftree-loop-distribute-patterns" } */
       3  
       4  extern void abort (void);
       5  
       6  struct Foo
       7  {
       8    char a : 1;
       9    char b : 7;
      10  };
      11  
      12  struct Foo x[256];
      13  int y[256];
      14  
      15  void __attribute__((noinline,noclone)) bar (int n)
      16  {
      17    int i;
      18    for (i = 0; i < n; ++i)
      19      {
      20        x[i].a = 0;
      21        y[i] = 3;
      22      }
      23  }
      24  
      25  int main()
      26  {
      27    x[5].b = 7;
      28    bar (256);
      29    if (x[5].b != 7)
      30      abort ();
      31    return 0;
      32  }