Commit 63e434ca by Richard Biener Committed by Richard Biener

lto-symtab.h (lto_symtab_prevail_decl): Do not use DECL_ABSTRACT_ORIGIN as flag…

lto-symtab.h (lto_symtab_prevail_decl): Do not use DECL_ABSTRACT_ORIGIN as flag we can end up using that.

2017-08-03  Richard Biener  <rguenther@suse.de>

	* lto-symtab.h (lto_symtab_prevail_decl): Do not use
	DECL_ABSTRACT_ORIGIN as flag we can end up using that.  Instead
	use DECL_LANG_FLAG_0.
	(lto_symtab_prevail_decl): Likewise.

From-SVN: r250856
parent 297db279
2017-08-03 Richard Biener <rguenther@suse.de>
* lto-symtab.h (lto_symtab_prevail_decl): Do not use
DECL_ABSTRACT_ORIGIN as flag we can end up using that. Instead
use DECL_LANG_FLAG_0.
(lto_symtab_prevail_decl): Likewise.
2017-07-07 Torsten Duwe <duwe@suse.de>
* lto-lang.c (lto_attribute_table): Add entry for
......
......@@ -23,7 +23,7 @@ extern tree lto_symtab_prevailing_decl (tree decl);
extern tree lto_symtab_prevailing_virtual_decl (tree decl);
/* Mark DECL to be previailed by PREVAILING.
Use DECL_ABSTRACT_ORIGIN and DECL_CHAIN as special markers; those do not
Use DECL_LANG_FLAG_0 and DECL_CHAIN as special markers; those do not
disturb debug_tree and diagnostics.
We are safe to modify them as we wish, because the declarations disappear
from the IL after the merging. */
......@@ -31,10 +31,10 @@ extern tree lto_symtab_prevailing_virtual_decl (tree decl);
inline void
lto_symtab_prevail_decl (tree prevailing, tree decl)
{
gcc_checking_assert (DECL_ABSTRACT_ORIGIN (decl) != error_mark_node);
gcc_checking_assert (! DECL_LANG_FLAG_0 (decl));
gcc_assert (TREE_PUBLIC (decl) || DECL_EXTERNAL (decl));
DECL_CHAIN (decl) = prevailing;
DECL_ABSTRACT_ORIGIN (decl) = error_mark_node;
DECL_LANG_FLAG_0 (decl) = 1;
}
/* Given the decl DECL, return the prevailing decl with the same name. */
......@@ -42,7 +42,7 @@ lto_symtab_prevail_decl (tree prevailing, tree decl)
inline tree
lto_symtab_prevailing_decl (tree decl)
{
if (DECL_ABSTRACT_ORIGIN (decl) == error_mark_node)
if (DECL_LANG_FLAG_0 (decl))
return DECL_CHAIN (decl);
else
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment