Skip analyzer strndup test on hppa*-*-hpux*
[official-gcc.git] / gcc / testsuite / gcc.dg / pr91269.c
blob8c03ba8dab23cbad85a524a8085ce378c42f3dec
1 /* PR target/91269 */
2 /* Testcase by Sergei Trofimovich <slyfox@inbox.ru> */
4 /* { dg-do assemble } */
5 /* { dg-options "-O2 -Wno-int-conversion" } */
6 /* { dg-additional-options "-fcall-used-g6 -fPIE -mcpu=niagara4" { target sparc*-*-* } } */
8 struct m;
10 enum { a = 2 };
11 int b[1];
12 int d[2715];
13 int e, f, h;
14 enum { i = 2 } j;
15 inline int c(int k) {
16 char *cp;
17 if (k >= 62 && k <= 247)
18 cp = b[k];
19 if (cp)
20 return 65533;
21 return 2;
23 inline int g(int k) {
24 if (k < sizeof(d))
25 return e;
26 return 0;
29 int u(struct m*, char*, char*);
31 int l(struct m *k, char n, long o, int *p) {
32 int q, flags = j, r, s, lasttwo = *p;
33 char inptr, outptr;
34 while (inptr) {
35 if (__builtin_expect(h, 0))
36 break;
37 unsigned ch = inptr;
38 if (lasttwo) {
39 long need = lasttwo >> 3;
40 if (__builtin_expect(need > n, 0))
41 break;
42 } else if (s == i) {
43 long t = c(ch);
44 if (t != 65533) {
45 int jch = g(ch);
46 if (jch & 8)
47 continue;
50 if (ch <= 5)
52 else {
53 long t = c(ch);
54 if (t != 65533)
56 else {
57 switch (f >> 8)
58 case 79:
59 q = f == 20308 || f == 20350;
60 if (q)
61 if (j)
62 r = u(k, &inptr, &outptr);
63 s = *p;
64 if (r)
65 if (o && flags & a)
66 break;