aboutsummaryrefslogtreecommitdiff
path: root/tccasm.c
diff options
context:
space:
mode:
Diffstat (limited to 'tccasm.c')
-rw-r--r--tccasm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/tccasm.c b/tccasm.c
index 911fd48..cff4b98 100644
--- a/tccasm.c
+++ b/tccasm.c
@@ -977,7 +977,8 @@ static void subst_asm_operands(ASMOperand *operands, int nb_operands,
}
modifier = 0;
if (*str == 'c' || *str == 'n' ||
- *str == 'b' || *str == 'w' || *str == 'h')
+ *str == 'b' || *str == 'w' ||
+ *str == 'h' || *str == 'k')
modifier = *str++;
index = find_constraint(operands, nb_operands, str, &str);
if (index < 0)
@@ -1029,7 +1030,8 @@ static void parse_asm_operands(ASMOperand *operands, int *nb_operands_ptr,
skip('(');
gexpr();
if (is_output) {
- test_lvalue();
+ if (!(vtop->type.t & VT_ARRAY))
+ test_lvalue();
} else {
/* we want to avoid LLOCAL case, except when the 'm'
constraint is used. Note that it may come from