OSDN Git Service

* recog.c (decode_asm_operands): No mixed declarations and code.
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Mar 2007 10:39:05 +0000 (10:39 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 9 Mar 2007 10:39:05 +0000 (10:39 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122746 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/recog.c

index 6c55f65..71f203b 100644 (file)
@@ -1,5 +1,9 @@
 2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
 
+       * recog.c (decode_asm_operands): No mixed declarations and code.
+
+2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
+
        * rtl.def (ASM_INPUT): Add location.
        * rtl.h (ASM_INPUT_SOURCE_LOCATION): New.
        (ASM_INPUT_SOURCE_FILE, ASM_INPUT_SOURCE_LINE): New.
index af5387a..5e1df5c 100644 (file)
@@ -1,6 +1,7 @@
 /* Subroutines used by or related to instruction recognition.
    Copyright (C) 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998
-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
+   Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -1554,11 +1555,13 @@ decode_asm_operands (rtx body, rtx *operands, rtx **operand_locs,
           && GET_CODE (XVECEXP (body, 0, 0)) == SET
           && GET_CODE (SET_SRC (XVECEXP (body, 0, 0))) == ASM_OPERANDS)
     {
-      asmop = SET_SRC (XVECEXP (body, 0, 0));
       int nparallel = XVECLEN (body, 0); /* Includes CLOBBERs.  */
-      int nin = ASM_OPERANDS_INPUT_LENGTH (asmop);
+      int nin;
       int nout = 0;            /* Does not include CLOBBERs.  */
 
+      asmop = SET_SRC (XVECEXP (body, 0, 0));
+      nin = ASM_OPERANDS_INPUT_LENGTH (asmop);
+
       /* At least one output, plus some CLOBBERs.  */
 
       /* The outputs are in the SETs.
@@ -1596,8 +1599,10 @@ decode_asm_operands (rtx body, rtx *operands, rtx **operand_locs,
     {
       /* No outputs, but some CLOBBERs.  */
 
+      int nin;
+
       asmop = XVECEXP (body, 0, 0);
-      int nin = ASM_OPERANDS_INPUT_LENGTH (asmop);
+      nin = ASM_OPERANDS_INPUT_LENGTH (asmop);
 
       for (i = 0; i < nin; i++)
        {