diff options
author | David Billinghurst <David.Billinghurst@riotinto.com> | 2002-01-14 23:33:09 +0000 |
---|---|---|
committer | Toon Moene <toon@gcc.gnu.org> | 2002-01-14 23:33:09 +0000 |
commit | 8df962f5d740320bf33d13b934f167d7c2e10931 (patch) | |
tree | 59547e02143e8739b5f6f0b85bc4f9a36cf7cbd8 | |
parent | 3bc9ce394561eaa2d4cb16cb0e8ec3afa62bc212 (diff) | |
download | gcc-8df962f5d740320bf33d13b934f167d7c2e10931.zip gcc-8df962f5d740320bf33d13b934f167d7c2e10931.tar.gz gcc-8df962f5d740320bf33d13b934f167d7c2e10931.tar.bz2 |
re PR fortran/3807 (Function BESJN(integer,double) problems)
2001-01-14 David Billinghurst <David.Billinghurst@riotinto.com>
PR fortran/3807
* f/intrin.c (ffeintrin_check_): Allow for case of intrinsic
control string have COL-spec an integer > 0.
From-SVN: r48854
-rw-r--r-- | gcc/f/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/f/intrin.c | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog index c151a1f..b3a9d4a 100644 --- a/gcc/f/ChangeLog +++ b/gcc/f/ChangeLog @@ -1,3 +1,9 @@ +2001-01-14 David Billinghurst <David.Billinghurst@riotinto.com> + + PR fortran/3807 + * f/intrin.c (ffeintrin_check_): Allow for case of intrinsic + control string have COL-spec an integer > 0. + 2002-01-08 Joseph S. Myers <jsm28@cam.ac.uk> * g77spec.c (lookup_option): Handle -fversion. diff --git a/gcc/f/intrin.c b/gcc/f/intrin.c index 393706a..99d849b 100644 --- a/gcc/f/intrin.c +++ b/gcc/f/intrin.c @@ -1,5 +1,5 @@ /* intrin.c -- Recognize references to intrinsics - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 2002 Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -622,10 +622,11 @@ ffeintrin_check_ (ffeintrinImp imp, ffebldOp op, { bool okay = TRUE; bool have_anynum = FALSE; + int arg_count=0; - for (arg = args; + for (arg = args, arg_count=0; arg != NULL; - arg = (c[colon + 1] == '*') ? ffebld_trail (arg) : NULL) + arg = ffebld_trail (arg), arg_count++ ) { ffebld a = ffebld_head (arg); ffeinfo i; @@ -635,6 +636,9 @@ ffeintrin_check_ (ffeintrinImp imp, ffebldOp op, continue; i = ffebld_info (a); + if ( c[colon+1] != '*' && (c[colon+1]-'0') != arg_count ) + continue; + anynum = (ffeinfo_basictype (i) == FFEINFO_basictypeHOLLERITH) || (ffeinfo_basictype (i) == FFEINFO_basictypeTYPELESS); if (anynum) |