summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/recog.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 571df09262e..45b5f195b22 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2001-11-02 Graham Stott <grahams@redhat.com>
+
+ * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
+
2001-11-01 Eric Christopher <echristo@redhat.com>
* config.gcc: Revert part of earlier patch.
diff --git a/gcc/recog.c b/gcc/recog.c
index 265ce3ffbd2..49d0cd927b1 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -1554,7 +1554,8 @@ decode_asm_operands (body, operands, operand_locs, constraints, modes)
template = ASM_OPERANDS_TEMPLATE (asmop);
}
else if (GET_CODE (body) == PARALLEL
- && GET_CODE (XVECEXP (body, 0, 0)) == SET)
+ && GET_CODE (XVECEXP (body, 0, 0)) == SET
+ && GET_CODE (SET_SRC (XVECEXP (body, 0, 0))) == ASM_OPERANDS)
{
rtx asmop = SET_SRC (XVECEXP (body, 0, 0));
int nparallel = XVECLEN (body, 0); /* Includes CLOBBERs. */