aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-06-29 10:15:00 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2011-06-29 10:15:00 +0200
commita0f33d3a128be9cc917198f93a13d451795b8175 (patch)
tree5f9c8925a92d79802ac210f1d17228247886af68 /gcc
parent946c8b23ddf4ab7cc6af92c5a58b36814af3ecac (diff)
downloadgcc-a0f33d3a128be9cc917198f93a13d451795b8175.zip
gcc-a0f33d3a128be9cc917198f93a13d451795b8175.tar.gz
gcc-a0f33d3a128be9cc917198f93a13d451795b8175.tar.bz2
re PR debug/49567 (ICE in mem_loc_descriptor due to typed DWARF stack changes)
PR debug/49567 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTEND>: Give up for non-MODE_INT modes instead of asserting the mode has MODE_INT class. * gcc.target/i386/pr49567.c: New test. From-SVN: r175622
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/dwarf2out.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr49567.c13
4 files changed, 27 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 323c179..91c23f2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2011-06-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49567
+ * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTEND>: Give up
+ for non-MODE_INT modes instead of asserting the mode has MODE_INT
+ class.
+
2011-06-29 Georg-Johann Lay <avr@gjlay.de>
PR target/34734
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 3d63d7b..8ff5c1e 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -14762,7 +14762,8 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode,
case SIGN_EXTEND:
case ZERO_EXTEND:
- gcc_assert (GET_MODE_CLASS (mode) == MODE_INT);
+ if (GET_MODE_CLASS (mode) != MODE_INT)
+ break;
op0 = mem_loc_descriptor (XEXP (rtl, 0), GET_MODE (XEXP (rtl, 0)),
mem_mode, VAR_INIT_STATUS_INITIALIZED);
if (op0 == 0)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 46419f3..d327e4f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49567
+ * gcc.target/i386/pr49567.c: New test.
+
2011-06-28 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt17.ad[sb]: New test.
diff --git a/gcc/testsuite/gcc.target/i386/pr49567.c b/gcc/testsuite/gcc.target/i386/pr49567.c
new file mode 100644
index 0000000..309deb4
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr49567.c
@@ -0,0 +1,13 @@
+/* PR debug/49567 */
+/* { dg-do compile } */
+/* { dg-options "-g -O2 -msse4" } */
+
+#include <x86intrin.h>
+
+__m128
+foo (__m128i x)
+{
+ __m128i y;
+ y = _mm_cvtepi16_epi32 (x);
+ return _mm_cvtepi32_ps (y);
+}