As Segher suggested, this patch is to emit the error message
if the split condition of define_insn_and_split is empty while
the insn condition isn't.

gcc/ChangeLog:

        * gensupport.c (process_rtx): Emit error message for empty
        split condition in define_insn_and_split while the insn
        condition isn't.
---
 gcc/gensupport.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/gensupport.c b/gcc/gensupport.c
index 0f19bd70664..52cee120215 100644
--- a/gcc/gensupport.c
+++ b/gcc/gensupport.c
@@ -620,6 +620,9 @@ process_rtx (rtx desc, file_location loc)
          }
        else if (GET_CODE (desc) == DEFINE_INSN_AND_REWRITE)
          error_at (loc, "the rewrite condition must start with `&&'");
+       else if (split_cond[0] == '\0' && strlen (XSTR (desc, 2)) != 0)
+         error_at (loc, "the split condition mustn't be empty if the "
+                        "insn condition isn't empty");
        XSTR (split, 1) = split_cond;
        if (GET_CODE (desc) == DEFINE_INSN_AND_REWRITE)
          XVEC (split, 2) = gen_rewrite_sequence (XVEC (desc, 1));
-- 
2.17.1

Reply via email to