]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/34571 (Segfault in alpha_expand_mov at -O3)
authorUros Bizjak <uros@gcc.gnu.org>
Mon, 22 Dec 2008 17:49:52 +0000 (18:49 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 22 Dec 2008 17:49:52 +0000 (18:49 +0100)
* config/alpha/alpha.h (ASM_OUTPUT_EXTERNAL): New macro.

PR target/34571
* config/alpha/predicates.md (symbolic_operand): Return 1 for a
label_ref with an offset.

From-SVN: r142885

gcc/ChangeLog
gcc/config/alpha/elf.h
gcc/config/alpha/predicates.md
gcc/testsuite/ChangeLog

index 2fefb8075f35afd3bb395d0756172dfdfdb84624..2ab58529a5a21c0c3b70502b5b9142358d1b9e99 100644 (file)
@@ -1,3 +1,11 @@
+2008-12-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.h (ASM_OUTPUT_EXTERNAL): New macro.
+
+       PR target/34571
+       * config/alpha/predicates.md (symbolic_operand): Return 1 for a
+       label_ref with an offset.
+
 2008-12-21  Andrew Pinski  <pinskia@gmail.com>
 
        PR target/38300
        (df_scan_start_dump, df_get_call_refs, df_hard_reg_init): Rename
        df_invalidated_by_call to invalidated_by_call_regset.
        * df.h (df_invalidated_by_call): Remove.
-       * regclass.c (regs_invalidated_by_call_regset, persistent_obstack): New
-       variables.
+       * regclass.c (regs_invalidated_by_call_regset, persistent_obstack):
+       New variables.
        (init_reg_sets_1): Initialize regs_invalidated_by_call_regset.
        (globalize_reg): Likewise.
        * df-problems.c (df_rd_local_compute, df_lr_confluence_n,
 2008-12-18  Jan Hubicka  <jh@suse.cz>
            Kai Tietz <kai.tietz@onevision.com>
 
-       * i386.h (CONDITIONAL_REGISTER_USAGE): Initialize for current function
-       ABI.
+       * i386.h (CONDITIONAL_REGISTER_USAGE): Initialize for current
+       function ABI.
        * i386.c (ix86_call_abi_override): Do not trigger target re-init and
        do not try to modify call used regs.
        (ix86_maybe_switch_abi): New function.
index f831196f00339f9804fbd4bdd8d7c1a27abe2fdf..6588f7509f810b4a51de5c50bec680a21bbdcc5e 100644 (file)
@@ -423,3 +423,13 @@ extern int alpha_this_gpdisp_sequence_number;
 #if defined(HAVE_LD_EH_FRAME_HDR)
 #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
 #endif
+
+/* A C statement (sans semicolon) to output to the stdio stream STREAM
+   any text necessary for declaring the name of an external symbol
+   named NAME which is referenced in this compilation but not defined.
+   It is needed to properly support non-default visibility.  */
+
+#ifndef ASM_OUTPUT_EXTERNAL
+#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \
+  default_elf_asm_output_external (FILE, DECL, NAME)
+#endif
index bc6fc8429805487e7ac2516a06cb8cf061cfd90a..4aa06f4c33a032fd3ce573e22ba25a08914dadd5 100644 (file)
   (ior (match_code "symbol_ref,label_ref")
        (and (match_code "const")
            (match_test "GET_CODE (XEXP (op,0)) == PLUS
-                        && GET_CODE (XEXP (XEXP (op,0), 0)) == SYMBOL_REF
+                        && (GET_CODE (XEXP (XEXP (op,0), 0)) == SYMBOL_REF
+                            || GET_CODE (XEXP (XEXP (op,0), 0)) == LABEL_REF)
                         && GET_CODE (XEXP (XEXP (op,0), 1)) == CONST_INT"))))
 
 ;; Return true if OP is valid for 16-bit DTP relative relocations.
index 2a286d37a8c622028cac55ce289cd08a64aa95a4..7fed67d297022fd6aa52bd714d05445db43c7085 100644 (file)
 2008-12-18  Daniel Kraft  <d@domob.eu>
 
        PR fortran/31822
-       * gfortran.dg/char_pointer_assign_2.f90: Updated expected error message
-       to be more detailed.
+       * gfortran.dg/char_pointer_assign_2.f90: Updated expected error
+       message to be more detailed.
        * gfortran.dg/char_pointer_assign_4.f90: New test.
        * gfortran.dg/char_pointer_assign_5.f90: New test.