OSDN Git Service

Various changes from Craig. See the appropriate ChangeLog files.
[pf3gnuchains/gcc-fork.git] / gcc / f / intrin.c
index 16f36fb..553a6d6 100644 (file)
@@ -398,6 +398,10 @@ ffeintrin_check_ (ffeintrinImp imp, ffebldOp op,
                    case 6:
                      akt = 3;
                      break;
+
+                   case 7:
+                     akt = ffecom_pointer_kind ();
+                     break;
                    }
                }
              okay &= anynum || (ffeinfo_kindtype (i) == akt);
@@ -593,6 +597,10 @@ ffeintrin_check_ (ffeintrinImp imp, ffebldOp op,
            case 6:
              kt = 3;
              break;
+
+           case 7:
+             kt = ffecom_pointer_kind ();
+             break;
            }
        }
       break;
@@ -603,10 +611,6 @@ ffeintrin_check_ (ffeintrinImp imp, ffebldOp op,
       kt = 1;
       break;
 
-    case 'p':
-      kt = ffecom_pointer_kind ();
-      break;
-
     case '=':
       need_col = TRUE;
       /* Fall through.  */
@@ -991,6 +995,10 @@ ffeintrin_check_ (ffeintrinImp imp, ffebldOp op,
                    case 6:
                      akt = 3;
                      break;
+
+                   case 7:
+                     akt = ffecom_pointer_kind ();
+                     break;
                    }
                }
              okay &= anynum || (ffeinfo_kindtype (i) == akt);
@@ -1569,14 +1577,14 @@ ffeintrin_init_0 ()
 
       if ((c[0] != '-')
          && (c[0] != 'A')
-      && (c[0] != 'C')
-      && (c[0] != 'I')
-      && (c[0] != 'L')
-      && (c[0] != 'R')
-      && (c[0] != 'B')
-      && (c[0] != 'F')
-      && (c[0] != 'N')
-      && (c[0] != 'S'))
+         && (c[0] != 'C')
+         && (c[0] != 'I')
+         && (c[0] != 'L')
+         && (c[0] != 'R')
+         && (c[0] != 'B')
+         && (c[0] != 'F')
+         && (c[0] != 'N')
+         && (c[0] != 'S'))
        {
          fprintf (stderr, "%s: bad return-base-type\n",
                   ffeintrin_imps_[i].name);
@@ -1584,10 +1592,9 @@ ffeintrin_init_0 ()
        }
       if ((c[1] != '-')
          && (c[1] != '=')
-      && ((c[1] < '1')
-         || (c[1] > '9'))
-         && (c[1] != 'C')
-         && (c[1] != 'p'))
+         && ((c[1] < '1')
+             || (c[1] > '9'))
+         && (c[1] != 'C'))
        {
          fprintf (stderr, "%s: bad return-kind-type\n",
                   ffeintrin_imps_[i].name);
@@ -1613,8 +1620,8 @@ ffeintrin_init_0 ()
        }
       if ((c[colon + 1] != '-')
          && (c[colon + 1] != '*')
-      && ((c[colon + 1] < '0')
-         || (c[colon + 1] > '9')))
+         && ((c[colon + 1] < '0')
+             || (c[colon + 1] > '9')))
        {
          fprintf (stderr, "%s: bad COL-spec\n",
                   ffeintrin_imps_[i].name);
@@ -1625,7 +1632,7 @@ ffeintrin_init_0 ()
        {
          while ((c[0] != '=')
                 && (c[0] != ',')
-         && (c[0] != '\0'))
+                && (c[0] != '\0'))
            ++c;
          if (c[0] != '=')
            {
@@ -1635,28 +1642,27 @@ ffeintrin_init_0 ()
            }
          if ((c[1] == '?')
              || (c[1] == '!')
-         || (c[1] == '!')
              || (c[1] == '+')
-         || (c[1] == '*')
+             || (c[1] == '*')
              || (c[1] == 'n')
-         || (c[1] == 'p'))
+             || (c[1] == 'p'))
            ++c;
          if (((c[1] != '-')
               && (c[1] != 'A')
-         && (c[1] != 'C')
-         && (c[1] != 'I')
-         && (c[1] != 'L')
-         && (c[1] != 'R')
-         && (c[1] != 'B')
-         && (c[1] != 'F')
-         && (c[1] != 'N')
-         && (c[1] != 'S')
-         && (c[1] != 'g')
-         && (c[1] != 's'))
+              && (c[1] != 'C')
+              && (c[1] != 'I')
+              && (c[1] != 'L')
+              && (c[1] != 'R')
+              && (c[1] != 'B')
+              && (c[1] != 'F')
+              && (c[1] != 'N')
+              && (c[1] != 'S')
+              && (c[1] != 'g')
+              && (c[1] != 's'))
              || ((c[2] != '*')
                  && ((c[2] < '1')
                      || (c[2] > '9'))
-             && (c[2] != 'A')))
+                 && (c[2] != 'A')))
            {
              fprintf (stderr, "%s: bad arg-type\n",
                       ffeintrin_imps_[i].name);
@@ -1693,13 +1699,13 @@ ffeintrin_init_0 ()
            ++c;
          if ((c[3] == '&')
              || (c[3] == 'i')
-         || (c[3] == 'w')
-         || (c[3] == 'x'))
+             || (c[3] == 'w')
+             || (c[3] == 'x'))
            ++c;
          if (c[3] == ',')
            {
              c += 4;
-             break;
+             continue;
            }
          if (c[3] != '\0')
            {