[Bug debug/43540] ICE: vector VEC(dw_cfi_ref,heap) grow domain error, in output_cfis at dwarf2out.c:3346 or OOM-killed
jakub at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Mar 26 15:51:00 GMT 2010
------- Comment #7 from jakub at gcc dot gnu dot org 2010-03-26 15:51 -------
Created an attachment (id=20214)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20214&action=view)
gcc45-pr43540.patch
Ah, finally managed to reproduce it. The problem seems to be in confusion
about the operand order for DW_CFA_expression. The code that creates
DW_CFA_expression as well as the consumers were using operand1 for location and
operand2 for regnum, while in DWARF standard DW_CFA_expression has first
argument regnum and second block, and I assumed that too when writing
output_cfis. While changing output_cfis would be probably tiny bit shorter, I
think it is really terribly confusing and a maintainance nightmare if
DW_CFA_expression is the only code where the order of operands in GCC internal
representation doesn't match the order of operands emitted.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org
|dot org |
Status|UNCONFIRMED |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43540
More information about the Gcc-bugs
mailing list