diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2007-03-09 10:39:05 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2007-03-09 10:39:05 +0000 |
commit | fb0a24601dd929dac9962358497b8af1856cbd02 (patch) | |
tree | 9b9a0b8f5f7816eccbd47b4a8176a7e6116248c1 | |
parent | 8e4425d798eb4970eac12bd1a66011ed94b2509b (diff) | |
download | gcc-fb0a24601dd929dac9962358497b8af1856cbd02.zip gcc-fb0a24601dd929dac9962358497b8af1856cbd02.tar.gz gcc-fb0a24601dd929dac9962358497b8af1856cbd02.tar.bz2 |
* recog.c (decode_asm_operands): No mixed declarations and code.
From-SVN: r122746
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/recog.c | 13 |
2 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6c55f65..71f203b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/recog.c b/gcc/recog.c index af5387a..5e1df5c 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++) { |