From: Alexandre Oliva Date: Fri, 9 Mar 2007 10:39:05 +0000 (+0000) Subject: * recog.c (decode_asm_operands): No mixed declarations and code. X-Git-Tag: releases/gcc-4.3.0~6350 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fb0a24601dd929dac9962358497b8af1856cbd02;p=thirdparty%2Fgcc.git * recog.c (decode_asm_operands): No mixed declarations and code. From-SVN: r122746 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6c55f65339c6..71f203b83324 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2007-03-09 Alexandre Oliva + + * recog.c (decode_asm_operands): No mixed declarations and code. + 2007-03-09 Alexandre Oliva * rtl.def (ASM_INPUT): Add location. diff --git a/gcc/recog.c b/gcc/recog.c index af5387a03372..5e1df5cd46cd 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -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++) {