Hi Andrea,

On May 14, 2006, at 7:56 AM, Andrea Mannori wrote:

hi all,
trying to compile webcore and webkit framework with -fstrict- aliasing i get a lot of warning (considered error by default) ignoring them produce an unusefull code, as well as "correct" them (bus error and segmentation fault on start)
is just me?
ther a way to have a solution? i' d like to use this flag to use - ftree-vectorize also (on my g4)

-fstrict-aliasing makes stronger requirements on code correctness than many other optimizations. Specifically, it assumes that locations with different types never reside in the same memory location. That breaks code that does things like this:

void printFloatBits(float f)
{
        float* floatAddr = &f;
        int* intAddr = (int*)floatAddr; // bad! violates strict aliasing rules
        printf("%x", *intAddr);
}

Strict aliasing requires working around this using union types. It would be a good idea to make WebCore safe to use with -fstrict- aliasing and then turn it on in the default build, but it would take significant work.

More generally, it would be cool to try different optimizations that aren't on by defaut and see what effect they have on speed and code size.

Cheers,
Maciej


_______________________________________________
webkit-dev mailing list
[email protected]
http://www.opendarwin.org/mailman/listinfo/webkit-dev

Reply via email to