From: rguenth Date: Thu, 24 Jan 2019 12:36:14 +0000 (+0000) Subject: 2019-01-24 Richard Biener X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13358730a93fccc753133592ab589ef9f84e6f96;p=thirdparty%2Fgcc.git 2019-01-24 Richard Biener PR lto/87187 * tree-streamer-out.c (write_ts_decl_common_tree_pointers): When in "legacy" debug mode make sure to reset self-origins. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@268236 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f7013b71eada..960e8dacef93 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-01-24 Richard Biener + + PR lto/87187 + * tree-streamer-out.c (write_ts_decl_common_tree_pointers): + When in "legacy" debug mode make sure to reset self-origins. + 2019-01-24 Martin Liska PR gcov-profile/88994 diff --git a/gcc/tree-streamer-out.c b/gcc/tree-streamer-out.c index ce7e8086b398..b66426387d68 100644 --- a/gcc/tree-streamer-out.c +++ b/gcc/tree-streamer-out.c @@ -603,7 +603,16 @@ write_ts_decl_common_tree_pointers (struct output_block *ob, tree expr, special handling in LTO, it must be handled by streamer hooks. */ stream_write_tree (ob, DECL_ATTRIBUTES (expr), ref_p); - stream_write_tree (ob, DECL_ABSTRACT_ORIGIN (expr), ref_p); + + /* On non-early-LTO enabled targets we claim we compiled with -g0 + but dwarf2out still did its set_decl_origin_self game fooling + itself late. Und that here since we won't have access to the + early generated abstract DIEs. */ + tree ao = DECL_ABSTRACT_ORIGIN (expr); + if (debug_info_level == DINFO_LEVEL_NONE + && ao == expr) + ao = NULL_TREE; + stream_write_tree (ob, ao, ref_p); if ((VAR_P (expr) || TREE_CODE (expr) == PARM_DECL) && DECL_HAS_VALUE_EXPR_P (expr))