+2015-05-24 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/66257
+ * resolve.c (resolve_actual_arglist): Don't throw an error
+ if the argument with procedure pointer component is not a variable.
+
2015-05-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
}
comp = gfc_get_proc_ptr_comp(e);
- if (comp && comp->attr.elemental)
+ if (e->expr_type == EXPR_VARIABLE
+ && comp && comp->attr.elemental)
{
gfc_error ("ELEMENTAL procedure pointer component %qs is not "
"allowed as an actual argument at %L", comp->name,
+2015-05-24 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/66257
+ * typebound_call_27.f90: New file.
+
2015-05-23 Nathan Sidwell <nathan@acm.org>
PR c++/65936
--- /dev/null
+! { dg-do compile }
+!
+! PR fortran/66257
+! Check that typebound function calls are accepted as actual argument.
+!
+MODULE test_class
+ IMPLICIT NONE
+ PRIVATE
+ PUBLIC:: test
+
+ INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(15)
+
+ TYPE test
+ PRIVATE
+ CONTAINS
+ PRIVATE
+ PROCEDURE, PUBLIC:: E
+ PROCEDURE, PUBLIC:: Om
+ END TYPE test
+
+CONTAINS
+
+ ELEMENTAL FUNCTION E (self, a)
+ IMPLICIT NONE
+ CLASS(test), INTENT(IN):: self
+ REAL(kind=dp), INTENT(IN):: a
+ REAL(kind=dp):: E
+
+ E = a
+ END FUNCTION E
+
+ ELEMENTAL FUNCTION Om (self, z)
+ IMPLICIT NONE
+ CLASS(test), INTENT(IN):: self
+ REAL(kind=dp), INTENT(IN):: z
+ REAL(kind=dp):: Om
+
+ Om = self%E(self%E(z))
+ Om = log10(self%E(z))
+ END FUNCTION Om
+END MODULE test_class