---
arm-asm.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arm-asm.c b/arm-asm.c
index 847a4f3..d6adc20 100644
--- a/arm-asm.c
+++ b/arm-asm.c
@@ -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) {
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel