OSDN Git Service

2009-05-28 Kai Tietz <kai.tietz@onevision.com>
[pf3gnuchains/gcc-fork.git] / gcc / genpreds.c
index 84b2e90..5a4e249 100644 (file)
@@ -2,7 +2,7 @@
    - prototype declarations for operand predicates (tm-preds.h)
    - function definitions of operand predicates, if defined new-style
      (insn-preds.c)
-   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -234,7 +234,7 @@ needs_variable (rtx exp, const char *var)
        if (q != p && (ISALNUM (q[-1]) || q[-1] == '_'))
          return false;
        q += strlen (var);
-       if (ISALNUM (q[0] || q[0] == '_'))
+       if (ISALNUM (q[0]) || q[0] == '_')
          return false;
       }
       return true;
@@ -954,6 +954,7 @@ write_enum_constraint_num (void)
 {
   struct constraint_data *c;
 
+  fputs ("#define CONSTRAINT_NUM_DEFINED_P 1\n", stdout);
   fputs ("enum constraint_num\n"
         "{\n"
         "  CONSTRAINT__UNKNOWN = 0", stdout);
@@ -1103,7 +1104,7 @@ write_tm_constrs_h (void)
                "{\n", c->c_name,
                needs_op ? "op" : "ARG_UNUSED (op)");
        if (needs_mode)
-         puts ("enum machine_mode mode = GET_MODE (op);");
+         puts ("  enum machine_mode mode = GET_MODE (op);");
        if (needs_ival)
          puts ("  HOST_WIDE_INT ival = 0;");
        if (needs_hval)
@@ -1279,9 +1280,13 @@ write_tm_preds_h (void)
        puts ("extern enum reg_class regclass_for_constraint "
              "(enum constraint_num);\n"
              "#define REG_CLASS_FROM_CONSTRAINT(c_,s_) \\\n"
-             "    regclass_for_constraint (lookup_constraint (s_))\n");
+             "    regclass_for_constraint (lookup_constraint (s_))\n"
+             "#define REG_CLASS_FOR_CONSTRAINT(x_) \\\n"
+             "    regclass_for_constraint (x_)\n");
       else
-       puts ("#define REG_CLASS_FROM_CONSTRAINT(c_,s_) NO_REGS");
+       puts ("#define REG_CLASS_FROM_CONSTRAINT(c_,s_) NO_REGS\n"
+             "#define REG_CLASS_FOR_CONSTRAINT(x_) \\\n"
+             "    NO_REGS\n");
       if (have_const_int_constraints)
        puts ("extern bool insn_const_int_ok_for_constraint "
              "(HOST_WIDE_INT, enum constraint_num);\n"