aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2012-03-02 12:00:04 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2012-03-02 12:00:04 +0100
commit2b91eb32d64821bbbd8eb9def662e7199cb14173 (patch)
tree7563b89e889e9909533365c5c429cf256fcd7af7 /gcc
parentb70db788ddf934bad426727f541822012429d8d4 (diff)
downloadgcc-2b91eb32d64821bbbd8eb9def662e7199cb14173.zip
gcc-2b91eb32d64821bbbd8eb9def662e7199cb14173.tar.gz
gcc-2b91eb32d64821bbbd8eb9def662e7199cb14173.tar.bz2
re PR fortran/52452 (INTRINSIC cannot be applied to gfortran's ETIME)
2012-03-02 Tobias Burnus <burnus@net-b.de> PR fortran/52452 * resolve.c (resolve_intrinsic): Don't search for a function if we know that it is a subroutine. 2012-03-02 Tobias Burnus <burnus@net-b.de> PR fortran/52452 * gfortran.dg/intrinsic_8.f90: New. From-SVN: r184778
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/resolve.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/intrinsic_8.f9023
4 files changed, 35 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 4867087..c1f9593 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2012-03-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52452
+ * resolve.c (resolve_intrinsic): Don't search for a
+ function if we know that it is a subroutine.
+
2012-02-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/52386
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 4dcf9b1..824bc25 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -1496,7 +1496,7 @@ resolve_intrinsic (gfc_symbol *sym, locus *loc)
if (sym->intmod_sym_id)
isym = gfc_intrinsic_function_by_id ((gfc_isym_id) sym->intmod_sym_id);
- else
+ else if (!sym->attr.subroutine)
isym = gfc_find_function (sym->name);
if (isym)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b17f456..c8a8f75 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-02 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/52452
+ * gfortran.dg/intrinsic_8.f90: New.
+
2012-03-01 Kai Tietz <ktietz@redhat.com>
* gcc.dg/torture/pr47917.c: Make test using POSIX-printf
diff --git a/gcc/testsuite/gfortran.dg/intrinsic_8.f90 b/gcc/testsuite/gfortran.dg/intrinsic_8.f90
new file mode 100644
index 0000000..a427c70
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/intrinsic_8.f90
@@ -0,0 +1,23 @@
+! { dg-do compile }
+!
+! PR fortran/52452
+!
+! Contributed by Roger Ferrer Ibanez
+!
+PROGRAM test_etime
+ IMPLICIT NONE
+ INTRINSIC :: etime
+ REAL(4) :: tarray(1:2)
+ REAL(4) :: result
+
+ CALL etime(tarray, result)
+END PROGRAM test_etime
+
+subroutine test_etime2
+ IMPLICIT NONE
+ INTRINSIC :: etime
+ REAL(4) :: tarray(1:2)
+ REAL(4) :: result
+
+ result = etime(tarray)
+END subroutine test_etime2