aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-05-14 20:09:14 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2010-05-14 20:09:14 +0200
commit88c04a5de2b5f1256f8bde89bc33c8f67c64383d (patch)
tree9ce6be546c9401ad7f197db1291d83b6fc4b8241 /gcc/cfgexpand.c
parent1133125eb84a5326b5e59595b00b5ec8add169dc (diff)
downloadgcc-88c04a5de2b5f1256f8bde89bc33c8f67c64383d.zip
gcc-88c04a5de2b5f1256f8bde89bc33c8f67c64383d.tar.gz
gcc-88c04a5de2b5f1256f8bde89bc33c8f67c64383d.tar.bz2
re PR debug/44136 (ICE in expand_debug_expr with -mno-sse)
PR debug/44136 * cfgexpand.c (expand_debug_expr): If non-memory op0 has BLKmode, return NULL. * gcc.dg/pr44136.c: New test. From-SVN: r159400
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 319b183..5c42c1c 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -2561,13 +2561,14 @@ expand_debug_expr (tree exp)
if (bitpos < 0)
return NULL;
+ if (GET_MODE (op0) == BLKmode)
+ return NULL;
+
if ((bitpos % BITS_PER_UNIT) == 0
&& bitsize == GET_MODE_BITSIZE (mode1))
{
enum machine_mode opmode = GET_MODE (op0);
- gcc_assert (opmode != BLKmode);
-
if (opmode == VOIDmode)
opmode = mode1;