------- Additional Comments From schlie at comcast dot net  2005-05-21 23:31 
-------
(In reply to comment #8)
> Subject: Re:  wrong-code with inlining and type-punned pointer
> > - Then what is the purpose of the this portion of the standard, if
> >    not to clarify the intent that lvalues which only differ in signness
> >    or otherwise compatible qualifications may validly alias each other?
> >
> >   (this is an honest question, I'm not trying to be difficult)
> 
> unsigned and signed types are already in the same aliasing set.
> Just their pointers are in different aliasing set as allowed by the
> standard and this is where the problem is in the code in this bug.

- Thank you, although have to confess that it still eludes me how it's
   logically consistent that an object may be aliased through two different
   pointers which differ only in the signness of the objects they are
   specified to reverence, yet can't themselves be aliased by two different
   pointers which only differ in the signness of the of the dereferenced
   type they point to (since it would seem if X may be aliased by either
   *A or *B, and that *A' may alias A, and *B' may alias B; Then is seems
   to naturally follow that **A' and **B' may both correspondingly alias X;
   therefore it would seem A and B must also be considered to be in the same
   alias set, as otherwise the alias analysis fails to recognize this valid
   possibility, which is the reason the code seems to be miss-compiled)?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21402

Reply via email to