diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-04-27 20:12:32 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-04-27 20:12:32 +0200 |
commit | 78b41ae280b857079da43d91e81356c7afad8512 (patch) | |
tree | 03119ac55eba921bc7dd9d0dd7eb9c226f8298a5 /gcc/dwarf2out.c | |
parent | 6210710649654e6a364ba7895a369cbebe0677c6 (diff) | |
download | gcc-78b41ae280b857079da43d91e81356c7afad8512.zip gcc-78b41ae280b857079da43d91e81356c7afad8512.tar.gz gcc-78b41ae280b857079da43d91e81356c7afad8512.tar.bz2 |
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
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index e7e2e8f..1f72f90 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 <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 <register>" instruction, indicating the CFA register has changed to <register> but the |