* dwarf2out.c (def_cfa_1): Likewise for DW_CFA_cfa_offset.
authorRichard Henderson <rth@redhat.com>
Fri, 12 Jun 2009 05:11:04 +0000 (22:11 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 12 Jun 2009 05:11:04 +0000 (22:11 -0700)
From-SVN: r148412

gcc/ChangeLog
gcc/dwarf2out.c

index b1d0cd7..3888eb6 100644 (file)
@@ -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.
index 1d3a1ca..c41f008 100644 (file)
@@ -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;