diff options
author | Canqun Yang <canqun@nudt.edu.cn> | 2004-10-30 14:18:34 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2004-10-30 14:18:34 +0000 |
commit | 7a003d8e2e5f20fab390c2e2988e1c630cbb3ba9 (patch) | |
tree | 7000c863d0f16b0b8e5755c5819227f439868d5f /gcc | |
parent | cbb1cada36cb9831e9a20629e1f5c555c2a84590 (diff) | |
download | gcc-7a003d8e2e5f20fab390c2e2988e1c630cbb3ba9.zip gcc-7a003d8e2e5f20fab390c2e2988e1c630cbb3ba9.tar.gz gcc-7a003d8e2e5f20fab390c2e2988e1c630cbb3ba9.tar.bz2 |
check.c (gfc_check_rand): Allow missing optional argument.
2004-10-30 Canqun Yang <canqun@nudt.edu.cn>
* check.c (gfc_check_rand): Allow missing optional argument.
(gfc_check_irand): Ditto.
* intrinsic.c (add_functions): Set arg optional flag for {i,}rand.
libgfortran/
* intrinsics/rand.c (irand): Handle NULL argument.
From-SVN: r89886
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/fortran/check.c | 6 | ||||
-rw-r--r-- | gcc/fortran/intrinsic.c | 4 |
3 files changed, 15 insertions, 3 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 676a50f..c950f8c 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,9 +1,15 @@ +2004-10-30 Canqun Yang <canqun@nudt.edu.cn> + + * check.c (gfc_check_rand): Allow missing optional argument. + (gfc_check_irand): Ditto. + * intrinsic.c (add_functions): Set arg optional flag for {i,}rand. + 2004-10-28 Scott Robert Ladd <scott.ladd@coyotegulch.com> PR fortran/13490, PR fortran/17912 * gcc/fortran/gfortran.h: Added pedantic_min_int to gfc_integer_info * gcc/fortran/gfortran.h: Added ARITH_ASYMMETRIC to arith - * gcc/fortran/arith.c: Added support for an "asymmetric integer" + * gcc/fortran/arith.c: Added support for an "asymmetric integer" warning when compiling with pedantic. * gcc/fortran/arith.c: Set minimum integer values to reflect realities of two's complement signed integers. Added diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c index a22acf0..b8ed5e9 100644 --- a/gcc/fortran/check.c +++ b/gcc/fortran/check.c @@ -2001,6 +2001,9 @@ gfc_check_system_clock (gfc_expr * count, gfc_expr * count_rate, try gfc_check_irand (gfc_expr * x) { + if (x == NULL) + return SUCCESS; + if (scalar_check (x, 0) == FAILURE) return FAILURE; @@ -2016,6 +2019,9 @@ gfc_check_irand (gfc_expr * x) try gfc_check_rand (gfc_expr * x) { + if (x == NULL) + return SUCCESS; + if (scalar_check (x, 0) == FAILURE) return FAILURE; diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c index aa358f07..bc69f54 100644 --- a/gcc/fortran/intrinsic.c +++ b/gcc/fortran/intrinsic.c @@ -1307,7 +1307,7 @@ add_functions (void) /* The following function is for G77 compatibility. */ add_sym_1 ("irand", 0, 1, BT_INTEGER, 4, gfc_check_irand, NULL, NULL, - i, BT_INTEGER, 4, 0); + i, BT_INTEGER, 4, 1); make_generic ("irand", GFC_ISYM_IRAND); @@ -1602,7 +1602,7 @@ add_functions (void) /* The following function is for G77 compatibility. */ add_sym_1 ("rand", 0, 1, BT_REAL, 4, gfc_check_rand, NULL, NULL, - i, BT_INTEGER, 4, 0); + i, BT_INTEGER, 4, 1); /* Compatibility with HP FORTRAN 77/iX Reference. Note, rand() and ran() use slightly different shoddy multiplicative congruential |