diff options
author | Richard Guenther <rguenther@suse.de> | 2009-12-15 16:30:22 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-12-15 16:30:22 +0000 |
commit | 2a71eb48e4348f8bc33f9b02e45fd69adbe66b9c (patch) | |
tree | b88b0549fc1a571763835c3ca441355bf819abe1 /gcc/lto | |
parent | 9f81eaccf9ab5a38f9a988ccc63a3299e18ef5b5 (diff) | |
download | gcc-2a71eb48e4348f8bc33f9b02e45fd69adbe66b9c.zip gcc-2a71eb48e4348f8bc33f9b02e45fd69adbe66b9c.tar.gz gcc-2a71eb48e4348f8bc33f9b02e45fd69adbe66b9c.tar.bz2 |
tree.c (free_lang_data_in_binfo): Do not free BINFO_OFFSET and BINFO_VPTR_FIELD.
2009-12-15 Richard Guenther <rguenther@suse.de>
* tree.c (free_lang_data_in_binfo): Do not free BINFO_OFFSET
and BINFO_VPTR_FIELD.
(free_lang_data_in_type): Do not free TYPE_STUB_DECL if we
generate debug information.
(free_lang_data_in_decl): Do not free DECL_SIZE_UNIT,
DECL_SIZE, DECL_FIELD_OFFSET and DECL_FCONTEXT.
(free_lang_data): Do not disable debuginfo.
* lto-streamer-out.c (write_symbol_vec): Deal with
non-constant DECL_SIZE.
(pack_ts_base_value_fields): Write types with false
TREE_ASM_WRITTEN.
(lto_output_ts_type_tree_pointers): Stream TYPE_STUB_DECL.
* lto-streamer-in.c (lto_input_ts_type_tree_pointers): Stream
TYPE_STUB_DECL.
* dwarf2out.c (add_pure_or_virtual_attribute): Check for
DECL_CONTEXT.
(gen_type_die_for_member): Test for TYPE_STUB_DECL.
* opts.c (decode_options): Do not disable var-tracking for lto.
* doc/invoke.texi (-flto): Document -flto vs. -g experimental
status.
(-fwhopr): Document experimental status.
lto/
* lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET.
(lto_post_options): Do not disable debuginfo.
From-SVN: r155259
Diffstat (limited to 'gcc/lto')
-rw-r--r-- | gcc/lto/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lto/lto-lang.c | 10 | ||||
-rw-r--r-- | gcc/lto/lto.c | 2 |
3 files changed, 6 insertions, 11 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index f676017..04807e3 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,8 @@ +2009-12-15 Richard Guenther <rguenther@suse.de> + + * lto.c (lto_fixup_field_decl): Fixup DECL_FIELD_OFFSET. + (lto_post_options): Do not disable debuginfo. + 2009-12-14 Dmitry Gorbachev <d.g.gorbachev@gmail.com> * Make-lang.in ($(LTO_EXE)): Use $(LINKER). diff --git a/gcc/lto/lto-lang.c b/gcc/lto/lto-lang.c index 4c187b5..970265c 100644 --- a/gcc/lto/lto-lang.c +++ b/gcc/lto/lto-lang.c @@ -646,16 +646,6 @@ lto_handle_option (size_t scode, const char *arg, int value ATTRIBUTE_UNUSED) static bool lto_post_options (const char **pfilename ATTRIBUTE_UNUSED) { - /* FIXME lto: We have stripped enough type and other - debugging information out of the IR that it may - appear ill-formed to dwarf2out, etc. We must not - attempt to generate debug info in lto1. A more - graceful solution would disable the option flags - rather than ignoring them, but we'd also have to - worry about default debugging options. */ - write_symbols = NO_DEBUG; - debug_info_level = DINFO_LEVEL_NONE; - /* -fltrans and -fwpa are mutually exclusive. Check for that here. */ if (flag_wpa && flag_ltrans) error ("-fwpa and -fltrans are mutually exclusive"); diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c index c7ac7c3..e62bc02 100644 --- a/gcc/lto/lto.c +++ b/gcc/lto/lto.c @@ -1376,7 +1376,7 @@ static void lto_fixup_field_decl (tree t, void *data) { lto_fixup_decl_common (t, data); - gcc_assert (no_fixup_p (DECL_FIELD_OFFSET (t))); + LTO_FIXUP_SUBTREE (DECL_FIELD_OFFSET (t)); LTO_FIXUP_SUBTREE (DECL_BIT_FIELD_TYPE (t)); LTO_FIXUP_SUBTREE (DECL_QUALIFIER (t)); gcc_assert (no_fixup_p (DECL_FIELD_BIT_OFFSET (t))); |