From e0263671d7c5a1e5440d87e15c5fccda5ef63b7e Mon Sep 17 00:00:00 2001 From: Craig Burley Date: Mon, 18 May 1998 10:29:07 +0000 Subject: (ffeintrin_init_0): Distinguish between crashes on bad arg base and kind types. From-SVN: r19838 --- gcc/f/intrin.c | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) (limited to 'gcc') 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; } -- cgit v1.1