diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-10-16 14:42:47 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-10-16 14:42:47 +0000 |
commit | fef144401409894f6457aae538e0b4c5e3a72c4c (patch) | |
tree | 61a46d72138fc2e71b8068c0db576c4f51fb4fb4 | |
parent | b787522e31e6e673230f96fa94480d6d8abd7dd7 (diff) | |
download | gcc-fef144401409894f6457aae538e0b4c5e3a72c4c.tar.gz |
2009-10-16 Richard Guenther <rguenther@suse.de>
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152904 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/20091016-1_0.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/20091016-1_1.c | 18 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/lto/20091016-1_a.h | 6 |
4 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e21a4e21772..08f34e5c24f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,12 @@ 2009-10-16 Richard Guenther <rguenther@suse.de> + 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 <rguenther@suse.de> + PR lto/41715 * gfortran.dg/lto/20091015-1_0.f: New testcase. * gfortran.dg/lto/20091015-1_1.f: Likewise. 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 00000000000..942c5c6c0a4 --- /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 00000000000..06389b8e309 --- /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 00000000000..8eefed5cfad --- /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; +}; + |