[Webkit-unassigned] [Bug 36901] RVCT generates incorrect code for method Range::operator== when compiler optimizations are enabled

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Mar 31 17:01:36 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=36901





--- Comment #2 from Darin Adler <darin at apple.com>  2010-03-31 17:01:35 PST ---
(From update of attachment 52214)
It's illegal to dereference a null pointer and make a reference from it. So
code that checks:

    if (!&a || !&b)

is not legal C++. The right way to fix this is to restructure our code so we
don't rely on this sort of illegal C++. It's OK with me to do this
compiler-specific optimization hacking as an interim measure, but it seems like
a bad strategy. Much better would be to eliminate this.

One simple way to do this would be to eliminate the Range operator== entirely
and add a named function (isEqual or areEqual or something along those lines)
that takes range pointers.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list