mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-22 00:01:10 +08:00
re PR middle-end/69915 (ICE: SIGSEGV with -O -ftracer with broken backtrace)
PR middle-end/69915 * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST elements. * gcc.dg/pr69915.c: New test. From-SVN: r233664
This commit is contained in:
parent
0683fd27de
commit
89c0c1fd5c
@ -1,3 +1,9 @@
|
||||
2016-02-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/69915
|
||||
* tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
|
||||
elements.
|
||||
|
||||
2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
PR rtl-optimization/69886
|
||||
|
@ -1,3 +1,8 @@
|
||||
2016-02-24 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/69915
|
||||
* gcc.dg/pr69915.c: New test.
|
||||
|
||||
2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
PR rtl-optimization/69886
|
||||
|
15
gcc/testsuite/gcc.dg/pr69915.c
Normal file
15
gcc/testsuite/gcc.dg/pr69915.c
Normal file
@ -0,0 +1,15 @@
|
||||
/* PR middle-end/69915 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O -ftracer" } */
|
||||
|
||||
typedef unsigned short V __attribute__ ((vector_size (32)));
|
||||
|
||||
unsigned
|
||||
foo (unsigned x, unsigned c, V *p)
|
||||
{
|
||||
V v = *p;
|
||||
if (c < 360)
|
||||
v = (V) { 0 };
|
||||
v *= (V) { x };
|
||||
return v[1];
|
||||
}
|
@ -1749,7 +1749,7 @@ build_vector_from_ctor (tree type, vec<constructor_elt, va_gc> *v)
|
||||
else
|
||||
vec[pos++] = value;
|
||||
}
|
||||
for (; idx < TYPE_VECTOR_SUBPARTS (type); ++idx)
|
||||
while (pos < TYPE_VECTOR_SUBPARTS (type))
|
||||
vec[pos++] = build_zero_cst (TREE_TYPE (type));
|
||||
|
||||
return build_vector (type, vec);
|
||||
|
Loading…
x
Reference in New Issue
Block a user