OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.c-torture/] [compile/] [20011109-1.c] - Blame information for rev 774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 688 jeremybenn
typedef struct { short x[4]; } S;
2
typedef struct { unsigned int a, b, c; S *d; } T;
3
 
4
S *(*foo) (T *, int, int, int, int);
5
unsigned short *(*bar)(const T *);
6
unsigned short baz(T *,const int);
7
 
8
T *die (void)
9
{
10
  typedef struct { unsigned int a, b, e; double f, g; } U;
11
 
12
  char h[8], i[2053], j[2053];
13
  double k, l, m;
14
  U n;
15
  T *o;
16
  unsigned short p;
17
  int q, r;
18
  long s;
19
  unsigned short *t;
20
  S *u;
21
  unsigned char *v, *w;
22
  unsigned int x;
23
 
24
  o = 0;
25
  for (x = 0; x < n.e; x++)
26
    {
27
      l = 1.0;
28
      if (n.g - n.f <= 1.0)
29
        l = ((1 << o->c) - 1) / (n.g - n.f);
30
      v = w;
31
      for (r = o->b - 1; r >= 0; r--)
32
        {
33
          u = foo (o, 0, r, o->a, 1);
34
          if (!u)
35
            break;
36
          t = bar (o);
37
          for (q = 0; q < (int) o->a; q++)
38
            {
39
              h[0] = *v;
40
              s = *v++;
41
              k = (double) s;
42
              m = l*k;
43
              p = m < 0 ? 0 : m > (1 << o->c) - 1 ? (1 << o->c) - 1 : m + 0.5;
44
              p = baz (o,p);
45
              t[q] = p;
46
              *u++ = o->d[p];
47
            }
48
        }
49
    }
50
  return o;
51
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.