re PR c++/25263 (ICE on invalid array bound: int x[1/0];)
PR c++/25263 * decl.c (compute_array_index_type): Check that itype is an INTEGER_CST node before testing/clearing TREE_OVERFLOW. * g++.dg/other/array2.C: New test case. From-SVN: r108119
This commit is contained in:
parent
c032882353
commit
9116d529f6
|
@ -1,3 +1,9 @@
|
||||||
|
2005-12-06 Roger Sayle <roger@eyesopen.com>
|
||||||
|
|
||||||
|
PR c++/25263
|
||||||
|
* decl.c (compute_array_index_type): Check that itype is an
|
||||||
|
INTEGER_CST node before testing/clearing TREE_OVERFLOW.
|
||||||
|
|
||||||
2005-12-05 Daniel Berlin <dberlin@dberlin.org>
|
2005-12-05 Daniel Berlin <dberlin@dberlin.org>
|
||||||
|
|
||||||
* ptree.c (cxx_print_decl): Update to check for decl_common
|
* ptree.c (cxx_print_decl): Update to check for decl_common
|
||||||
|
|
|
@ -6374,7 +6374,8 @@ compute_array_index_type (tree name, tree size)
|
||||||
/* Make sure that there was no overflow when creating to a signed
|
/* Make sure that there was no overflow when creating to a signed
|
||||||
index type. (For example, on a 32-bit machine, an array with
|
index type. (For example, on a 32-bit machine, an array with
|
||||||
size 2^32 - 1 is too big.) */
|
size 2^32 - 1 is too big.) */
|
||||||
else if (TREE_OVERFLOW (itype))
|
else if (TREE_CODE (itype) == INTEGER_CST
|
||||||
|
&& TREE_OVERFLOW (itype))
|
||||||
{
|
{
|
||||||
error ("overflow in array dimension");
|
error ("overflow in array dimension");
|
||||||
TREE_OVERFLOW (itype) = 0;
|
TREE_OVERFLOW (itype) = 0;
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2005-12-06 Roger Sayle <roger@eyesopen.com>
|
||||||
|
|
||||||
|
PR c++/25263
|
||||||
|
* g++.dg/other/array2.C: New test case.
|
||||||
|
|
||||||
2005-12-05 Geoffrey Keating <geoffk@apple.com>
|
2005-12-05 Geoffrey Keating <geoffk@apple.com>
|
||||||
|
|
||||||
* gcc.dg/darwin-weakimport-3.c: New.
|
* gcc.dg/darwin-weakimport-3.c: New.
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
// PR c++/25263
|
||||||
|
// { dg-do compile }
|
||||||
|
|
||||||
|
int x[1/0]; // { dg-warning "division by zero" }
|
||||||
|
// { dg-error "constant" "constant" { target *-*-* } 4 }
|
||||||
|
|
Loading…
Reference in New Issue