On Mar 29, 2010, at 1:10 PM, Eric Seidel wrote:
> http://trac.webkit.org/changeset/38411 mentions the GCC bug I was referring
> to. I've never seen the Radar so I don't know what it was about exactly.
I see where the confusion is coming from. The GCC bug is not the reason we have
DEFINE_STATIC_LOCAL. Rather, it’s a bug that constrains the implementation of
DEFINE_STATIC_LOCAL.
Originally we had a version of the macro that looked like this:
#define DEFINE_STATIC_LOCAL(type, name, arguments) static type& name = *new
type arguments;
That won’t work because of the GCC bug. Instead we have this:
#define DEFINE_STATIC_LOCAL(type, name, arguments) \
static type* name##Ptr = new type arguments; \
type& name = *name##Ptr
Using a macro for this purpose both lets us have that workaround for the GCC
bug and also makes it possible to experiment with other WebKit-wide changes to
this static global strategy.
-- Darin
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev