diff options
author | Richard Biener <rguenther@suse.de> | 2017-08-03 14:08:56 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2017-08-03 14:08:56 +0000 |
commit | 63e434cafab6986e94c963f01dc7cc3de7cc43b6 (patch) | |
tree | f149fe1201cb0276fb2de146fcb27939708a69af /gcc | |
parent | 297db279102e9c5f5b32f0580a303dab6a0a5fd5 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/lto/lto-symtab.h | 8 |
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 { |