------- 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

Reply via email to