aboutsummaryrefslogtreecommitdiff
path: root/gcc/genrecog.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-10-14 02:58:41 -0700
committerRichard Henderson <rth@gcc.gnu.org>1999-10-14 02:58:41 -0700
commit25238622ec79cceb912a1382ff9afffb680aea0a (patch)
tree14107dfc41f1980eaeb4ee41dd1754ba36b2e72f /gcc/genrecog.c
parent8fe0ca0c076f46ba45448b3254597844475eee30 (diff)
downloadgcc-25238622ec79cceb912a1382ff9afffb680aea0a.zip
gcc-25238622ec79cceb912a1382ff9afffb680aea0a.tar.gz
gcc-25238622ec79cceb912a1382ff9afffb680aea0a.tar.bz2
genrecog.c (validate_pattern): Typo last change.
* genrecog.c (validate_pattern): Typo last change. Verify that output operands have output reloads. From-SVN: r29968
Diffstat (limited to 'gcc/genrecog.c')
-rw-r--r--gcc/genrecog.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/genrecog.c b/gcc/genrecog.c
index f36e879..3636215 100644
--- a/gcc/genrecog.c
+++ b/gcc/genrecog.c
@@ -525,7 +525,7 @@ validate_pattern (pattern, insn, set_dest)
&& pred_name[0] != '\0'
&& allows_non_const
&& ! special_mode_pred
- && strstr (c_test, "operands") != NULL
+ && strstr (c_test, "operands") == NULL
&& GET_CODE (insn) == DEFINE_INSN)
{
message_with_line (pattern_lineno,
@@ -533,6 +533,19 @@ validate_pattern (pattern, insn, set_dest)
XINT (pattern, 0));
}
+ /* A MATCH_OPERAND that is a SET should have an output reload. */
+ if (set_dest
+ && code == MATCH_OPERAND
+ && XSTR (pattern, 2)[0] != '\0'
+ && XSTR (pattern, 2)[0] != '='
+ && XSTR (pattern, 2)[0] != '+')
+ {
+ message_with_line (pattern_lineno,
+ "operand %d missing output reload",
+ XINT (pattern, 0));
+ error_count++;
+ }
+
return;
}