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

     1  /* ICE: call insn does not satisfy its constraints, MMIX port.
     2     Origin: ghostscript-6.52, reduction from hp@bitrange.com.  */
     3  struct s0
     4  {
     5    void (*init_color)(void *, void *);
     6  };
     7  struct s1
     8  {
     9    void (*map_cmyk)(short, void *, void **, void *);
    10    void (*map_rgb_alpha)(short, void *, void **, void *);
    11  };
    12  struct s5
    13  {
    14    long fill1; int fill2;
    15    long fill3; unsigned int fill4, fill5;
    16  };
    17  struct s2
    18  {
    19    struct s5 x, y;
    20  };
    21  struct s3
    22  {
    23    long dev_color;
    24    unsigned int key;
    25  };
    26  struct s4
    27  {
    28    unsigned char spp;
    29    int alpha;
    30    struct mc_
    31    {
    32      unsigned int values[14];
    33      unsigned int mask, test;
    34      int exact;
    35    } mask_color;
    36    void **pis;
    37    struct s0 *pcs;
    38    struct dd_
    39    {
    40      struct s2 row[2];
    41      struct s2 pixel0;
    42    } dda;
    43    struct s3 clues[256];
    44  };
    45  extern struct s1 *get_cmap_procs (void **, void *);
    46  int image_render_color (struct s4 *, unsigned char *, int, void *);
    47  int
    48  image_render_color (struct s4 *penum, unsigned char *buffer,
    49  		    int data_x, void *dev) 
    50  {
    51    struct s3 *clues = penum->clues;
    52    void **pis = penum->pis;
    53    struct s2 pnext;
    54    struct s0 *pcs = penum->pcs;
    55    struct s1 *cmap_procs = get_cmap_procs(pis, dev);
    56    void (*map_4)(short, void *, void **, void *) =
    57      (penum->alpha ? cmap_procs->map_rgb_alpha : cmap_procs->map_cmyk);
    58    unsigned int mask = penum->mask_color.mask;
    59    unsigned int test = penum->mask_color.test;
    60    struct s3 *pic_next = &clues[1];
    61    int spp = penum->spp;
    62    unsigned char *psrc = buffer + data_x * spp;
    63    unsigned char v[6];
    64  
    65    pnext = penum->dda.pixel0;
    66    __builtin_memset (&v, 0, sizeof(v));
    67    (*(pcs)->init_color) (0, 0);
    68  
    69    if (spp == 4)
    70      {
    71        v[0] = psrc[0];
    72        v[1] = psrc[1];
    73        if ((buffer[0] & mask) == test && penum->mask_color.exact)
    74  	pic_next->dev_color = 0;
    75        (*map_4)(v[0], &pic_next->dev_color, pis, dev);
    76      }
    77    return 0;
    78  }