diff options
author | Richard Stallman <rms@gnu.org> | 1993-06-17 07:15:25 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-06-17 07:15:25 +0000 |
commit | 78778b9db992d4a302c8385eec8503126012787b (patch) | |
tree | 8141943e8daccd75fdeabe053a8c0eb50099c1dd /gcc | |
parent | 4e75433b46caf9aeed38c79f54c336619b8dfb0f (diff) | |
download | gcc-78778b9db992d4a302c8385eec8503126012787b.zip gcc-78778b9db992d4a302c8385eec8503126012787b.tar.gz gcc-78778b9db992d4a302c8385eec8503126012787b.tar.bz2 |
(LEGITIMATE_CONSTANT_P): Reject function addresses for now.
From-SVN: r4685
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/pa/pa.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 4b6315b..57a7fd3 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1078,11 +1078,14 @@ extern union tree_node *current_function_decl; && (reload_in_progress || reload_completed || ! symbolic_expression_p (X))) /* Include all constant integers and constant doubles, but not - floating-point, except for floating-point zero. */ + floating-point, except for floating-point zero. + Also reject function labels as reload can not handle them correctly + right now. (Fix this for 2.5). */ #define LEGITIMATE_CONSTANT_P(X) \ - (GET_MODE_CLASS (GET_MODE (X)) != MODE_FLOAT \ - || (X) == CONST0_RTX (GET_MODE (X))) + ((GET_MODE_CLASS (GET_MODE (X)) != MODE_FLOAT \ + || (X) == CONST0_RTX (GET_MODE (X))) \ + && ! function_label_operand (X, VOIDmode)) /* Subroutine for EXTRA_CONSTRAINT. |