diff options
author | Richard Henderson <rth@redhat.com> | 2009-06-11 22:11:04 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2009-06-11 22:11:04 -0700 |
commit | 42755c21511d94f8ce81d1b7cc6e7601953525a9 (patch) | |
tree | e8004f8c5e0f2df6e30fa432b5139fcec7f00c44 /gcc | |
parent | f2ae7631fb1cec46a9614c254b91fa4d51ed5680 (diff) | |
download | gcc-42755c21511d94f8ce81d1b7cc6e7601953525a9.zip gcc-42755c21511d94f8ce81d1b7cc6e7601953525a9.tar.gz gcc-42755c21511d94f8ce81d1b7cc6e7601953525a9.tar.bz2 |
* dwarf2out.c (def_cfa_1): Likewise for DW_CFA_cfa_offset.
From-SVN: r148412
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b1d0cd7..3888eb6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,7 @@ 2009-06-11 Richard Henderson <rth@redhat.com> + * dwarf2out.c (def_cfa_1): Likewise for DW_CFA_cfa_offset. + * dwarf2out.c (need_data_align_sf_opcode): New. (div_data_align): Move earlier. (def_cfa_1, reg_save): Use it. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 1d3a1ca..c41f008 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -524,7 +524,7 @@ init_return_column_size (enum machine_mode mode, rtx mem, unsigned int c) /* Divide OFF by DWARF_CIE_DATA_ALIGNMENT, asserting no remainder. */ -static HOST_WIDE_INT +static inline HOST_WIDE_INT div_data_align (HOST_WIDE_INT off) { HOST_WIDE_INT r = off / DWARF_CIE_DATA_ALIGNMENT; @@ -535,7 +535,7 @@ div_data_align (HOST_WIDE_INT off) /* Return true if we need a signed version of a given opcode (e.g. DW_CFA_offset_extended_sf vs DW_CFA_offset_extended). */ -static bool +static inline bool need_data_align_sf_opcode (HOST_WIDE_INT off) { return DWARF_CIE_DATA_ALIGNMENT < 0 ? off > 0 : off < 0; @@ -992,7 +992,7 @@ def_cfa_1 (const char *label, dw_cfa_location *loc_p) the CFA register did not change but the offset did. The data factoring for DW_CFA_def_cfa_offset_sf happens in output_cfi, or in the assembler via the .cfi_def_cfa_offset directive. */ - if (loc.offset < 0) + if (need_data_align_sf_opcode (loc.offset)) cfi->dw_cfi_opc = DW_CFA_def_cfa_offset_sf; else cfi->dw_cfi_opc = DW_CFA_def_cfa_offset; |