aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-06-18 13:56:24 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-06-18 13:56:24 +0000
commitaa61ac43e06d21a48d25da62ece852b2fc60d7f2 (patch)
tree78dff71a529068a89330cd60b701d908a0e1bdb8 /gcc/cfgexpand.c
parenta9b6c90c5db3af10bae59db568c68002d8ed9969 (diff)
downloadgcc-aa61ac43e06d21a48d25da62ece852b2fc60d7f2.zip
gcc-aa61ac43e06d21a48d25da62ece852b2fc60d7f2.tar.gz
gcc-aa61ac43e06d21a48d25da62ece852b2fc60d7f2.tar.bz2
re PR debug/90900 (ICE in copy_rtx, at rtl.c:376)
2019-06-18 Richard Biener <rguenther@suse.de> PR debug/90900 * cfgexpand.c (expand_debug_expr): Treat NOTE_P DECL_RTL as if optimized away. * gcc.dg/gomp/pr90900.c: New testcase. From-SVN: r272421
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 4272e24..cc8eed6 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -4387,7 +4387,11 @@ expand_debug_expr (tree exp)
op0 = DECL_RTL_IF_SET (exp);
/* This decl was probably optimized away. */
- if (!op0)
+ if (!op0
+ /* At least label RTXen are sometimes replaced by
+ NOTE_INSN_DELETED_LABEL. Any notes here are not
+ handled by copy_rtx. */
+ || NOTE_P (op0))
{
if (!VAR_P (exp)
|| DECL_EXTERNAL (exp)