From: Jakub Jelinek Date: Fri, 3 Sep 2010 09:53:44 +0000 (+0200) Subject: re PR debug/45500 (ICE: in rtl_for_decl_init, at dwarf2out.c:16307 with -g -msse... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2f757e4a8b6357445614fe51c4ff394fb13be173;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9368985a8dd..d313703e62a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-09-03 Jakub Jelinek + + 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 * tree.def (TARGET_MEM_REF): Merge TMR_SYMBOL and TMR_BASE. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 4a43d47147f..7c4c5235726 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 0a15006ba07..5b089016c6c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-09-03 Jakub Jelinek + + PR debug/45500 + * gcc.target/i386/pr45500.c: New test. + 2010-09-03 Mingjie Xing * 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 00000000000..46e5100aeb2 --- /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', '?', '\\' };