diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-06-29 10:15:00 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-06-29 10:15:00 +0200 |
commit | a0f33d3a128be9cc917198f93a13d451795b8175 (patch) | |
tree | 5f9c8925a92d79802ac210f1d17228247886af68 /gcc | |
parent | 946c8b23ddf4ab7cc6af92c5a58b36814af3ecac (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr49567.c | 13 |
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); +} |