On Fri, Jan 17, 2014 at 11:32:29PM +0000, David Laight wrote: > If the problem actually caused by gcc failing to pair all the conditionals? > Compiling with 'clazz' a compile-time constant might show things.
I don't think so, and I'll leave a final fix to Christos as maintainer. > Or, if memcpy() is defined in a header file and uses casts to optimise > inlined copies of fixed sizes it might be that the pointer-aliasing > rules mean that the actual structure might not have been written. The copy is of the full size of the relevant structure, but through a (void*) pointer - sounds more like a gcc bug to me. > A possible solution to that is an asm statement with a "memory" > constraint for the buffer areas either side of the actual copy. Since the warning is a false positive, I think we should not tamper with the source too much, besides shutting up the warning via a pragma or whatever (should work with push/pop, but even that is ugly). Christos? Martin