SOFT_LINK_POINTER_OPTIONAL isn't optional.
SOFT_LINK_POINTER_OPTIONAL was intended to be optional, but would crash if the requested symbol was not present in the passed in framework, in the same way SOFT_LINK_POINTER would.
Created attachment 98582 [details] Patch
Comment on attachment 98582 [details] Patch r=me
Comment on attachment 98582 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=98582&action=review > Source/WebCore/platform/mac/SoftLinking.h:141 > - pointer##name = static_cast<type>(*pointer); \ > + if (pointer) \ > + pointer##name = static_cast<type>(*pointer); \ Looks OK. I guess that pointer##name is a global and so is guaranteed to be initialized to zero.
Comment on attachment 98582 [details] Patch Clearing flags on attachment: 98582 Committed r89748: <http://trac.webkit.org/changeset/89748>
All reviewed patches have been landed. Closing bug.
Comment on attachment 98582 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=98582&action=review >> Source/WebCore/platform/mac/SoftLinking.h:141 >> + pointer##name = static_cast<type>(*pointer); \ > > Looks OK. I guess that pointer##name is a global and so is guaranteed to be initialized to zero. Yup, global static. Thanks!