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> 2017-07-07 Torsten Duwe <duwe@suse.de>
* lto-lang.c (lto_attribute_table): Add entry for * lto-lang.c (lto_attribute_table): Add entry for
......
...@@ -23,7 +23,7 @@ extern tree lto_symtab_prevailing_decl (tree decl); ...@@ -23,7 +23,7 @@ extern tree lto_symtab_prevailing_decl (tree decl);
extern tree lto_symtab_prevailing_virtual_decl (tree decl); extern tree lto_symtab_prevailing_virtual_decl (tree decl);
/* Mark DECL to be previailed by PREVAILING. /* 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. disturb debug_tree and diagnostics.
We are safe to modify them as we wish, because the declarations disappear We are safe to modify them as we wish, because the declarations disappear
from the IL after the merging. */ from the IL after the merging. */
...@@ -31,10 +31,10 @@ extern tree lto_symtab_prevailing_virtual_decl (tree decl); ...@@ -31,10 +31,10 @@ extern tree lto_symtab_prevailing_virtual_decl (tree decl);
inline void inline void
lto_symtab_prevail_decl (tree prevailing, tree decl) 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)); gcc_assert (TREE_PUBLIC (decl) || DECL_EXTERNAL (decl));
DECL_CHAIN (decl) = prevailing; 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. */ /* Given the decl DECL, return the prevailing decl with the same name. */
...@@ -42,7 +42,7 @@ lto_symtab_prevail_decl (tree prevailing, tree decl) ...@@ -42,7 +42,7 @@ lto_symtab_prevail_decl (tree prevailing, tree decl)
inline tree inline tree
lto_symtab_prevailing_decl (tree decl) lto_symtab_prevailing_decl (tree decl)
{ {
if (DECL_ABSTRACT_ORIGIN (decl) == error_mark_node) if (DECL_LANG_FLAG_0 (decl))
return DECL_CHAIN (decl); return DECL_CHAIN (decl);
else 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