---
 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

Reply via email to