This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Re:
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Dale Johannesen <dalej at apple dot com>
- Cc: Devang Patel <dpatel at apple dot com>, gcc at gcc dot gnu dot org
- Date: Fri, 24 Sep 2004 22:59:40 -0400
- Subject: Re: Re:
- References: <044DA5B8-0E8E-11D9-80A2-000A95D7CD40@apple.com> <9D4EDFF8-0E91-11D9-AC54-000393A91CAA@apple.com> <B162901D-0E9B-11D9-A7CE-000A95D7D16C@apple.com>
On Fri, 2004-09-24 at 19:36 -0700, Dale Johannesen wrote:
> On Sep 24, 2004, at 6:24 PM, Devang Patel wrote:
> > On Sep 24, 2004, at 5:58 PM, Dale Johannesen wrote:
> >> I'm tracking down a crash I'm getting locally. It's not clear yet
> >> this is connected,
> >> but I see a tree of this form in the Gimple and SSA dumps:
> >>
> >> *pTmp4<D6472> = __NAGf90_dcdivdc (*pTmp2<D6470>, *pTmp3<D6471>);
> >>
> >> The Gimple doc does not allow a pointer deref in a function argument.
> >> Is is supposed to?
> >
> > It says CALL_EXPR arguments are valid LHS. So it allows. I am reading
> > comment at the beginning of tree-gimple.c
>
> Thanks, I was looking at tree-ssa.texi:
>
> call-stmt: CALL_EXPR
> op0 -> _DECL | '&' _DECL
> op1 -> arglist
> arglist:
> NULL_TREE
> | TREE_LIST
> op0 -> val
> op1 -> arglist
> val : _DECL | CONST
>
> There seem to be a number of differences. Apparently the
> tree-ssa.texi version is older, as it's
> closer (but not identical) to the summit paper, but some nits have
> crept in. The version in
> tree-gimple.c doesn't seem to allow ADDR_EXPR, but clearly it has to:
>
> __NAGf90_write (6, &FMT_129<D6540>, -1, 0B, 0, 0);
>
Actually, it *doesn't* allow random ADDR_EXPR.
We consider min_invariant things to be CONST.
That's why you see &<something> in the arglist, becuase it's invariant.
Random ADDR_EXPR's are *NOT* allowed in the call argument list, nor
should they be.
--