aboutsummaryrefslogtreecommitdiff
path: root/gcc/symtab.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2015-02-17 09:58:37 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2015-02-17 08:58:37 +0000
commit87be7f0cbbd5927135c54e2ca9c56b522851a2d6 (patch)
tree9264313f245864186f9fda4ff8b7a195578c0634 /gcc/symtab.c
parent4414e22eeeaaf9dbd41f182173aa0a23ee792d1a (diff)
downloadgcc-87be7f0cbbd5927135c54e2ca9c56b522851a2d6.zip
gcc-87be7f0cbbd5927135c54e2ca9c56b522851a2d6.tar.gz
gcc-87be7f0cbbd5927135c54e2ca9c56b522851a2d6.tar.bz2
symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
* symtab.c (symtab_node::verify_base): Verify body_removed->!definiton * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of variables in boundary that have no inlitalizer encoded and are not aliases. * varasm.c (default_binds_local_p_2): External definitions do not count as definitions here. From-SVN: r220749
Diffstat (limited to 'gcc/symtab.c')
-rw-r--r--gcc/symtab.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/symtab.c b/gcc/symtab.c
index ee47a73..7a70b10 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -978,6 +978,11 @@ symtab_node::verify_base (void)
error ("double linked list of assembler names corrupted");
error_found = true;
}
+ if (body_removed && definition)
+ {
+ error ("node has body_removed but is definition");
+ error_found = true;
+ }
if (analyzed && !definition)
{
error ("node is analyzed byt it is not a definition");