]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR fortran/52452 (INTRINSIC cannot be applied to gfortran's ETIME)
authorTobias Burnus <burnus@net-b.de>
Tue, 6 Mar 2012 17:08:01 +0000 (18:08 +0100)
committerTobias Burnus <burnus@gcc.gnu.org>
Tue, 6 Mar 2012 17:08:01 +0000 (18:08 +0100)
2012-03-06  Tobias Burnus  <burnus@net-b.de>

        Backport from mainline
        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-06  Tobias Burnus  <burnus@net-b.de>

        Backport from mainline
        2012-03-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52452
        * gfortran.dg/intrinsic_8.f90: New.

From-SVN: r185005

gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/intrinsic_8.f90 [new file with mode: 0644]

index cbb253654fb28b7e778702568a4c50976d8fc942..6ba084fd8d5ad3701e6fbfc6716ccc83d2886779 100644 (file)
@@ -1,3 +1,12 @@
+2012-03-06  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline
+       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-01  Release Manager
 
        * GCC 4.6.3 released.
index 0ecfa0da46b83c6cf87b5cef6e1c97060984c259..4ee70932bc84f8b6c931851383d0964c4c06ef3a 100644 (file)
@@ -1452,7 +1452,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)
index 567a8deaa4514c69ead2e7d717eec49396ef4c14..a2a21565a6f5e67ef83bf2a5c5ce70dc46650b0e 100644 (file)
@@ -1,3 +1,11 @@
+2012-03-06  Tobias Burnus  <burnus@net-b.de>
+
+       Backport from mainline
+       2012-03-02  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/52452
+       * gfortran.dg/intrinsic_8.f90: New.
+
 2012-03-02  Peter Bergner  <bergner@vnet.ibm.com>
 
        Backport from mainline
diff --git a/gcc/testsuite/gfortran.dg/intrinsic_8.f90 b/gcc/testsuite/gfortran.dg/intrinsic_8.f90
new file mode 100644 (file)
index 0000000..a427c70
--- /dev/null
@@ -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