diff options
author | Francois-Xavier Coudert <coudert@clipper.ens.fr> | 2005-11-05 09:34:07 +0100 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2005-11-05 08:34:07 +0000 |
commit | 25fc05eb629e6befabbe5ed43510d91acf47562a (patch) | |
tree | 24d8f3b9b29d15f5a5b0db76b7d7bc01e309ac71 /gcc/fortran/iresolve.c | |
parent | 5a522c1580b321aaf4e366d4c2495ded0b50a84a (diff) | |
download | gcc-25fc05eb629e6befabbe5ed43510d91acf47562a.zip gcc-25fc05eb629e6befabbe5ed43510d91acf47562a.tar.gz gcc-25fc05eb629e6befabbe5ed43510d91acf47562a.tar.bz2 |
intrinsic.c (add_functions): Add function version of TTYNAM.
* intrinsic.c (add_functions): Add function version of TTYNAM.
* intrinsic.h: Add prototypes for gfc_check_ttynam and
gfc_resolve_ttynam.
* gfortran.h: Add case for GFC_ISYM_TTYNAM.
* iresolve.c (gfc_resolve_ttynam): New function.
* trans-decl.c (gfc_build_intrinsic_function_decls): Add a tree
for function call to library ttynam.
* check.c (gfc_check_ttynam): New function.
* trans-intrinsic.c (gfc_conv_intrinsic_ttynam): New function.
(): Call gfc_conv_intrinsic_ttynam.
* trans.h: Add prototype for gfor_fndecl_ttynam.
* intrinsics/tty.c (ttynam): New function.
From-SVN: r106522
Diffstat (limited to 'gcc/fortran/iresolve.c')
-rw-r--r-- | gcc/fortran/iresolve.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c index 47a494d..4973eb4 100644 --- a/gcc/fortran/iresolve.c +++ b/gcc/fortran/iresolve.c @@ -1722,6 +1722,28 @@ gfc_resolve_unlink (gfc_expr * f, gfc_expr * n ATTRIBUTE_UNUSED) f->value.function.name = gfc_get_string (PREFIX("unlink")); } + +void +gfc_resolve_ttynam (gfc_expr * f, gfc_expr * unit) +{ + gfc_typespec ts; + + f->ts.type = BT_CHARACTER; + f->ts.kind = gfc_default_character_kind; + + if (unit->ts.kind != gfc_c_int_kind) + { + ts.type = BT_INTEGER; + ts.kind = gfc_c_int_kind; + ts.derived = NULL; + ts.cl = NULL; + gfc_convert_type (unit, &ts, 2); + } + + f->value.function.name = gfc_get_string (PREFIX("ttynam")); +} + + void gfc_resolve_unpack (gfc_expr * f, gfc_expr * vector, gfc_expr * mask, gfc_expr * field ATTRIBUTE_UNUSED) |