modernc.org/cc@v1.0.1/testdata/gcc-6.3.0/gcc/testsuite/gcc.c-torture/execute/pr71083.c (about)

     1  struct lock_chain {
     2    unsigned int irq_context: 2,
     3      depth: 6,
     4      base: 24;
     5  };
     6  
     7  __attribute__((noinline, noclone))
     8  struct lock_chain * foo (struct lock_chain *chain)
     9  {
    10    int i;
    11    for (i = 0; i < 100; i++)
    12      {
    13        chain[i+1].base = chain[i].base;
    14      }
    15    return chain;
    16  }
    17  
    18  struct lock_chain1 {
    19    char x;
    20    unsigned short base;
    21  } __attribute__((packed));
    22  
    23  __attribute__((noinline, noclone))
    24  struct lock_chain1 * bar (struct lock_chain1 *chain)
    25  {
    26    int i;
    27    for (i = 0; i < 100; i++)
    28      {
    29        chain[i+1].base = chain[i].base;
    30      }
    31    return chain;
    32  }
    33  
    34  struct lock_chain test [101];
    35  struct lock_chain1 test1 [101];
    36  
    37  int
    38  main ()
    39  {
    40    foo (test);
    41    bar (test1);
    42    return 0;
    43  }