This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: Patch to implement the fortran matmul/transpose optimisation


On Thu, Aug 25, 2005 at 11:20:44AM +0100, Richard Sandiford wrote:
> 
> At the moment, we don't have an easy way of determining the intent
> of an intrinsic function argument.  The patch therefore treats all
> such arguements as having unknown intent.  Thus:
> 
>     b = matmul (transpose (a), a)
> 
> will not be optimised, because we assume that the second argument
> to matmul() might not be intent(in).  This can be cleaned up later
> if we ever have a direct representation of an intrinic function's
> interface.
> 

I don't understand this statement.  All standard intrinsic procedures
are pure (See 13.1).  Section 12.6 in draft F2003 standard I have on 
hand, states

  C1266 The specification-part of a pure function subprogram shall
        specify that all its nonpointer dummy data objects have
        INTENT(IN).

Thus, we know that transpose(a) and a have intent(in) in the above
statement.   What am I missing?

-- 
steve


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]