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

     1  typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
     2  typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
     3  typedef enum { READ_SHARED = 0, WRITE_EXCLUSIVE = 1,
     4      READ_EXCLUSIVE = 2, EXCLUSIVE_ACCESS = 3 } scsires_access_mode;
     5  struct scsires_extent_elem {
     6      scsires_access_mode mode;
     7      unsigned relative_address;
     8      u_int32_t first_block;
     9      u_int32_t length;
    10  };
    11  typedef struct scsires_extent_elem scsires_extent_elem_t;
    12  struct scsires_extent {
    13      u_int8_t num_elements;
    14      scsires_extent_elem_t *elements;
    15  };
    16  typedef struct scsires_extent scsires_extent_t;
    17  unsigned char buf[512];
    18  void scsires_issue_reservation(scsires_extent_t * new_extent)
    19  {
    20    int i;
    21    for (i = 0; i < new_extent->num_elements; i++)
    22      {
    23        buf[(i * 8)] = new_extent->elements[i].mode;
    24        buf[(i * 8) + 1] = ((new_extent->elements[i].length >> 16) & 0xff); 
    25        buf[(i * 8) + 2] = ((new_extent->elements[i].length >> 8) & 0xff);
    26        buf[(i * 8) + 3] = (new_extent->elements[i].length & 0xff);
    27        buf[(i * 8) + 4] = ((new_extent->elements[i].first_block >> 24) & 0xff); 
    28        buf[(i * 8) + 5] = ((new_extent->elements[i].first_block >> 16) & 0xff);
    29        buf[(i * 8) + 6] = ((new_extent->elements[i].first_block >> 8) & 0xff);
    30        buf[(i * 8) + 7] = (new_extent->elements[i].first_block & 0xff);
    31      }
    32  }