aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/check.c
diff options
context:
space:
mode:
authorFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2005-08-09 17:33:17 +0000
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2005-08-09 17:33:17 +0000
commitae8b87895f3ae2557674aad472f58efc2274440b (patch)
treec536f14d5c459cba9c9c7a629d3857e4fb6248ec /gcc/fortran/check.c
parent0ed414a4f6aa5a2d5fb5e2b6b3e508333cea047e (diff)
downloadgcc-ae8b87895f3ae2557674aad472f58efc2274440b.zip
gcc-ae8b87895f3ae2557674aad472f58efc2274440b.tar.gz
gcc-ae8b87895f3ae2557674aad472f58efc2274440b.tar.bz2
check.c (gfc_check_ttynam_sub, [...]): Add check functions for new intrinsics TTYNAM and ISATTY.
* check.c (gfc_check_ttynam_sub, gfc_check_isatty): Add check functions for new intrinsics TTYNAM and ISATTY. * intrinsic.c (add_functions, add_subroutines): Add new intrinsics. * intrinsic.h: Add prototypes for new check and resolve functions. * iresolve.c (gfc_resolve_isatty, gfc_resolve_ttynam_sub): New resolve functions for intrinsics TTYNAM and ISATTY. * gfortran.h (gfc_generic_isym_id): Add symbol for ISATTY. * trans-intrinsic.c: Add case for GFC_ISYM_ISATTY. * Makefile.am: Add file intrinsics/tty.c to Makefile process. * Makefile.in: Regenerate. * io/io.h: Prototypes for new functions stream_isatty and stream_ttyname. * io/unix (stream_isatty, stream_ttyname): New functions to call isatty() and ttyname() on a given unit. * intrinsics/tty.c: New file to implement g77 intrinsics TTYNAM and ISATTY. From-SVN: r102915
Diffstat (limited to 'gcc/fortran/check.c')
-rw-r--r--gcc/fortran/check.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/fortran/check.c b/gcc/fortran/check.c
index 57b9068..fbbc96b 100644
--- a/gcc/fortran/check.c
+++ b/gcc/fortran/check.c
@@ -2574,6 +2574,38 @@ gfc_check_hostnm_sub (gfc_expr * name, gfc_expr * status)
try
+gfc_check_ttynam_sub (gfc_expr * unit, gfc_expr * name)
+{
+ if (scalar_check (unit, 0) == FAILURE)
+ return FAILURE;
+
+ if (type_check (unit, 0, BT_INTEGER) == FAILURE)
+ return FAILURE;
+
+ if (type_check (name, 1, BT_CHARACTER) == FAILURE)
+ return FAILURE;
+
+ return SUCCESS;
+}
+
+
+try
+gfc_check_isatty (gfc_expr * unit)
+{
+ if (unit == NULL)
+ return FAILURE;
+
+ if (type_check (unit, 0, BT_INTEGER) == FAILURE)
+ return FAILURE;
+
+ if (scalar_check (unit, 0) == FAILURE)
+ return FAILURE;
+
+ return SUCCESS;
+}
+
+
+try
gfc_check_perror (gfc_expr * string)
{
if (type_check (string, 0, BT_CHARACTER) == FAILURE)