2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.dg / uninit-1.c
blob91838810fda9fa191df319cbe49c921c0cdf175c
1 /* Spurious uninitialized variable warnings, case 1.
2 Taken from cppfiles.c (merge_include_chains) */
3 /* { dg-do compile } */
4 /* { dg-options "-O -Wuninitialized" } */
6 struct list
8 struct list *next;
9 int id;
12 extern void free (void *);
14 void remove_dupes (struct list *el)
16 struct list *p, *q, *r; /* { dg-bogus "r" "uninitialized variable warning" { xfail *-*-* } } */
18 for (p = el; p; p = p->next)
20 for (q = el; q != p; q = q->next)
21 if (q->id == p->id)
23 r->next = p->next;
24 free (p);
25 p = r;
26 break;
28 r = p;