------- Comment #10 from rguenth at gcc dot gnu dot org 2009-10-11 15:33 ------- Further reduced testcase:
b.h --- typedef union tree_node *tree; union tree_node { tree * use; VEC_constructor_elt_gc *elts; }; t1.c: ----- typedef struct VEC_constructor_elt_gc { } VEC_constructor_elt_gc; #include "b.h" struct stmt_tree_s { tree x_cur_stmt_list; }; void *add_stmt (struct stmt_tree_s *x) { return &x->x_cur_stmt_list; } t2.c ---- typedef struct VEC_constructor_elt_gcx { } VEC_constructor_elt_gc; #include "b.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); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41598