diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2014-09-11 08:48:23 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2014-09-11 06:48:23 +0000 |
commit | 7c46e07ba46a9a508f45092f681d228330539d80 (patch) | |
tree | 9df9bc8d296b5ea59d173ab6f67a701e46098502 /gcc/varpool.c | |
parent | 412c4af7f17e3211b83bc66a4a1599e5f74eb167 (diff) | |
download | gcc-7c46e07ba46a9a508f45092f681d228330539d80.zip gcc-7c46e07ba46a9a508f45092f681d228330539d80.tar.gz gcc-7c46e07ba46a9a508f45092f681d228330539d80.tar.bz2 |
varpool.c (varpool_node::ctor_useable_for_folding_p): Do not try to access removed nodes.
* varpool.c (varpool_node::ctor_useable_for_folding_p): Do not try
to access removed nodes.
From-SVN: r215150
Diffstat (limited to 'gcc/varpool.c')
-rw-r--r-- | gcc/varpool.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/varpool.c b/gcc/varpool.c index 72971d6..14ef089 100644 --- a/gcc/varpool.c +++ b/gcc/varpool.c @@ -316,6 +316,11 @@ varpool_node::ctor_useable_for_folding_p (void) && !real_node->lto_file_data) return false; + /* Avoid attempts to load constructors that was not streamed. */ + if (flag_ltrans && DECL_INITIAL (real_node->decl) == error_mark_node + && real_node->body_removed) + return false; + /* Vtables are defined by their types and must match no matter of interposition rules. */ if (DECL_VIRTUAL_P (decl)) |