aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-09-03 11:53:44 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2010-09-03 11:53:44 +0200
commit2f757e4a8b6357445614fe51c4ff394fb13be173 (patch)
treea4da846c68593e76a88ab9549ba1842370e3656d
parent4d948885d0d10918e53b9d91fde81c4f47d837a8 (diff)
downloadgcc-2f757e4a8b6357445614fe51c4ff394fb13be173.zip
gcc-2f757e4a8b6357445614fe51c4ff394fb13be173.tar.gz
gcc-2f757e4a8b6357445614fe51c4ff394fb13be173.tar.bz2
re PR debug/45500 (ICE: in rtl_for_decl_init, at dwarf2out.c:16307 with -g -msse and using v16qi)
PR debug/45500 * dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors, not just generic vectors with BLKmode. * gcc.target/i386/pr45500.c: New test. From-SVN: r163803
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/i386/pr45500.c6
4 files changed, 19 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9368985..d313703 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-09-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45500
+ * dwarf2out.c (rtl_for_decl_init): Give up for all generic vectors,
+ not just generic vectors with BLKmode.
+
2010-09-03 Richard Guenther <rguenther@suse.de>
* tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 4a43d47..7c4c523 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -16256,7 +16256,8 @@ rtl_for_decl_init (tree init, tree type)
;
/* Vectors only work if their mode is supported by the target.
FIXME: generic vectors ought to work too. */
- else if (TREE_CODE (type) == VECTOR_TYPE && TYPE_MODE (type) == BLKmode)
+ else if (TREE_CODE (type) == VECTOR_TYPE
+ && !VECTOR_MODE_P (TYPE_MODE (type)))
;
/* If the initializer is something that we know will expand into an
immediate RTL constant, expand it now. We must be careful not to
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0a15006..5b08901 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-09-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/45500
+ * gcc.target/i386/pr45500.c: New test.
+
2010-09-03 Mingjie Xing <mingjie.xing@gmail.com>
* gcc.target/mips/loongson-shift-count-truncated-1.c: New.
diff --git a/gcc/testsuite/gcc.target/i386/pr45500.c b/gcc/testsuite/gcc.target/i386/pr45500.c
new file mode 100644
index 0000000..46e5100
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr45500.c
@@ -0,0 +1,6 @@
+/* PR debug/45500 */
+/* { dg-do compile } */
+/* { dg-options "-g -msse" } */
+
+typedef char V __attribute__ ((__vector_size__ (16)));
+static const V s = { '\n', '\r', '?', '\\' };