diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 1999-03-11 16:00:03 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 1999-03-11 16:00:03 +0000 |
commit | eb7721afcf8b39b6276852e0e179c708f78a8d28 (patch) | |
tree | 1bb8ac47041773bd283ec40ea8ddfafeaba0d10b | |
parent | 8182dc46dcab34bf325d0cb13b0c8b3617124a0b (diff) | |
download | gcc-eb7721afcf8b39b6276852e0e179c708f78a8d28.zip gcc-eb7721afcf8b39b6276852e0e179c708f78a8d28.tar.gz gcc-eb7721afcf8b39b6276852e0e179c708f78a8d28.tar.bz2 |
*** empty log message ***
From-SVN: r25709
-rw-r--r-- | gcc/testsuite/gcc.dg/uninit-1.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/uninit-1.c b/gcc/testsuite/gcc.dg/uninit-1.c new file mode 100644 index 0000000..9183881 --- /dev/null +++ b/gcc/testsuite/gcc.dg/uninit-1.c @@ -0,0 +1,30 @@ +/* Spurious uninitialized variable warnings, case 1. + Taken from cppfiles.c (merge_include_chains) */ +/* { dg-do compile } */ +/* { dg-options "-O -Wuninitialized" } */ + +struct list +{ + struct list *next; + int id; +}; + +extern void free (void *); + +void remove_dupes (struct list *el) +{ + struct list *p, *q, *r; /* { dg-bogus "r" "uninitialized variable warning" { xfail *-*-* } } */ + + for (p = el; p; p = p->next) + { + for (q = el; q != p; q = q->next) + if (q->id == p->id) + { + r->next = p->next; + free (p); + p = r; + break; + } + r = p; + } +} |