aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/intrinsic.c
diff options
context:
space:
mode:
authorSteven G. Kargl <kargls@comcast.net>2004-09-15 14:09:17 +0000
committerPaul Brook <pbrook@gcc.gnu.org>2004-09-15 14:09:17 +0000
commita8c60d7fffb6bd4f3b483369c4b8ecc4a2c83f83 (patch)
treee0fa8b6b091f226f84ee9b1209119792fd8b000c /gcc/fortran/intrinsic.c
parent4672f86ad056e95dbdc570901efd8270056560a9 (diff)
downloadgcc-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/intrinsic.c')
-rw-r--r--gcc/fortran/intrinsic.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index 414cc1a..c20f8b2 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -1241,6 +1241,10 @@ add_functions (void)
make_generic ("fraction", GFC_ISYM_FRACTION);
/* Unix IDs (g77 compatibility) */
+ add_sym_1 ("getcwd", 0, 1, BT_INTEGER, di, NULL, NULL, gfc_resolve_getcwd,
+ c, BT_CHARACTER, dc, 0);
+ make_generic ("getcwd", GFC_ISYM_GETCWD);
+
add_sym_0 ("getgid", 1, 0, BT_INTEGER, di, NULL, NULL, gfc_resolve_getgid);
make_generic ("getgid", GFC_ISYM_GETGID);
@@ -1914,6 +1918,11 @@ add_subroutines (void)
gfc_check_etime_sub, NULL, gfc_resolve_etime_sub,
vl, BT_REAL, 4, 0, tm, BT_REAL, 4, 0);
+ add_sym_2s ("getcwd", 0, 1, BT_UNKNOWN, 0,
+ gfc_check_getcwd_sub, NULL, gfc_resolve_getcwd_sub,
+ c, BT_CHARACTER, dc, 0,
+ st, BT_INTEGER, di, 1);
+
add_sym_2s ("getenv", 0, 1, BT_UNKNOWN, 0,
NULL, NULL, NULL,
name, BT_CHARACTER, dc, 0,
@@ -1923,6 +1932,7 @@ add_subroutines (void)
NULL, NULL, gfc_resolve_getarg,
c, BT_INTEGER, di, 0, vl, BT_CHARACTER, dc, 0);
+
/* F2003 commandline routines. */
add_sym_3s ("get_command", 0, 1, BT_UNKNOWN, 0,