------- Comment #3 from kargl at gcc dot gnu dot org 2006-07-31 00:23 ------- Andrew, I think it is a bug. The language in section 12.4.1.5 is somewhat convoluted and the description of PRESENT() suggest that PRESENT is special.
>From 12.4.1.5: An optional dummy argument that is not present is subject to the following restrictions: (3) It shall not be supplied as an actual argument corresponding to a nonoptional dummy argument other than as the argument of the PRESENT intrinsic function. (5) If it is an array, it shall not be supplied as an actual argument to an elemental procedure unless an array of the same rank is supplied as an actual argument corresponding to a nonoptional dummy argument of that elemental procedure. 13.14.82 PRESENT (A) Description. Determine whether an optional argument is present. Class. Inquiry function. Argument. 'A' shall be the name of an optional dummy argument that is accessible in the subprogram in which the PRESENT function reference appears. It may be of any type and it may be a pointer. It may be scalar or array valued. It may be a dummy procedure. The dummy argument 'A' has no INTENT attribute. -- kargl at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28548