This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/17406] [4.0 regression] ICE dwarf2out_frame_debug_expr, at dwarf2out.c:1692
- From: "aaronavay62 at aaronwl dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Sep 2004 06:54:46 -0000
- Subject: [Bug debug/17406] [4.0 regression] ICE dwarf2out_frame_debug_expr, at dwarf2out.c:1692
- References: <20040910202624.17406.aaronavay62@aaronwl.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From aaronavay62 at aaronwl dot com 2004-09-14 06:54 -------
It fails at -O1 -g, but not with -g or with -O1 without the other, and not when
neither is specified.
I tried again and this still fails on GNU C version 4.0.0 20040914
(experimental) (i686-pc-mingw32).
Debugging information is better this time for some reason (I think I may have
bootstrapped from a different compiler) and now its reporting the assert in
frame 1 as:
1692 gcc_assert (cfa_temp.reg == (unsigned) regno);
1693 offset -= cfa_temp.offset;
(gdb) print cfa_temp
$8 = {reg = 0, offset = 6180, base_offset = 0, indirect = 0}
(gdb) print regno
$9 = 6
The value of cfa_temp->reg is set within a previous call of that function:
Old value = 6
New value = 0
dwarf2out_frame_debug_expr (expr=0x1890230, label=0xa71d40 "*LCFI8")
at ../../../src/cvs/head/gcc/gcc/dwarf2out.c:1604
1604 cfa_temp.offset = INTVAL (src);
What all of this means is a mystery to me. :-)
Perhaps it is supposed to be initialized somewhere and it is not being initialized?
I will continue to debug and see if I can come up with anything else, but all of
this part of the compiler is unknown to me. Any assistance would be appreciated!
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17406