OSDN Git Service

* testsuite/gcc.dg/graphite/id-15.c: Adjusted.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / graphite / pr37943.c
1 /* { dg-options "-O3 -fgraphite-identity -fdump-tree-graphite-all" } */
2
3 typedef struct
4 {
5       int mode,state,num,state_out;
6       unsigned char* bits;
7       char *out;
8 }test;
9 unsigned char copy( test* s )
10 {
11    while(1)
12      {
13       if (s->mode == 0) break;
14       if (s->state_out >= s->num) break;
15       *(s->out) = s->bits[s->state_out];
16       if (s->mode == 0) s->mode++;
17      }
18 }
19 unsigned char compress(test *in)
20 {
21    unsigned char p_in, p_out;
22    while(1)
23    {
24       if (in->state == 1) 
25       {
26          p_out |= copy(in);
27          if (in->state_out < in->num) break;
28       }
29    }
30    return p_in || p_out;
31 }
32 /* { dg-final { cleanup-tree-dump "graphite" } } */
33