re PR target/26347 (hidden weak extern functions fail regardless of existence on alpha/linux)

PR target/26347
        PR target/27082
        * config/alpha/predicates.md (small_symbolic_operand): Deny weak
        symbols.
        (global_symbolic_operand): Allow weak symbols, even if local_p.

From-SVN: r114861
This commit is contained in:
Richard Henderson 2006-06-21 11:31:56 -07:00 committed by Richard Henderson
parent 890404315b
commit b0100a4450
2 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2006-06-21 Richard Henderson <rth@redhat.com>
PR target/26347
PR target/27082
* config/alpha/predicates.md (small_symbolic_operand): Deny weak
symbols.
(global_symbolic_operand): Allow weak symbols, even if local_p.
2006-06-21 Eric Botcazou <ebotcazou@adacore.com>
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): New function.

View File

@ -366,7 +366,8 @@
return (SYMBOL_REF_LOCAL_P (op)
&& SYMBOL_REF_SMALL_P (op)
&& SYMBOL_REF_TLS_MODEL (op) == 0);
&& !SYMBOL_REF_WEAK (op)
&& !SYMBOL_REF_TLS_MODEL (op));
})
;; Return true if OP is a SYMBOL_REF or CONST referencing a variable
@ -382,7 +383,8 @@
if (GET_CODE (op) != SYMBOL_REF)
return 0;
return !SYMBOL_REF_LOCAL_P (op) && !SYMBOL_REF_TLS_MODEL (op);
return ((!SYMBOL_REF_LOCAL_P (op) || SYMBOL_REF_WEAK (op))
&& !SYMBOL_REF_TLS_MODEL (op));
})
;; Returns 1 if OP is a symbolic operand, i.e. a symbol_ref or a label_ref,