aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorCanqun Yang <canqun@nudt.edu.cn>2004-10-30 14:18:34 +0000
committerPaul Brook <pbrook@gcc.gnu.org>2004-10-30 14:18:34 +0000
commit7a003d8e2e5f20fab390c2e2988e1c630cbb3ba9 (patch)
tree7000c863d0f16b0b8e5755c5819227f439868d5f /gcc
parentcbb1cada36cb9831e9a20629e1f5c555c2a84590 (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/fortran/check.c6
-rw-r--r--gcc/fortran/intrinsic.c4
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