From: Kaz Kojima Date: Thu, 12 Jan 2006 01:20:32 +0000 (+0000) Subject: re PR target/25613 (sh compiler hangs when compiling some inline asm) X-Git-Tag: releases/gcc-3.4.6~161 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92cfece597c51717991c07348c28f3d55c4ef9f1;p=thirdparty%2Fgcc.git re PR target/25613 (sh compiler hangs when compiling some inline asm) PR target/25613 * config/sh/sh.h (CONSTRAINT_LEN): Use unchecking version. From-SVN: r109625 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6952318a919f..ff6426f245c2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-01-12 Kaz Kojima + + PR target/25613 + * config/sh/sh.h (CONSTRAINT_LEN): Use unchecking version. + 2005-12-30 Roger Sayle PR target/25213 diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 2c4a7d58700f..bfba34aa86ce 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -1,6 +1,6 @@ /* Definitions of target machine for GNU compiler for Renesas / SuperH SH. Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, - 2003, 2004 Free Software Foundation, Inc. + 2003, 2004, 2006 Free Software Foundation, Inc. Contributed by Steve Chamberlain (sac@cygnus.com). Improved by Jim Wilson (wilson@cygnus.com). @@ -1345,30 +1345,11 @@ extern enum reg_class reg_class_from_letter[]; unused CONST_INT constraint letters: LO unused EXTRA_CONSTRAINT letters: D T U Y */ -#if 1 /* check that the transition went well. */ -#define CONSTRAINT_LEN(C,STR) \ - (((C) == 'L' || (C) == 'O' || (C) == 'D' || (C) == 'T' || (C) == 'U' \ - || (C) == 'Y' \ - || ((C) == 'I' \ - && (((STR)[1] != '0' && (STR)[1] != '1') \ - || (STR)[2] < '0' || (STR)[2] > '9')) \ - || ((C) == 'B' && ((STR)[1] != 's' || (STR)[2] != 'c')) \ - || ((C) == 'J' && ((STR)[1] != '1' || (STR)[2] != '6')) \ - || ((C) == 'K' && ((STR)[1] != '0' || (STR)[2] != '8')) \ - || ((C) == 'P' && ((STR)[1] != '2' || (STR)[2] != '7'))) \ - ? -1 \ - : ((C) == 'A' || (C) == 'B' || (C) == 'C' \ - || (C) == 'I' || (C) == 'J' || (C) == 'K' || (C) == 'P' \ - || (C) == 'R' || (C) == 'S') \ - ? 3 \ - : DEFAULT_CONSTRAINT_LEN ((C), (STR))) -#else #define CONSTRAINT_LEN(C,STR) \ (((C) == 'A' || (C) == 'B' || (C) == 'C' \ || (C) == 'I' || (C) == 'J' || (C) == 'K' || (C) == 'P' \ || (C) == 'R' || (C) == 'S') \ ? 3 : DEFAULT_CONSTRAINT_LEN ((C), (STR))) -#endif /* The letters I, J, K, L and M in a register constraint string can be used to stand for particular ranges of immediate operands.