This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch, fortran] PR22539 implement FSEEK intrinsic
On Friday 04 May 2007 07:49:41 Brooks Moses wrote:
> On Fri, May 04, 2007 at 08:30:30AM +0300, Janne Blomqvist wrote:
> > Jerry DeLisle wrote:
> > > As a possible help for your next phase, look in trans_io.c. There are
> > > examples of checking and converting the UNIT number in
> > > set_parameter_value. If I understand correctly, you set the
> > > destination type and then call convert.
> >
> > I looked into this last weekend, and unfortunately I think it's not as
> > simple as it seems. Based on some quick proof of concept code I
> > experimented with, it seems that this is not possible in the resolve,
> > check or simplify routines. For intrinsic functions the logical place to
> > do this is in trans-intrinsic.c, just plug in the function call into
> > gfc_conv_intrinsic_function (or whatever it was called, the one with a
> > big switch statement testing various GFC_ISYM_FOO) and write the
> > corresponding gfc_conv_intrinsic_foo function. But nothing equivalent
> > exists for subroutines, so it seems one has to start by writing some
> > infrastructure code to handle this.
>
> Yup. The first step is definitely going to be writing an equivalent to
> gfc_conv_intrinsic_function for INTENT(INOUT) subroutine arguments.
>
> I'm pretty sure we've talked about this before, though I don't remember
> if Daniel was around for that conversation or not.
I don't think I was, but I came to the same conclusion when looking for The
Right Place (TM) to fit this in. Good to know that I'm not barking up the
wrong tree :)
On Topic: I'll add the check for the gfc_c_int_kind as I added a similar check
to another intrinsic in some earlier patch. Janne, thanks for the suggestion!
Daniel