http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25071
--- Comment #10 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-01-27
09:16:47 UTC ---
(In reply to comment #7)
> Sorry for being 'a bit' late with comments, but IMHO this should be an error
> and not just a warning, because
>
> 2) Other compilers reject it (so we can't argue that we must support this
> common extension)
Well, ifort and pathscale compile w/o warning and g95 with just a warning the
example at: gfortran.fortran-torture/execute/st_function.f90
Thus, for compare_actual_formal I would make a distinction between:
/* Special case for character arguments. For allocatable, pointer
and assumed-shape dummies, the string length needs to match
exactly. */
where I agree that at least for pointer and allocatable an error should be
printed - but probably also for assumed-shape dummies.
And to
if (actual_size != 0
&& actual_size < formal_size
&& a->expr->ts.type != BT_PROCEDURE)
which can be less problematic and where a warning might be sufficient.