diff options
author | Craig Burley <burley@gnu.org> | 1998-05-18 10:29:07 +0000 |
---|---|---|
committer | Dave Love <fx@gcc.gnu.org> | 1998-05-18 10:29:07 +0000 |
commit | e0263671d7c5a1e5440d87e15c5fccda5ef63b7e (patch) | |
tree | 4847472d74a8451930494ba56a625611ba84b15d | |
parent | 5403eb3a7d9b6a7f988763880863211bec11176b (diff) | |
download | gcc-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
-rw-r--r-- | gcc/f/intrin.c | 39 |
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; } |