RISC-V: Error, don't warn, for shfit amounts/CSRs

gas/ChangeLog

2017-05-11  Andrew Waterman  <andrew@sifive.com>

       * config/tc-riscv.c (riscv_ip): Changes as_warn to as_bad for improper
       shift amounts.
This commit is contained in:
Andrew Waterman 2017-05-10 23:59:50 -07:00 committed by Palmer Dabbelt
parent 4aa57d6a2b
commit 94f78a777c
2 changed files with 13 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2017-05-11 Andrew Waterman <andrew@sifive.com>
* config/tc-riscv.c (riscv_ip): Changes as_warn to as_bad for improper
shift amounts.
2017-06-22 Nick Clifton <nickc@redhat.com>
* config/tc-arm.c (arm_ext_v7m): Add ATTRIBUTE_UNUSED.

View File

@ -1445,8 +1445,8 @@ rvc_lui:
my_getExpression (imm_expr, s);
check_absolute_expr (ip, imm_expr);
if ((unsigned long) imm_expr->X_add_number > 31)
as_warn (_("Improper shift amount (%lu)"),
(unsigned long) imm_expr->X_add_number);
as_bad (_("Improper shift amount (%lu)"),
(unsigned long) imm_expr->X_add_number);
INSERT_OPERAND (SHAMTW, *ip, imm_expr->X_add_number);
imm_expr->X_op = O_absent;
s = expr_end;
@ -1456,8 +1456,8 @@ rvc_lui:
my_getExpression (imm_expr, s);
check_absolute_expr (ip, imm_expr);
if ((unsigned long) imm_expr->X_add_number >= xlen)
as_warn (_("Improper shift amount (%lu)"),
(unsigned long) imm_expr->X_add_number);
as_bad (_("Improper shift amount (%lu)"),
(unsigned long) imm_expr->X_add_number);
INSERT_OPERAND (SHAMT, *ip, imm_expr->X_add_number);
imm_expr->X_op = O_absent;
s = expr_end;
@ -1467,8 +1467,8 @@ rvc_lui:
my_getExpression (imm_expr, s);
check_absolute_expr (ip, imm_expr);
if ((unsigned long) imm_expr->X_add_number > 31)
as_warn (_("Improper CSRxI immediate (%lu)"),
(unsigned long) imm_expr->X_add_number);
as_bad (_("Improper CSRxI immediate (%lu)"),
(unsigned long) imm_expr->X_add_number);
INSERT_OPERAND (RS1, *ip, imm_expr->X_add_number);
imm_expr->X_op = O_absent;
s = expr_end;
@ -1482,8 +1482,8 @@ rvc_lui:
my_getExpression (imm_expr, s);
check_absolute_expr (ip, imm_expr);
if ((unsigned long) imm_expr->X_add_number > 0xfff)
as_warn (_("Improper CSR address (%lu)"),
(unsigned long) imm_expr->X_add_number);
as_bad (_("Improper CSR address (%lu)"),
(unsigned long) imm_expr->X_add_number);
INSERT_OPERAND (CSR, *ip, imm_expr->X_add_number);
imm_expr->X_op = O_absent;
s = expr_end;