This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: must_alias question
- From: law at redhat dot com
- To: Jan Hubicka <jh at suse dot cz>
- Cc: Diego Novillo <dnovillo at redhat dot com>, Jan Hubicka <hubicka at ucw dot cz>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Fri, 21 Nov 2003 00:19:07 -0700
- Subject: Re: must_alias question
- Reply-to: law at redhat dot com
In message <20031120203146.GH11681@kam.mff.cuni.cz>, Jan Hubicka writes:
>But for foloowing code:
>
>char global;
>t()
>{
> char *a=global;
> char **b=&a;
> return *a;
>}
>must_alias clears may_point_to_global_mem for variable a based on fact
>that it's address is no longer taken. This looks just wrong.
>the fact that we don't take address of pointer has nothing to do about
>the fact whehtehr it points to global memory or not.
>Or am I missunderstanding semantics of the flag?
Well, it's entire possible the semantics of the flag do not match its
name. I've got a case where we've got a pointer that obviously might
point to global memory, but may_point_to_global_mem is not set for
that variable.
All that code is a freaking mess. It's far from clear to me what it's
doing and why.
jeff