From 2ced58ea6f4e381fa5f5eea061a1438cbff63f25 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Fri, 16 Oct 2009 14:42:47 +0000 Subject: [PATCH] re PR lto/41598 (bootstrap *using* lto fails) 2009-10-16 Richard Guenther PR lto/41598 * gcc.dg/lto/20091016-1_0.c: New testcase. * gcc.dg/lto/20091016-1_1.c: Likewise. * gcc.dg/lto/20091016-1_a.h: Likewise. From-SVN: r152904 --- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/gcc.dg/lto/20091016-1_0.c | 13 +++++++++++++ gcc/testsuite/gcc.dg/lto/20091016-1_1.c | 18 ++++++++++++++++++ gcc/testsuite/gcc.dg/lto/20091016-1_a.h | 6 ++++++ 4 files changed, 44 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/lto/20091016-1_0.c create mode 100644 gcc/testsuite/gcc.dg/lto/20091016-1_1.c create mode 100644 gcc/testsuite/gcc.dg/lto/20091016-1_a.h diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e21a4e217727..08f34e5c24f3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2009-10-16 Richard Guenther + + PR lto/41598 + * gcc.dg/lto/20091016-1_0.c: New testcase. + * gcc.dg/lto/20091016-1_1.c: Likewise. + * gcc.dg/lto/20091016-1_a.h: Likewise. + 2009-10-16 Richard Guenther PR lto/41715 diff --git a/gcc/testsuite/gcc.dg/lto/20091016-1_0.c b/gcc/testsuite/gcc.dg/lto/20091016-1_0.c new file mode 100644 index 000000000000..942c5c6c0a41 --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/20091016-1_0.c @@ -0,0 +1,13 @@ +/* { dg-lto-do link } */ +/* { dg-lto-options {{-fPIC -shared -O2 -flto}} } */ + +typedef struct VEC_constructor_elt_gc { } VEC_constructor_elt_gc; +#include "20091016-1_a.h" +struct stmt_tree_s { + tree x_cur_stmt_list; +}; +void *add_stmt (struct stmt_tree_s *x) +{ + return &x->x_cur_stmt_list; +} + diff --git a/gcc/testsuite/gcc.dg/lto/20091016-1_1.c b/gcc/testsuite/gcc.dg/lto/20091016-1_1.c new file mode 100644 index 000000000000..06389b8e3097 --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/20091016-1_1.c @@ -0,0 +1,18 @@ +typedef struct VEC_constructor_elt_gcx { } VEC_constructor_elt_gc; +#include "20091016-1_a.h" +struct gcc_target { + void (* builtin_vec_perm) (tree*); +}; +extern struct gcc_target targetm; +void dwarf2out_begin_prologue (tree t) +{ + (*targetm.builtin_vec_perm) (&t); +} +struct die_arg_entry_struct { + tree arg; +}; +void *gt_pch_p_20VEC_die_arg_entry_gc (struct die_arg_entry_struct *vec) +{ + return &(vec->arg); +} + diff --git a/gcc/testsuite/gcc.dg/lto/20091016-1_a.h b/gcc/testsuite/gcc.dg/lto/20091016-1_a.h new file mode 100644 index 000000000000..8eefed5cfadc --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/20091016-1_a.h @@ -0,0 +1,6 @@ +typedef union tree_node *tree; +union tree_node { + tree * use; + VEC_constructor_elt_gc *elts; +}; +