Strict-aliasing in GCC

Ian Lance Taylor iant@google.com
Sun Jun 13 05:12:00 GMT 2010


Jan Engelhardt <jengelh@medozas.de> writes:

> On Saturday 2010-06-12 03:44, Ian Lance Taylor wrote:
>>
>>> Since in this particular case, member is the first field,
>>> one could also write
>>>
>>> 	for (pos = (struct item *)clh.next; ...)
>>>
>>> I hear that
>>>
>>> 	"C specifies that a struct * can be converted to and from a
>>> 	pointer to its first element."
>>>
>>> Does that change anything?
>>
>>Yes, it should generally be OK to cast between a pointer to a struct
>>type and a pointer to the type of the first element of the struct.
>
> So could it be that the aliasing optimizations are overzealous here?

I don't know, because that wasn't what you were doing.

Ian



More information about the Gcc-help mailing list