re PR c/31520 (Latent bug in finish_decl causing an errorous "array subscript is above array bounds")
2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com> PR c/31520 * c-del.c (finish_decl): Grab the type of the decl after the call to store_init_value. 2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com> PR C/31520 * testsuite/gcc.dg/gnu89-init-4.c: New testcase. From-SVN: r123835
This commit is contained in:
parent
f8b8c6d76d
commit
aa24028daf
|
@ -1,3 +1,9 @@
|
||||||
|
2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||||
|
|
||||||
|
PR c/31520
|
||||||
|
* c-del.c (finish_decl): Grab the type of the decl after the call
|
||||||
|
to store_init_value.
|
||||||
|
|
||||||
2007-04-14 Steven Bosscher <steven@gcc.gnu.org>
|
2007-04-14 Steven Bosscher <steven@gcc.gnu.org>
|
||||||
|
|
||||||
* common.opt (fforward-propagate): Fix "Optimization" annotation.
|
* common.opt (fforward-propagate): Fix "Optimization" annotation.
|
||||||
|
|
|
@ -3383,7 +3383,7 @@ c_maybe_initialize_eh (void)
|
||||||
void
|
void
|
||||||
finish_decl (tree decl, tree init, tree asmspec_tree)
|
finish_decl (tree decl, tree init, tree asmspec_tree)
|
||||||
{
|
{
|
||||||
tree type = TREE_TYPE (decl);
|
tree type;
|
||||||
int was_incomplete = (DECL_SIZE (decl) == 0);
|
int was_incomplete = (DECL_SIZE (decl) == 0);
|
||||||
const char *asmspec = 0;
|
const char *asmspec = 0;
|
||||||
|
|
||||||
|
@ -3410,6 +3410,8 @@ finish_decl (tree decl, tree init, tree asmspec_tree)
|
||||||
|| TREE_CODE (decl) == FIELD_DECL))
|
|| TREE_CODE (decl) == FIELD_DECL))
|
||||||
objc_check_decl (decl);
|
objc_check_decl (decl);
|
||||||
|
|
||||||
|
type = TREE_TYPE (decl);
|
||||||
|
|
||||||
/* Deduce size of array from initialization, if not already known. */
|
/* Deduce size of array from initialization, if not already known. */
|
||||||
if (TREE_CODE (type) == ARRAY_TYPE
|
if (TREE_CODE (type) == ARRAY_TYPE
|
||||||
&& TYPE_DOMAIN (type) == 0
|
&& TYPE_DOMAIN (type) == 0
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2007-04-14 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||||
|
|
||||||
|
PR C/31520
|
||||||
|
* testsuite/gcc.dg/gnu89-init-4.c: New testcase.
|
||||||
|
|
||||||
2007-04-14 Jakub Jelinek <jakub@redhat.com>
|
2007-04-14 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR c++/25874
|
PR c++/25874
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
/* Test for GNU extensions to compound literals are giving the correct array bounds */
|
||||||
|
/* { dg-do run } */
|
||||||
|
/* { dg-options "-std=gnu89 -W -Wall -O2" } */
|
||||||
|
|
||||||
|
int a[] = (int[4]){1, 1, 2};
|
||||||
|
int f(void)
|
||||||
|
{
|
||||||
|
int sum = 0; int i;
|
||||||
|
for(i = 0;i<4;i++)
|
||||||
|
sum = a[i];
|
||||||
|
return sum;
|
||||||
|
}
|
Loading…
Reference in New Issue