annotate gcc/testsuite/gcc.c-torture/compile/20040214-2.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* http://gcc.gnu.org/ml/gcc-patches/2004-02/msg01307.html */
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 typedef struct xdef xdef;
kono
parents:
diff changeset
4 struct xdef
kono
parents:
diff changeset
5 {
kono
parents:
diff changeset
6 char xtyp;
kono
parents:
diff changeset
7 xdef *next;
kono
parents:
diff changeset
8 int y;
kono
parents:
diff changeset
9 };
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 extern void b ();
kono
parents:
diff changeset
12 extern void *foo (void *bar);
kono
parents:
diff changeset
13 extern void *foo2 (void *bar1, void *bar2);
kono
parents:
diff changeset
14 extern void *qwe;
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 static void
kono
parents:
diff changeset
17 c (xdef * xp)
kono
parents:
diff changeset
18 {
kono
parents:
diff changeset
19 b (xp);
kono
parents:
diff changeset
20 }
kono
parents:
diff changeset
21 static void
kono
parents:
diff changeset
22 a (xdef ** xpp)
kono
parents:
diff changeset
23 {
kono
parents:
diff changeset
24 xdef *xp;
kono
parents:
diff changeset
25 xp = *xpp;
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 foo (xp);
kono
parents:
diff changeset
28 xp = foo2 (xp, qwe);
kono
parents:
diff changeset
29 b (xp->next);
kono
parents:
diff changeset
30 foo (xp);
kono
parents:
diff changeset
31 if (xp->y)
kono
parents:
diff changeset
32 {
kono
parents:
diff changeset
33 foo (xp);
kono
parents:
diff changeset
34 if (xp)
kono
parents:
diff changeset
35 {
kono
parents:
diff changeset
36 xdef *p = foo2 (xp, qwe);
kono
parents:
diff changeset
37 foo2 (xp, p);
kono
parents:
diff changeset
38 xp = foo (p);
kono
parents:
diff changeset
39 }
kono
parents:
diff changeset
40 else
kono
parents:
diff changeset
41 {
kono
parents:
diff changeset
42 foo2 (foo(*xpp), *xpp);
kono
parents:
diff changeset
43 }
kono
parents:
diff changeset
44 }
kono
parents:
diff changeset
45 *xpp = foo2 (xpp, qwe);
kono
parents:
diff changeset
46 }
kono
parents:
diff changeset
47
kono
parents:
diff changeset
48 void
kono
parents:
diff changeset
49 b (xdef ** xpp)
kono
parents:
diff changeset
50 {
kono
parents:
diff changeset
51 xdef *xp = *xpp;
kono
parents:
diff changeset
52 if (!xp)
kono
parents:
diff changeset
53 return;
kono
parents:
diff changeset
54 if (xp->xtyp == 0)
kono
parents:
diff changeset
55 a (xpp);
kono
parents:
diff changeset
56 c (xp);
kono
parents:
diff changeset
57 }