aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/iresolve.c
diff options
context:
space:
mode:
authorSteven G. Kargl <kargls@comcast.net>2005-09-22 19:00:24 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2005-09-22 19:00:24 +0000
commit6970fcc83eae5053ffc876d8f8fb75f9ccb4159c (patch)
tree0e209b98ef1ee23b4f92afccfcca714e10b4f7c5 /gcc/fortran/iresolve.c
parente9931b5b67e02b934eb8d69c1728b831bde7d0a6 (diff)
downloadgcc-6970fcc83eae5053ffc876d8f8fb75f9ccb4159c.zip
gcc-6970fcc83eae5053ffc876d8f8fb75f9ccb4159c.tar.gz
gcc-6970fcc83eae5053ffc876d8f8fb75f9ccb4159c.tar.bz2
re PR fortran/23516 (IMAG is not a generic function when implicit none is declared)
PR fortran/23516 * intrinsic.c (add_function): Add IMAG, IMAGPART, and REALPART intrinsics. * intrinsic.h: Prototypes for gfc_simplify_realpart and gfc_resolve_realpart. * intrinsic.texi: Document intrinsic procedures. * simplify.c (gfc_simplify_realpart): New function. * irseolve.c (gfc_resolve_realpart): New function. From-SVN: r104537
Diffstat (limited to 'gcc/fortran/iresolve.c')
-rw-r--r--gcc/fortran/iresolve.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/fortran/iresolve.c b/gcc/fortran/iresolve.c
index ed043a6..dda6acb 100644
--- a/gcc/fortran/iresolve.c
+++ b/gcc/fortran/iresolve.c
@@ -1152,6 +1152,17 @@ gfc_resolve_real (gfc_expr * f, gfc_expr * a, gfc_expr * kind)
void
+gfc_resolve_realpart (gfc_expr * f, gfc_expr * a)
+{
+ f->ts.type = BT_REAL;
+ f->ts.kind = a->ts.kind;
+ f->value.function.name =
+ gfc_get_string ("__real_%d_%c%d", f->ts.kind,
+ gfc_type_letter (a->ts.type), a->ts.kind);
+}
+
+
+void
gfc_resolve_rename (gfc_expr * f, gfc_expr * p1 ATTRIBUTE_UNUSED,
gfc_expr * p2 ATTRIBUTE_UNUSED)
{