aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2008-12-22 18:49:52 +0100
committerUros Bizjak <uros@gcc.gnu.org>2008-12-22 18:49:52 +0100
commit5d88d3be0af0c5b33951e71604459599b80d9a76 (patch)
tree6abd675d0b8e0b004260ad364566e5940695d4e7 /gcc
parent82192170e3576ba627a8592079ac0bc4b4d465db (diff)
downloadgcc-5d88d3be0af0c5b33951e71604459599b80d9a76.zip
gcc-5d88d3be0af0c5b33951e71604459599b80d9a76.tar.gz
gcc-5d88d3be0af0c5b33951e71604459599b80d9a76.tar.bz2
re PR target/34571 (Segfault in alpha_expand_mov at -O3)
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog16
-rw-r--r--gcc/config/alpha/elf.h10
-rw-r--r--gcc/config/alpha/predicates.md3
-rw-r--r--gcc/testsuite/ChangeLog4
4 files changed, 26 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2fefb80..2ab5852 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
@@ -99,8 +107,8 @@
(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,
@@ -116,8 +124,8 @@
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.
diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h
index f831196..6588f75 100644
--- a/gcc/config/alpha/elf.h
+++ b/gcc/config/alpha/elf.h
@@ -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
diff --git a/gcc/config/alpha/predicates.md b/gcc/config/alpha/predicates.md
index bc6fc84..4aa06f4 100644
--- a/gcc/config/alpha/predicates.md
+++ b/gcc/config/alpha/predicates.md
@@ -390,7 +390,8 @@
(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.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2a286d3..7fed67d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -393,8 +393,8 @@
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.