re PR c++/6706 (ICE with variable-sized arrays and DWARF-1 output)
PR c++/6706 * dwarfout.c (output_reg_number): Fix warning message. (output_bound_representation): Check SAVE_EXPR_RTL is not NULL before using it. PR c++/6706 * g++.dg/debug/debug6.C: New test. * g++.dg/debug/debug7.C: New test. From-SVN: r55264
This commit is contained in:
parent
7dc17098a2
commit
9833f6792a
|
@ -1,3 +1,10 @@
|
|||
2002-07-03 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/6706
|
||||
* dwarfout.c (output_reg_number): Fix warning message.
|
||||
(output_bound_representation): Check SAVE_EXPR_RTL is not NULL
|
||||
before using it.
|
||||
|
||||
2002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||||
|
||||
* gcc/gcc.c (asm_debug): Move initialization ...
|
||||
|
|
|
@ -2077,7 +2077,8 @@ output_reg_number (rtl)
|
|||
|
||||
if (regno >= DWARF_FRAME_REGISTERS)
|
||||
{
|
||||
warning_with_decl (dwarf_last_decl, "internal regno botch: regno = %d\n",
|
||||
warning_with_decl (dwarf_last_decl,
|
||||
"internal regno botch: `%s' has regno = %d\n",
|
||||
regno);
|
||||
regno = 0;
|
||||
}
|
||||
|
@ -2294,7 +2295,8 @@ output_bound_representation (bound, dim_num, u_or_l)
|
|||
|| TREE_CODE (bound) == CONVERT_EXPR)
|
||||
bound = TREE_OPERAND (bound, 0);
|
||||
|
||||
if (TREE_CODE (bound) == SAVE_EXPR)
|
||||
if (TREE_CODE (bound) == SAVE_EXPR
|
||||
&& SAVE_EXPR_RTL (bound))
|
||||
output_loc_descriptor
|
||||
(eliminate_regs (SAVE_EXPR_RTL (bound), 0, NULL_RTX));
|
||||
}
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2002-07-03 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
PR c++/6706
|
||||
* g++.dg/debug/debug6.C: New test.
|
||||
* g++.dg/debug/debug7.C: New test.
|
||||
|
||||
Thu Jul 4 07:36:48 2002 J"orn Rennecke <joern.rennecke@superh.com>
|
||||
|
||||
* gcc.c-torture/compile/simd-3.c: New test.
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
// { dg-do compile }
|
||||
|
||||
void foo()
|
||||
{
|
||||
int i=1, x[i];
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
// { dg-do compile }
|
||||
|
||||
void f (int);
|
||||
|
||||
int
|
||||
main() {
|
||||
|
||||
int a = 4;
|
||||
int b = 5;
|
||||
int (*x)[b] = new int[a][b];
|
||||
|
||||
x[2][1] = 7;
|
||||
|
||||
for (int i = 0; i < a; ++i)
|
||||
for (int j = 0; j < b; ++j)
|
||||
f (x[i][j]);
|
||||
delete [] x;
|
||||
}
|
Loading…
Reference in New Issue