On 12 November 2006 04:16, Howard Chu wrote:
> Dave Korn wrote:
>> On 12 November 2006 03:35, Howard Chu wrote:
>>
>>
>>> If we go through the temporary variable v, there's no warning. If we
>>> don't use the temporary variable, we get the "might break" message.
>>>
>>
>> Try
>>
>>
>>> f = (struct foo *)(void *)buf;
>>>
>>
>>
> That's good, but why is it safe?
Passing through void* means gcc has to assume it could alias anything,
IIUIC, as a result of the standard allowing implicit void*<=>T* conversions.
cheers,
DaveK
--
Can't think of a witty .sigline today....