diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 2002-06-06 17:29:55 +0000 |
---|---|---|
committer | Joern Rennecke <joern.rennecke@embecosm.com> | 2002-06-06 17:29:55 +0000 |
commit | 9691d64f9a558a599867a6528db1908e4c5bc63f (patch) | |
tree | 05f06923f685d6ee92c58404c8872efc7479e00d /gas/config | |
parent | ffdefa66c490f75656e7736fae7f241a5bcc098f (diff) | |
download | gdb-9691d64f9a558a599867a6528db1908e4c5bc63f.zip gdb-9691d64f9a558a599867a6528db1908e4c5bc63f.tar.gz gdb-9691d64f9a558a599867a6528db1908e4c5bc63f.tar.bz2 |
* config/tc-sh.c (parse_at): @(symbol,pc) is A_DISP_PC again,
but warn about it.
* testsuite/gas/sh/pcrel.s: Also test @(symbol,pc).
* testsuite/gas/sh/pcrel.d: Update.
* testsuite/gas/sh/pcrel.l: New file.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-sh.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c index d411379..cd6f90c 100644 --- a/gas/config/tc-sh.c +++ b/gas/config/tc-sh.c @@ -1383,10 +1383,18 @@ parse_at (src, op) } else if (mode == A_PC) { - op->type = A_DISP_PC_ABS; - /* Such operands don't get corrected for PC==.+4, so - make the correction here. */ - op->immediate.X_add_number -= 4; + if (op->immediate.X_op == O_symbol) + { + op->type = A_DISP_PC; + as_warn (_("Deprecated syntax.")); + } + else + { + op->type = A_DISP_PC_ABS; + /* Such operands don't get corrected for PC==.+4, so + make the correction here. */ + op->immediate.X_add_number -= 4; + } } else { |