From: Jakub Jelinek Date: Tue, 27 Apr 2010 18:12:32 +0000 (+0200) Subject: dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression force using DW_CFA_def_cfa... X-Git-Tag: releases/gcc-4.6.0~7620 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=78b41ae280b857079da43d91e81356c7afad8512;p=thirdparty%2Fgcc.git dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression force using DW_CFA_def_cfa instead of... * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register or DW_CFA_def_cfa_offset{,_sf}. From-SVN: r158793 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e282e15d8f0c..39e8fe7b3176 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-04-27 Jakub Jelinek + + * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression + force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register + or DW_CFA_def_cfa_offset{,_sf}. + 2010-04-27 Eric Botcazou * tree.h: Fix truncated long macros. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index e7e2e8f9a723..1f72f906d382 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -1040,7 +1040,7 @@ def_cfa_1 (const char *label, dw_cfa_location *loc_p) cfi = new_cfi (); - if (loc.reg == old_cfa.reg && !loc.indirect) + if (loc.reg == old_cfa.reg && !loc.indirect && !old_cfa.indirect) { /* Construct a "DW_CFA_def_cfa_offset " instruction, indicating the CFA register did not change but the offset did. The data @@ -1056,7 +1056,8 @@ def_cfa_1 (const char *label, dw_cfa_location *loc_p) #ifndef MIPS_DEBUGGING_INFO /* SGI dbx thinks this means no offset. */ else if (loc.offset == old_cfa.offset && old_cfa.reg != INVALID_REGNUM - && !loc.indirect) + && !loc.indirect + && !old_cfa.indirect) { /* Construct a "DW_CFA_def_cfa_register " instruction, indicating the CFA register has changed to but the