[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: memcpy vs. gcc strict aliasing
In article <200812041526.mB4FQqCw000876%hedwig.cmf.nrl.navy.mil@localhost>,
Ken Hornstein <kenh%cmf.nrl.navy.mil@localhost> wrote:
>>All problems I have seen in this area where (at least) "dubious" casts of
>>the source pointer and always very simple to fix. AFAIR this behaviour
>>(treating builtin memcpy just as a structure assignment) is backed by
>>the standard. Don't use a "struct foo" pointer when the thing it points
>>to is not a struct foo (but only it's bytewise copy in an input stream).
>>Just memcpy with the char pointer as source and a real struct foo as the
>>target, and everything is fine.
>FWIW, the original problem that prompted this thread was clearly not a case
>of casting a random network buffer to a pointer to struct foo. It was
>a struct foo to a struct foo. I can believe that maybe the allocator that
>lint uses isn't aligning things properly (although it seems to try to), and
>that might be causing the problem.
>(A side note - does it make sense to have lint use it's own allocator? Could
>it not simply use malloc()? Are the memory demands by lint that large?)
Which allocator would that be? I think it just wraps malloc.
Main Index |
Thread Index |