------- Comment #2 from burnus at gcc dot gnu dot org 2008-01-16 16:34 -------
Found the relevant part in the Fortran standard:
Fortran 2003: "12.4.1.2 Actual arguments associated with dummy data objects"
"If the actual argument is an array section having a vector subscript, the
dummy argument is not definable and shall not have the INTENT (OUT), INTENT
(INOUT), VOLATILE, or ASYNCHRONOUS attributes."
gfortran has this check - but it is not triggered for assignment(=) - or it
happens later than the mismatch.
It would helpful, if you could find the interpretation or re-check the test
case.
(There is a to-be corrected typo:
@@ -2001,7 +2025,7 @@ compare_actual_formal (gfc_actual_arglis
{
if (where)
gfc_error ("Array-section actual argument with vector subscripts "
- "at %L is incompatible with INTENT(IN), INTENT(INOUT) "
+ "at %L is incompatible with INTENT(OUT), INTENT(INOUT) "
"or VOLATILE attribute of the dummy argument '%s'",
&a->expr->where, f->sym->name);
return 0;
)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34805