]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/fortran/primary.c
arith.c (gfc_validate_kind): Add may_fail argument; abort if false and we don't valid...
[thirdparty/gcc.git] / gcc / fortran / primary.c
index eb5dc337f1d30a26a00d05b0ed35207ae9f4c040..7cc99661d2231cf35d3f56c86faff43c60c45177 100644 (file)
@@ -208,7 +208,7 @@ match_integer_constant (gfc_expr ** result, int signflag)
   if (kind == -1)
     return MATCH_ERROR;
 
-  if (gfc_validate_kind (BT_INTEGER, kind) == -1)
+  if (gfc_validate_kind (BT_INTEGER, kind, true) < 0)
     {
       gfc_error ("Integer kind %d at %C not available", kind);
       return MATCH_ERROR;
@@ -477,7 +477,7 @@ done:
       if (kind == -2)
        kind = gfc_default_real_kind ();
 
-      if (gfc_validate_kind (BT_REAL, kind) == -1)
+      if (gfc_validate_kind (BT_REAL, kind, true) < 0)
        {
          gfc_error ("Invalid real kind %d at %C", kind);
          goto cleanup;
@@ -818,7 +818,7 @@ match_string_constant (gfc_expr ** result)
        }
     }
 
-  if (gfc_validate_kind (BT_CHARACTER, kind) == -1)
+  if (gfc_validate_kind (BT_CHARACTER, kind, true) < 0)
     {
       gfc_error ("Invalid kind %d for CHARACTER constant at %C", kind);
       return MATCH_ERROR;
@@ -907,7 +907,7 @@ match_logical_constant (gfc_expr ** result)
   if (kind == -2)
     kind = gfc_default_logical_kind ();
 
-  if (gfc_validate_kind (BT_LOGICAL, kind) == -1)
+  if (gfc_validate_kind (BT_LOGICAL, kind, true) < 0)
     gfc_error ("Bad kind for logical constant at %C");
 
   e = gfc_get_expr ();
@@ -1120,7 +1120,7 @@ done:
            kind = gfc_default_real_kind ();
        }
 
-      if (gfc_validate_kind (BT_REAL, kind) == -1)
+      if (gfc_validate_kind (BT_REAL, kind, true) < 0)
        {
          gfc_error ("Invalid real kind %d at %C", kind);
          return MATCH_ERROR;