]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/25613 (sh compiler hangs when compiling some inline asm)
authorKaz Kojima <kkojima@gcc.gnu.org>
Thu, 12 Jan 2006 01:20:32 +0000 (01:20 +0000)
committerKaz Kojima <kkojima@gcc.gnu.org>
Thu, 12 Jan 2006 01:20:32 +0000 (01:20 +0000)
PR target/25613
* config/sh/sh.h (CONSTRAINT_LEN): Use unchecking version.

From-SVN: r109625

gcc/ChangeLog
gcc/config/sh/sh.h

index 6952318a919ff9f2ec55534283b5168804c222d5..ff6426f245c2b1a5ac6c37a00b13f033a3b93032 100644 (file)
@@ -1,3 +1,8 @@
+2006-01-12  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/25613
+       * config/sh/sh.h (CONSTRAINT_LEN): Use unchecking version.      
+
 2005-12-30  Roger Sayle  <roger@eyesopen.com>
 
        PR target/25213
index 2c4a7d58700f8ceb04d2273948a466aae7457bb5..bfba34aa86ce5a7a11cc90fb66d173865324a4e7 100644 (file)
@@ -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.