From 9a3a79c77c72e7588c9e3a3ab16c5df7e5b1ad60 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sun, 12 Dec 2004 12:53:27 -0700 Subject: [PATCH] Verify that output/input asm constraints really look like outputs/inputs. --- evaluate.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/evaluate.c b/evaluate.c index 3e10888a..ca89e0cd 100644 --- a/evaluate.c +++ b/evaluate.c @@ -2377,10 +2377,22 @@ static void evaluate_iterator(struct statement *stmt) static void verify_output_constraint(struct expression *expr, const char *constraint) { + switch (*constraint) { + case '=': /* Assignment */ + case '+': /* Update */ + break; + default: + warning(expr->pos, "output constraint is not an assignment constraint (\"%s\")", constraint); + } } static void verify_input_constraint(struct expression *expr, const char *constraint) { + switch (*constraint) { + case '=': /* Assignment */ + case '+': /* Update */ + warning(expr->pos, "input constraint with assignment (\"%s\")", constraint); + } } static void evaluate_asm_statement(struct statement *stmt) -- 2.11.4.GIT