Re: More fun with aliasing - removing assignments?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 02, 2005 at 09:57:39AM -0400, Diego Novillo wrote:
> On Tue, Aug 02, 2005 at 09:39:56AM -0400, Daniel Jacobowitz wrote:
> 
> > Then the alias analyzer's broken.
> >
> Broken?  I'm saying that we currently get this right.  I don't
> know what position are you arguing.

Sorry, my mistake.  I'd forgotten that Ian said we got this right in
4.1.

> This code does builds an address location out of an arbitrary integer:
> 
>   unsigned int D.1142_8 = *ptr_1;
>   struct cons *D.1143_9 = (struct cons *) D.1142_8;
>   ptr_10 = &D.1143_9->cdr;
> 
> Does the language allow the creation of address locations out of
> arbitrary integer values?  Is the dereference of such an
> address a defined operation?  If so, then it's simply a matter of
> recognizing this situation when computing points-anywhere
> attributes.

Yes, it does - well, it's implementation defined, but GCC has long
chosen the natural interpretation.  C99 6.3.2.3, paragraph 5.  This is
no different from that classic example, a pointer which escapes via
printf/scanf.

-- 
Daniel Jacobowitz
CodeSourcery, LLC

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux