aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorCraig Burley <burley@gnu.org>1998-05-18 10:29:07 +0000
committerDave Love <fx@gcc.gnu.org>1998-05-18 10:29:07 +0000
commite0263671d7c5a1e5440d87e15c5fccda5ef63b7e (patch)
tree4847472d74a8451930494ba56a625611ba84b15d /gcc
parent5403eb3a7d9b6a7f988763880863211bec11176b (diff)
downloadgcc-e0263671d7c5a1e5440d87e15c5fccda5ef63b7e.zip
gcc-e0263671d7c5a1e5440d87e15c5fccda5ef63b7e.tar.gz
gcc-e0263671d7c5a1e5440d87e15c5fccda5ef63b7e.tar.bz2
(ffeintrin_init_0): Distinguish between
crashes on bad arg base and kind types. From-SVN: r19838
Diffstat (limited to 'gcc')
-rw-r--r--gcc/f/intrin.c39
1 files changed, 22 insertions, 17 deletions
diff --git a/gcc/f/intrin.c b/gcc/f/intrin.c
index 5ab530b..1f07d0c 100644
--- a/gcc/f/intrin.c
+++ b/gcc/f/intrin.c
@@ -1643,24 +1643,29 @@ ffeintrin_init_0 ()
|| (c[1] == 'n')
|| (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[2] != '*')
- && ((c[2] < '1')
- || (c[2] > '9'))
- && (c[2] != 'A')))
+ 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'))
{
- fprintf (stderr, "%s: bad arg-type\n",
+ fprintf (stderr, "%s: bad arg-base-type\n",
+ ffeintrin_imps_[i].name);
+ break;
+ }
+ if ((c[2] != '*')
+ && ((c[2] < '1')
+ || (c[2] > '9'))
+ && (c[2] != 'A'))
+ {
+ fprintf (stderr, "%s: bad arg-kind-type\n",
ffeintrin_imps_[i].name);
break;
}