mirror of
git://repo.or.cz/tinycc.git
synced 2026-07-05 02:48:40 +08:00
arm-asm: Raise error if user tries to use PC for offset register of single data transfer
This commit is contained in:
parent
007839597f
commit
757eccd1d2
@ -1016,6 +1016,10 @@ static void asm_single_data_transfer_opcode(TCCState *s1, int token)
|
|||||||
}
|
}
|
||||||
parse_operand(s1, &ops[2]);
|
parse_operand(s1, &ops[2]);
|
||||||
if (ops[2].type == OP_REG32) {
|
if (ops[2].type == OP_REG32) {
|
||||||
|
if (ops[2].reg == 15) {
|
||||||
|
tcc_error("Using 'pc' for register offset in '%s' is not implemented by ARM", get_tok_str(token, NULL));
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (tok == ',') {
|
if (tok == ',') {
|
||||||
next();
|
next();
|
||||||
opcode |= asm_parse_optional_shift(s1, &nb_shift, &shift);
|
opcode |= asm_parse_optional_shift(s1, &nb_shift, &shift);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user