------- Comment #3 from burnus at gcc dot gnu dot org 2009-10-29 23:09 -------
Hmm, I get regtest failures for elemental procedures:
gfortran.dg/bounds_check_9.f90
gfortran.dg/bounds_check_fail_2.f90
- D.1415 = ivec != 0B ? &(*ivec.0)[(S.10 + 1) * D.1413 + D.1408] : 0B;
- set_optional (&ivec_[S.10], &D.1414, D.1415);
+ set_optional (&ivec_[S.10], &D.1414, &(*ivec.0)[(S.10 + 1) * D.1413+D.1408]);
Dummy:
elemental subroutine set_optional(i,idef,iopt)
integer, intent(in), optional :: iopt
Actual:
integer, intent(in), optional :: ivec(:)
call set_optional(ivec_,(/1,2/))
call set_optional(ivec_,(/1,2/),ivec)
Thus, the problem is that one passes an array to a scalar in form of an
elemental procedure; seemingly, one needs to take care of this special case.
Anything else?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41850