]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper alignment for assemble_inte...
authorRichard Henderson <rth@redhat.com>
Mon, 27 Aug 2001 17:25:36 +0000 (10:25 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 27 Aug 2001 17:25:36 +0000 (10:25 -0700)
        * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
        alignment for assemble_integer for DW_EH_PE_aligned.
        * except.c (output_function_exception_table): Likewise.

From-SVN: r45198

gcc/ChangeLog
gcc/except.c

index e38ff4a2f8c4642aa6936fd5abde883611cd4efd..cdaf55abe6de1f7c15d552f04e6e3e1177d9308f 100644 (file)
@@ -2,6 +2,7 @@
 
        * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
        alignment for assemble_integer for DW_EH_PE_aligned.
+       * except.c (output_function_exception_table): Likewise.
 
 2001-08-26  Andreas Jaeger  <aj@suse.de>
 
index 25a08d5c737d479bab8b38e411ef16da41edd1a0..9aad8f598c93ebcd964beaca620b42b4edaff55d 100644 (file)
@@ -3636,16 +3636,19 @@ output_function_exception_table ()
   while (i-- > 0)
     {
       tree type = VARRAY_TREE (cfun->eh->ttype_data, i);
+      rtx value;
 
       if (type == NULL_TREE)
        type = integer_zero_node;
       else
        type = lookup_type_for_runtime (type);
 
-      dw2_asm_output_encoded_addr_rtx (tt_format,
-                                      expand_expr (type, NULL_RTX, VOIDmode,
-                                                   EXPAND_INITIALIZER),
-                                      NULL);
+      value = expand_expr (type, NULL_RTX, VOIDmode, EXPAND_INITIALIZER);
+      if (tt_format == DW_EH_PE_absptr || tt_format == DW_EH_PE_aligned)
+       assemble_integer (value, tt_format_size,
+                         tt_format_size * BITS_PER_UNIT, 1);
+      else
+        dw2_asm_output_encoded_addr_rtx (tt_format, value, NULL);
     }
 
 #ifdef HAVE_AS_LEB128