diff options
author | Steven G. Kargl <kargls@comcast.net> | 2004-09-15 14:09:17 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2004-09-15 14:09:17 +0000 |
commit | a8c60d7fffb6bd4f3b483369c4b8ecc4a2c83f83 (patch) | |
tree | e0fa8b6b091f226f84ee9b1209119792fd8b000c /gcc/fortran/iresolve.c | |
parent | 4672f86ad056e95dbdc570901efd8270056560a9 (diff) | |
download | gcc-a8c60d7fffb6bd4f3b483369c4b8ecc4a2c83f83.zip gcc-a8c60d7fffb6bd4f3b483369c4b8ecc4a2c83f83.tar.gz gcc-a8c60d7fffb6bd4f3b483369c4b8ecc4a2c83f83.tar.bz2 |
check.c (gfc_check_getcwd_sub): New function.
2004-09-15 Steven G. Kargl <kargls@comcast.net>
* check.c (gfc_check_getcwd_sub): New function.
* gfortran.h (GFC_ISYM_GETCWD): New symbol.
* intrinsic.c (add_functions): Add function definition;
Use symbol.
* intrinsic.c (add_subroutines): Add subroutine definitions.
* intrinsic.h: Add prototypes.
* iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub):
New functions.
* trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol.
libgfortran/
* intrinsics/getcwd.c: New file.
* Makefile.am: Add getcwd.c.
* Makefile.in: Regenerated.
From-SVN: r87552
Diffstat (limited to 'gcc/fortran/iresolve.c')
-rw-r--r-- | gcc/fortran/iresolve.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c index 713d81f..ed8bc56 100644 --- a/gcc/fortran/iresolve.c +++ b/gcc/fortran/iresolve.c @@ -572,6 +572,15 @@ gfc_resolve_g77_math1 (gfc_expr * f, gfc_expr * x) void +gfc_resolve_getcwd (gfc_expr * f) +{ + f->ts.type = BT_INTEGER; + f->ts.kind = 4; + f->value.function.name = gfc_get_string (PREFIX("getcwd")); +} + + +void gfc_resolve_getgid (gfc_expr * f) { f->ts.type = BT_INTEGER; @@ -1499,6 +1508,23 @@ gfc_resolve_getarg (gfc_code * c) c->resolved_sym = gfc_get_intrinsic_sub_symbol (name); } +/* Resolve the getcwd intrinsic subroutine. */ + +void +gfc_resolve_getcwd_sub (gfc_code * c) +{ + const char *name; + int kind; + + if (c->ext.actual->next->expr != NULL) + kind = c->ext.actual->next->expr->ts.kind; + else + kind = gfc_default_integer_kind; + + name = gfc_get_string (PREFIX("getcwd_i%d_sub"), kind); + c->resolved_sym = gfc_get_intrinsic_sub_symbol (name); +} + /* Resolve the get_command intrinsic subroutine. */ |