diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-12-13 18:37:20 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-12-13 18:37:20 +0100 |
commit | 52bb43ceb56ed4d52e821aa003a405cda3b47ae1 (patch) | |
tree | 44fe189d6b1a4fccd8022270d487b5a3b06899e3 /gcc | |
parent | c171af0e0080310967bdebd27933488ff6c93038 (diff) | |
download | gcc-52bb43ceb56ed4d52e821aa003a405cda3b47ae1.zip gcc-52bb43ceb56ed4d52e821aa003a405cda3b47ae1.tar.gz gcc-52bb43ceb56ed4d52e821aa003a405cda3b47ae1.tar.bz2 |
re PR lto/46879 (ICE: in separate_decls_in_region_debug_bind, at tree-parloops.c:778 with -flto -ftree-parallelize-loops -gdwarf-3)
PR lto/46879
* lto-streamer-out.c (output_gimple_stmt): Never replace first
GIMPLE_DEBUG argument with MEM_REF.
From-SVN: r167755
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/lto-streamer-out.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9a539a9..f11527f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2010-12-13 Jakub Jelinek <jakub@redhat.com> + PR lto/46879 + * lto-streamer-out.c (output_gimple_stmt): Never replace first + GIMPLE_DEBUG argument with MEM_REF. + PR debug/46867 * var-tracking.c (emitted_notes, string_pointer_flags): Removed. (emit_note_insn_var_location): Remove ENABLE_RTL_CHECKING verification. diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index 2bf83be..781b257 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -1759,8 +1759,9 @@ output_gimple_stmt (struct output_block *ob, gimple stmt) tree op = gimple_op (stmt, i); /* Wrap all uses of non-automatic variables inside MEM_REFs so that we do not have to deal with type mismatches on - merged symbols during IL read in. */ - if (op) + merged symbols during IL read in. The first operand + of GIMPLE_DEBUG must be a decl, not MEM_REF, though. */ + if (op && (i || !is_gimple_debug (stmt))) { tree *basep = &op; while (handled_component_p (*basep)) |