aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-08-03 14:08:56 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-08-03 14:08:56 +0000
commit63e434cafab6986e94c963f01dc7cc3de7cc43b6 (patch)
treef149fe1201cb0276fb2de146fcb27939708a69af /gcc
parent297db279102e9c5f5b32f0580a303dab6a0a5fd5 (diff)
downloadgcc-63e434cafab6986e94c963f01dc7cc3de7cc43b6.zip
gcc-63e434cafab6986e94c963f01dc7cc3de7cc43b6.tar.gz
gcc-63e434cafab6986e94c963f01dc7cc3de7cc43b6.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/lto/ChangeLog7
-rw-r--r--gcc/lto/lto-symtab.h8
2 files changed, 11 insertions, 4 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index cfe8178..9861e98 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -1,3 +1,10 @@
+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
diff --git a/gcc/lto/lto-symtab.h b/gcc/lto/lto-symtab.h
index c2876c1..89cd97b 100644
--- a/gcc/lto/lto-symtab.h
+++ b/gcc/lto/lto-symtab.h
@@ -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
{