OSDN Git Service

(find_reloads): Don't let an operand have a numbered
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Oct 1992 22:51:59 +0000 (22:51 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Oct 1992 22:51:59 +0000 (22:51 +0000)
constraint that makes it match itself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@2463 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/reload.c

index 459939b..befe84e 100644 (file)
@@ -2090,6 +2090,17 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p)
            c -= '0';
            operands_match[c][i]
              = operands_match_p (recog_operand[c], recog_operand[i]);
+
+           /* An operand may not match itself.  */
+           if (c == i)
+             {
+               if (this_insn_is_asm)
+                 warning_for_asm (this_insn,
+                                  "operand %d has constraint %d", i, c);
+               else
+                 abort ();
+             }
+
            /* If C can be commuted with C+1, and C might need to match I,
               then C+1 might also need to match I.  */
            if (commutative >= 0)