On May 5, 2005, at 1:19 PM, schlie at comcast dot net wrote:


------- Additional Comments From schlie at comcast dot net 2005-05-05 17:19 -------
(In reply to comment #2)
"unsigned char *" and "char *" are in two different aliasing sets while char
and unsigned char are in the same one, well char is every aliasing set.

Then I can't help but wonder if it may make sense to reconsider placing
char *, and (un)signed char * in different aliasing sets, as there seems
little if any justifiable reason to generate incorrect code for references to
types which are considered be compatible for assignment. (Just as arguably
it likely makes little sense to generate warnings for the comparison between
pointers to types which differ only in signness for the same reason). As
neither seem particularly useful, and the former is clearly needlessly
potentially dangerious.

Because this is what the standard says is allowed. The standard also says the comparisons and assignment between pointers without a case is invalid code and should be diagnostic. Again this is what the standard says for these things and GCC follows the C standard.

-- Pinski



Reply via email to