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>
|
||||
|
||||
* 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
|
||||
index type. (For example, on a 32-bit machine, an array with
|
||||
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");
|
||||
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>
|
||||
|
||||
* 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