arm-asm: Raise an error if asm_binary_opcode is used with PC as operand

This commit is contained in:
Danny Milosavljevic 2020-12-27 16:24:07 +01:00
parent 3a6f3e5f30
commit 67b402fda4
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5

View file

@ -217,11 +217,21 @@ static void asm_binary_opcode(TCCState *s1, int token)
return;
}
if (ops[0].reg == 15) {
tcc_error("'%s' does not support 'pc' as operand", get_tok_str(token, NULL));
return;
}
if (ops[1].type != OP_REG32) {
expect("(source operand) register");
return;
}
if (ops[1].reg == 15) {
tcc_error("'%s' does not support 'pc' as operand", get_tok_str(token, NULL));
return;
}
if (tok == ',') {
next(); // skip ','
if (tok == TOK_ASM_ror) {