diff options
author | Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | 2004-02-09 17:49:45 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 2004-02-09 17:49:45 +0000 |
commit | f192aa5da07b210f47b73a51c13d5dc55ab7f32d (patch) | |
tree | 3f72bfbe9e1a81ff39863e91a8edbd0ab2d4d381 /gcc/testsuite | |
parent | d151252e656123f322fbc7c952f406c04fbb42b4 (diff) |
* gcc.dg/tree-ssa/20040209-2.c: New test.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/tree-ssa-20020619-branch@77545 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog.tree-ssa | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/20040209-1.c | 52 |
2 files changed, 57 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog.tree-ssa b/gcc/testsuite/ChangeLog.tree-ssa index 17f0c128d64..25beb11bcd4 100644 --- a/gcc/testsuite/ChangeLog.tree-ssa +++ b/gcc/testsuite/ChangeLog.tree-ssa @@ -1,3 +1,8 @@ +2004-02-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> + Jeff Law <law@redhat.com> + + * gcc.dg/tree-ssa/20040209-2.c: New test. + 2004-02-06 Feng Wang <fengwang@nudt.edu.cn> * gfortran.fortran-torture/execute/intrinsic_dotprod.f90: Add complex diff --git a/gcc/testsuite/gcc.dg/tree-ssa/20040209-1.c b/gcc/testsuite/gcc.dg/tree-ssa/20040209-1.c new file mode 100644 index 00000000000..087715322b7 --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/20040209-1.c @@ -0,0 +1,52 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -Wuninitialized" } */ + +typedef union tree_node *tree; + +struct tree_common +{ + tree chain; +}; + +struct tree_decl +{ + struct tree_common common; + tree name; +}; + + +union tree_node +{ + struct tree_common common; + struct tree_decl decl; +}; + +int pedantic; + +void +finish_struct (tree t, tree fieldlist, tree attributes) +{ + union tree_node * x; + + if (pedantic) + { + x = fieldlist; + if (x->decl.name == 0) + { + while (x) + x = x->common.chain; + foo (fieldlist); + } + } + + x = fieldlist; + if (x) + { + do + { + x = x->common.chain; + } while (x != 0); + } + + bar1 (&fieldlist); +} |