<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>191626</bug_id>
          
          <creation_ts>2018-11-14 01:39:11 -0800</creation_ts>
          <short_desc>REGRESSION(r238039) WebCore::JSDOMGlobalObject::createStructure is using JSC::Structure::create without including StructureInlines.h</short_desc>
          <delta_ts>2023-07-12 21:58:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=155657</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=259119</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1478364</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-14 01:39:11 -0800</bug_when>
    <thetext>[WinCairo][Clang] error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot;

WinCairo port clang-cl Release builds 
trunk@238166

&gt; [5823/6291] Linking CXX shared library bin64\TestWebCoreLib.dll
&gt; FAILED: bin64/TestWebCoreLib.dll lib64/TestWebCoreLib.lib 
&gt; cmd.exe /C &quot;cd . &amp;&amp; C:\Users\0000134108\scoop\apps\cmake\3.12.3\bin\cmake.exe -E vs_link_dll --intdir=Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir --manifests  -- C:\PROGRA~2\MIB055~1\2017\PROFES~1\VC\Tools\MSVC\1414~1.264\bin\Hostx64\x64\link.exe /nologo Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\win\main.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\win\TestWebCoreStubs.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\TestsController.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\AffineTransform.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\CalculationValue.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\ComplexTextController.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\CSSParser.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\FloatRect.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\FloatPoint.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\FloatSize.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\GridPosition.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\HTMLParserIdioms.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\IntRect.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\IntPoint.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\IntSize.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\LayoutUnit.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\MIMETypeRegistry.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\ParsedContentRange.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\SecurityOrigin.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\SharedBuffer.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\SharedBufferTest.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\TimeRanges.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\TransformationMatrix.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\URL.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\URLParser.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\win\DIBPixelData.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\win\LinkedFonts.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\curl\Cookies.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\win\BitmapImage.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\CryptoDigest.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\PublicSuffix.cpp.obj  /out:bin64\TestWebCoreLib.dll /implib:lib64\TestWebCoreLib.lib /pdb:bin64\TestWebCoreLib.pdb /dll /version:0.0 /machine:x64 /DEBUG /OPT:ICF /OPT:REF /INCREMENTAL:NO /INCREMENTAL:NO -LIBPATH:C:\webkit\gb\WebKitBuild\Release\lib64  -LIBPATH:C:\webkit\gb\WebKitLibraries\win\lib64 Crypt32.lib D2d1.lib Dwrite.lib dxguid.lib Iphlpapi.lib Psapi.lib Shlwapi.lib Usp10.lib lib64\WebCore.lib WindowsCodecs.lib lib64\gtest.lib ..\..\WebKitLibraries\win\lib64\cairo.lib ..\..\WebKitLibraries\win\lib64\ssl.lib ..\..\WebKitLibraries\win\lib64\crypto.lib lib64\libANGLE.lib mfuuid.lib strmiids.lib vcruntime.lib CFlite.lib ..\..\WebKitLibraries\win\lib64\xml2.lib ..\..\WebKitLibraries\win\lib64\xslt.lib ..\..\WebKitLibraries\win\lib64\sqlite3.lib lib64\PAL.lib lib64\JavaScriptCore.lib ..\..\WebKitLibraries\win\lib64\zlib.lib ..\..\WebKitLibraries\win\lib64\libcurl_imp.lib ..\..\WebKitLibraries\win\lib64\psl.lib ..\..\WebKitLibraries\win\lib64\jpeg.lib ..\..\WebKitLibraries\win\lib64\libpng16.lib ..\..\WebKitLibraries\win\lib64\webp.lib ..\..\WebKitLibraries\win\lib64\webpdemux.lib ..\..\WebKitLibraries\win\lib64\zlib.lib ..\..\WebKitLibraries\win\lib64\libcurl_imp.lib ..\..\WebKitLibraries\win\lib64\psl.lib ..\..\WebKitLibraries\win\lib64\jpeg.lib ..\..\WebKitLibraries\win\lib64\libpng16.lib ..\..\WebKitLibraries\win\lib64\webp.lib ..\..\WebKitLibraries\win\lib64\webpdemux.lib ..\..\WebKitLibraries\win\lib64\cairo.lib ..\..\WebKitLibraries\win\lib64\ssl.lib ..\..\WebKitLibraries\win\lib64\crypto.lib CFLite.lib comctl32.lib crypt32.lib iphlpapi.lib rpcrt4.lib shlwapi.lib usp10.lib version.lib ws2_32.lib lib64\WTF.lib ..\..\WebKitLibraries\win\lib64\icuuc.lib ..\..\WebKitLibraries\win\lib64\icuin.lib DbgHelp.lib CFlite.lib winmm.lib lib64\libEGL.lib lib64\libGLESv2.lib lib64\libANGLE.lib D3d9.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib  &amp;&amp; cd .&quot;
&gt; LINK: command &quot;C:\PROGRA~2\MIB055~1\2017\PROFES~1\VC\Tools\MSVC\1414~1.264\bin\Hostx64\x64\link.exe /nologo Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\win\main.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\win\TestWebCoreStubs.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\TestsController.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\AffineTransform.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\CalculationValue.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\ComplexTextController.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\CSSParser.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\FloatRect.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\FloatPoint.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\FloatSize.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\GridPosition.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\HTMLParserIdioms.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\IntRect.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\IntPoint.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\IntSize.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\LayoutUnit.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\MIMETypeRegistry.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\ParsedContentRange.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\SecurityOrigin.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\SharedBuffer.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\SharedBufferTest.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\TimeRanges.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\TransformationMatrix.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\URL.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\URLParser.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\win\DIBPixelData.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\win\LinkedFonts.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\curl\Cookies.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\win\BitmapImage.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\CryptoDigest.cpp.obj Tools\TestWebKitAPI\CMakeFiles\TestWebCoreLib.dir\Tests\WebCore\PublicSuffix.cpp.obj /out:bin64\TestWebCoreLib.dll /implib:lib64\TestWebCoreLib.lib /pdb:bin64\TestWebCoreLib.pdb /dll /version:0.0 /machine:x64 /DEBUG /OPT:ICF /OPT:REF /INCREMENTAL:NO /INCREMENTAL:NO -LIBPATH:C:\webkit\gb\WebKitBuild\Release\lib64 -LIBPATH:C:\webkit\gb\WebKitLibraries\win\lib64 Crypt32.lib D2d1.lib Dwrite.lib dxguid.lib Iphlpapi.lib Psapi.lib Shlwapi.lib Usp10.lib lib64\WebCore.lib WindowsCodecs.lib lib64\gtest.lib ..\..\WebKitLibraries\win\lib64\cairo.lib ..\..\WebKitLibraries\win\lib64\ssl.lib ..\..\WebKitLibraries\win\lib64\crypto.lib lib64\libANGLE.lib mfuuid.lib strmiids.lib vcruntime.lib CFlite.lib ..\..\WebKitLibraries\win\lib64\xml2.lib ..\..\WebKitLibraries\win\lib64\xslt.lib ..\..\WebKitLibraries\win\lib64\sqlite3.lib lib64\PAL.lib lib64\JavaScriptCore.lib ..\..\WebKitLibraries\win\lib64\zlib.lib ..\..\WebKitLibraries\win\lib64\libcurl_imp.lib ..\..\WebKitLibraries\win\lib64\psl.lib ..\..\WebKitLibraries\win\lib64\jpeg.lib ..\..\WebKitLibraries\win\lib64\libpng16.lib ..\..\WebKitLibraries\win\lib64\webp.lib ..\..\WebKitLibraries\win\lib64\webpdemux.lib ..\..\WebKitLibraries\win\lib64\zlib.lib ..\..\WebKitLibraries\win\lib64\libcurl_imp.lib ..\..\WebKitLibraries\win\lib64\psl.lib ..\..\WebKitLibraries\win\lib64\jpeg.lib ..\..\WebKitLibraries\win\lib64\libpng16.lib ..\..\WebKitLibraries\win\lib64\webp.lib ..\..\WebKitLibraries\win\lib64\webpdemux.lib ..\..\WebKitLibraries\win\lib64\cairo.lib ..\..\WebKitLibraries\win\lib64\ssl.lib ..\..\WebKitLibraries\win\lib64\crypto.lib CFLite.lib comctl32.lib crypt32.lib iphlpapi.lib rpcrt4.lib shlwapi.lib usp10.lib version.lib ws2_32.lib lib64\WTF.lib ..\..\WebKitLibraries\win\lib64\icuuc.lib ..\..\WebKitLibraries\win\lib64\icuin.lib DbgHelp.lib CFlite.lib winmm.lib lib64\libEGL.lib lib64\libGLESv2.lib lib64\libANGLE.lib D3d9.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:bin64\TestWebCoreLib.dll.manifest&quot; failed (exit code 1120) with the following output:
&gt;    Creating library lib64\TestWebCoreLib.lib and object lib64\TestWebCoreLib.exp
&gt; WebCore.lib(UnifiedSource258.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource382.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource282.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(HTMLSelectElementWin.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource220.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource397.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource357.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource231.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource400.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource243.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource218.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource224.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource250.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource217.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource249.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; WebCore.lib(UnifiedSource214.cpp.obj) : error LNK2001: unresolved external symbol &quot;public: static class JSC::Structure * __cdecl JSC::Structure::create(class JSC::VM &amp;,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &amp;,struct JSC::ClassInfo const *,unsigned char,unsigned int)&quot; (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
&gt; bin64\TestWebCoreLib.dll : fatal error LNK1120: 1 unresolved externals


* WinCairo port clang-cl Debug builds have no problem
* It is a inline function defined in JavaScriptCore/runtime/StructureInlines.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478746</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-14 19:20:10 -0800</bug_when>
    <thetext>JSDOMGlobalObject is WEBCORE_EXPORT-ed.

  https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h?rev=238039#L45

WebCore::JSDOMGlobalObject::createStructure is using JSC::Structure::create without including StructureInlines.h.

  https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/bindings/js/JSDOMGlobalObject.h?rev=238039#L87

r238039 is the culprit.

  https://trac.webkit.org/changeset/238039/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478788</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-14 23:48:01 -0800</bug_when>
    <thetext>I found a long discussion.

[webkit-dev] …Inlines.h vs …InlineMethods.h
https://lists.webkit.org/pipermail/webkit-dev/2012-November/022703.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478799</commentid>
    <comment_count>3</comment_count>
      <attachid>354901</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-15 01:14:51 -0800</bug_when>
    <thetext>Created attachment 354901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478854</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-15 06:13:19 -0800</bug_when>
    <thetext>I tested forward inline method declarations with GCC, Clang, MSVC and confirmed they work as expected.

https://godbolt.org/z/slYYOj

This shows it is no problem even if the inline function is defined after it is used.

https://godbolt.org/z/TrUmSL

This shows GCC and Clang report warning if the inline function is not defined.

&gt; &lt;source&gt;:6:16: warning: inline function &apos;bar::y&apos; is not defined [-Wundefined-inline]
&gt;     inline int y();
&gt;                ^
&gt; &lt;source&gt;:12:14: note: used here
&gt;     return b.y(); 
&gt;              ^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479282</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-15 23:08:06 -0800</bug_when>
    <thetext>Could anyone reivew this patch to fix clang-cl builds?
I don&apos;t want to lang this patch without reviewed by JSC forks.

It is safe to move Structure::create to Structure.h because
Structure.h already has code to access VM members.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479292</commentid>
    <comment_count>6</comment_count>
      <attachid>354901</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-11-15 23:51:14 -0800</bug_when>
    <thetext>Comment on attachment 354901
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=354901&amp;action=review

r=me

&gt; Source/JavaScriptCore/runtime/Structure.h:135
&gt; +    inline static Structure* create(VM&amp;, JSGlobalObject*, JSValue prototype, const TypeInfo&amp;, const ClassInfo*, IndexingType = NonArray, unsigned inlineCapacity = 0);

I think this is `inline` is not necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479295</commentid>
    <comment_count>7</comment_count>
      <attachid>354901</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-16 00:12:43 -0800</bug_when>
    <thetext>Comment on attachment 354901
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=354901&amp;action=review

&gt;&gt; Source/JavaScriptCore/runtime/Structure.h:135
&gt;&gt; +    inline static Structure* create(VM&amp;, JSGlobalObject*, JSValue prototype, const TypeInfo&amp;, const ClassInfo*, IndexingType = NonArray, unsigned inlineCapacity = 0);
&gt; 
&gt; I think this is `inline` is not necessary.

Oh😭
I believe this is really nice, and I want to mark all other inline method declarations to match with the definitions.

This was fixed by Mark Lam in Bug 155657.
And, reappeared by r238039.
We need a effective prevention of recurrence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480113</commentid>
    <comment_count>8</comment_count>
      <attachid>355250</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-18 20:24:42 -0800</bug_when>
    <thetext>Created attachment 355250
Patch for landing

Addressed the review feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480121</commentid>
    <comment_count>9</comment_count>
      <attachid>355250</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-11-18 21:23:58 -0800</bug_when>
    <thetext>Comment on attachment 355250
Patch for landing

View in context: https://bugs.webkit.org/attachment.cgi?id=355250&amp;action=review

&gt; Source/JavaScriptCore/runtime/Structure.h:831
&gt; +inline Structure* Structure::create(VM&amp; vm, JSGlobalObject* globalObject, JSValue prototype, const TypeInfo&amp; typeInfo, const ClassInfo* classInfo, IndexingType indexingType, unsigned inlineCapacity)

Would be nice to add a comment above this to indicate why you put it here instead of StructureInlines.h.  I can see someone coming along later and just moving it because there&apos;s no apparent reason why it should not be.  A comment would warn against that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480122</commentid>
    <comment_count>10</comment_count>
      <attachid>355250</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-18 21:24:42 -0800</bug_when>
    <thetext>Comment on attachment 355250
Patch for landing

Clearing flags on attachment: 355250

Committed r238366: &lt;https://trac.webkit.org/changeset/238366&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480123</commentid>
    <comment_count>11</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-18 21:24:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480124</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-18 21:25:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/46161064&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480138</commentid>
    <comment_count>13</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-18 22:18:50 -0800</bug_when>
    <thetext>(In reply to Mark Lam from comment #9)
&gt; Would be nice to add a comment above this to indicate why you put it here
&gt; instead of StructureInlines.h.  I can see someone coming along later and
&gt; just moving it because there&apos;s no apparent reason why it should not be.  A
&gt; comment would warn against that.

My proposal (Comment 7) is much better than just a comment.
If someone will use the inline fuctions without including *Inlines.h, s/he will be busted by a bunch of compilation warnings (Comment 4).
I will file a new bug for the proposal patch you will like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480140</commentid>
    <comment_count>14</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-11-18 22:21:35 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #13)
&gt; (In reply to Mark Lam from comment #9)
&gt; &gt; Would be nice to add a comment above this to indicate why you put it here
&gt; &gt; instead of StructureInlines.h.  I can see someone coming along later and
&gt; &gt; just moving it because there&apos;s no apparent reason why it should not be.  A
&gt; &gt; comment would warn against that.
&gt; 
&gt; My proposal (Comment 7) is much better than just a comment.
&gt; If someone will use the inline fuctions without including *Inlines.h, s/he
&gt; will be busted by a bunch of compilation warnings (Comment 4).
&gt; I will file a new bug for the proposal patch you will like.

Declaring the function as inline doesn&apos;t tell us that we shouldn&apos;t put it in StructureInlines.h.  I think the reason to keep it in Structure.h warrants a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480143</commentid>
    <comment_count>15</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-18 22:38:08 -0800</bug_when>
    <thetext>(In reply to Mark Lam from comment #14)
&gt; Declaring the function as inline doesn&apos;t tell us that we shouldn&apos;t put it in
&gt; StructureInlines.h.  I think the reason to keep it in Structure.h warrants a
&gt; comment.

There is no problem for me adding a comment.
What comment do you want to add in this case?

The reason why we can&apos;t put it in StructureInlines.h is that
r238039 reverted your change (Bug 155657) for macOS internal builds.

  https://trac.webkit.org/changeset/238039/

Your change was absolutely right because
WebCore::JSDOMGlobalObject::createStructure is using
JSC::Structure::create.

If JSDOMGlobalObject.h properly includes StructureInlines.h, we
don&apos;t have any reason not to put the inline function in
StructureInlines.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480147</commentid>
    <comment_count>16</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-11-18 23:14:08 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #15)
&gt; (In reply to Mark Lam from comment #14)
&gt; &gt; Declaring the function as inline doesn&apos;t tell us that we shouldn&apos;t put it in
&gt; &gt; StructureInlines.h.  I think the reason to keep it in Structure.h warrants a
&gt; &gt; comment.
&gt; 
&gt; There is no problem for me adding a comment.
&gt; What comment do you want to add in this case?
&gt; 
&gt; The reason why we can&apos;t put it in StructureInlines.h is that
&gt; r238039 reverted your change (Bug 155657) for macOS internal builds.
&gt; 
&gt;   https://trac.webkit.org/changeset/238039/
&gt; 
&gt; Your change was absolutely right because
&gt; WebCore::JSDOMGlobalObject::createStructure is using
&gt; JSC::Structure::create.
&gt; 
&gt; If JSDOMGlobalObject.h properly includes StructureInlines.h, we
&gt; don&apos;t have any reason not to put the inline function in
&gt; StructureInlines.h.

Just to clarify, I think a comment is necessary because:
1. Mac builds were never broken i.e. we&apos;re not seeing a linker error.
2. The only way we don&apos;t see a linker error is because our compilation sees the correct Structure::create() definition from StructureInlines.h.
3. The reason we see the correct definition is probably because Mac builds use unified sources, and we lucked out on inadvertantly #include&apos;ing StructureInlines.h.

Hence, while adding the &quot;inline&quot; declaration could trigger a compilation error if StructureInlines.h is not #include&apos;d, luck would have it that Mac (and probably linux) builds won&apos;t see this error.  Only Windows build would.  Basically, if we&apos;re not seeing a linker error before, we won&apos;t see a compilation error as you would on the Windows build.

I also think that Chris&apos; fix in r238039 is correct.  JSDOMGlobalObject.h should not #include a Inlines.h file (I was wrong).  No non-Inlines .h file should #include a Inlines.h file.  The standard approach to fixing the Windows build breakage should be to #include &quot;StructureInlines.h&quot; in all the .cpp files that need it, or maybe to #include it in JSCInlines.h.

However, I&apos;m willing to go with your solution because of the reason you gave in the ChangeLog.  But, to prevent someone from moving the definition back into StructureInlines.h (because Mac/linux builds don&apos;t see the build breakage), I think a comment would help.

As for the comment, I was thinking of something like this:

&quot;We deliberately putting Structure::create here in Structure.h instead of StructureInlines.h, because it is used everywhere. This is so we don&apos;t have to hunt down all the places where we would need to #include StructureInlines.h otherwise.&quot;

Does this clarify my point?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480150</commentid>
    <comment_count>17</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-11-18 23:17:28 -0800</bug_when>
    <thetext>(In reply to Mark Lam from comment #16)
&gt; As for the comment, I was thinking of something like this:
&gt; 
&gt; &quot;We deliberately putting Structure::create here in Structure.h instead of
&gt; StructureInlines.h, because it is used everywhere. This is so we don&apos;t have
&gt; to hunt down all the places where we would need to #include
&gt; StructureInlines.h otherwise.&quot;

Typo:  I meant to say:

&quot;We deliberately put Structure::create here in Structure.h instead of StructureInlines.h, because it is used everywhere. This is so we don&apos;t have to hunt down all the places where we would need to #include StructureInlines.h otherwise.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480165</commentid>
    <comment_count>18</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-19 00:58:44 -0800</bug_when>
    <thetext>If I mark JSC::Structure::create declaration &apos;inline&apos;, mac port
can&apos;t compile. (it is using -Werror to convert warnings to
errors. I tested with r238365.)

&gt; CompileC /Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/Objects-normal/x86_64/LLIntOffsetsExtractor.o llint/LLIntOffsetsExtractor.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
&gt;     cd /Users/fujii/work/webkit/g1/Source/JavaScriptCore
&gt;     export LANG=en_US.US-ASCII
&gt;     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu++14 -stdlib=libc++ -Wno-trigraphs -fno-exceptions -fno-rtti -fno-sanitize=vptr -fpascal-strings -O3 -fno-common -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wdocumentation -Wunreachable-code -Wnon-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-c++11-extensions -DNDEBUG -DENABLE_3D_TRANSFORMS -DENABLE_APPLE_PAY -DENABLE_APPLE_PAY_SESSION_V3 -DENABLE_APPLE_PAY_SESSION_V4 -DENABLE_APPLICATION_MANIFEST -DENABLE_ATTACHMENT_ELEMENT -DENABLE_AVF_CAPTIONS -DENABLE_CACHE_PARTITIONING -DENABLE_CHANNEL_MESSAGING -DENABLE_CONTENT_FILTERING -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_COMPOSITING -DENABLE_CSS_PAINTING_API -DENABLE_CSS_SCROLL_SNAP -DENABLE_CSS_SELECTORS_LEVEL4 -DENABLE_CSS_TRAILING_WORD -DENABLE_CURSOR_VISIBILITY -DENABLE_CSS_CONIC_GRADIENTS -DENABLE_DARK_MODE_CSS -DENABLE_DASHBOARD_SUPPORT -DENABLE_DATACUE_VALUE -DENABLE_DATALIST_ELEMENT -DENABLE_ENCRYPTED_MEDIA -DENABLE_EXPERIMENTAL_FEATURES -DENABLE_FILTERS_LEVEL_2 -DENABLE_FTL_JIT -DENABLE_FULLSCREEN_API -DENABLE_GAMEPAD -DENABLE_GEOLOCATION -DENABLE_ICONDATABASE -DENABLE_INDEXED_DATABASE -DENABLE_INDEXED_DATABASE_IN_WORKERS -DENABLE_INPUT_TYPE_COLOR -DENABLE_INTERSECTION_OBSERVER -DENABLE_INTL -DENABLE_KEYBOARD_CODE_ATTRIBUTE -DENABLE_KEYBOARD_KEY_ATTRIBUTE -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_LEGACY_CUSTOM_PROTOCOL_MANAGER -DENABLE_LEGACY_ENCRYPTED_MEDIA -DENABLE_MATHML -DENABLE_MEDIA_CONTROLS_SCRIPT -DENABLE_MEDIA_SOURCE -DENABLE_MEDIA_STREAM -DENABLE_METER_ELEMENT -DENABLE_MOUSE_CURSOR_SCALE -DENABLE_NOTIFICATIONS -DENABLE_PAYMENT_REQUEST -DENABLE_PDFKIT_PLUGIN -DENABLE_POINTER_LOCK -DENABLE_PUBLIC_SUFFIX_LIST -DENABLE_REMOTE_INSPECTOR -DENABLE_RESOURCE_USAGE -DENABLE_RUBBER_BANDING -DENABLE_SERVICE_CONTROLS -DENABLE_SERVICE_WORKER -DENABLE_SPEECH_SYNTHESIS -DENABLE_STREAMS_API -DENABLE_SUBTLE_CRYPTO -DENABLE_SVG_FONTS -DENABLE_TELEPHONE_NUMBER_DETECTION -DENABLE_TEXT_AUTOSIZING -DENABLE_USER_MESSAGE_HANDLERS -DENABLE_USERSELECT_ALL -DENABLE_VARIATION_FONTS -DENABLE_VIDEO -DENABLE_VIDEO_PRESENTATION_MODE -DENABLE_VIDEO_TRACK -DENABLE_VIDEO_USES_ELEMENT_FULLSCREEN -DENABLE_WEB_AUDIO -DENABLE_WEB_AUTHN -DENABLE_WEB_RTC -DENABLE_WEBGL -DENABLE_WEBGL2 -DENABLE_WEBGPU -DENABLE_WEBMETAL -DENABLE_WIRELESS_PLAYBACK_TARGET -DENABLE_XSLT -DU_HIDE_DEPRECATED_API -DU_DISABLE_RENAMING=1 -DU_SHOW_CPLUSPLUS_API=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.14 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -iquote /Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/JSCLLIntOffsetsExtractor-generated-files.hmap -I/Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/JSCLLIntOffsetsExtractor-own-target-headers.hmap -I/Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/JSCLLIntOffsetsExtractor-all-target-headers.hmap -iquote /Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/JSCLLIntOffsetsExtractor-project-headers.hmap -I/Users/fujii/work/webkit/g1/WebKitBuild/Release/include -I/Users/fujii/work/webkit/g1/WebKitBuild/Release/DerivedSources/JavaScriptCore -I/Users/fujii/work/webkit/g1/WebKitBuild/Release/LLIntOffsets/x86_64 -I/System/Library/Frameworks/JavaScriptCore.framework/PrivateHeaders -I. -I/Users/fujii/work/webkit/g1/WebKitBuild/Release/usr/local/include -I/Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/DerivedSources/x86_64 -I/Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/DerivedSources -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough -F/Users/fujii/work/webkit/g1/WebKitBuild/Release -isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/System.framework/PrivateHeaders -MMD -MT dependencies -MF /Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/Objects-normal/x86_64/LLIntOffsetsExtractor.d --serialize-diagnostics /Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/Objects-normal/x86_64/LLIntOffsetsExtractor.dia -c /Users/fujii/work/webkit/g1/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp -o /Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/Objects-normal/x86_64/LLIntOffsetsExtractor.o
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:29:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/bytecode/ArrayProfile.h:29:
&gt; /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/Structure.h:135:30: error: inline function &apos;JSC::Structure::create&apos; is not defined [-Werror,-Wundefined-inline]
&gt;     inline static Structure* create(VM&amp;, JSGlobalObject*, JSValue prototype, const TypeInfo&amp;, const ClassInfo*, IndexingType = NonArray, unsigned inlineCapacity = 0);
&gt;                              ^
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:31:
&gt; In file included from /Users/fujii/work/webkit/g1/WebKitBuild/Release/DerivedSources/JavaScriptCore/BytecodeStructs.h:32:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/bytecode/BytecodeDumper.h:29:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/bytecode/CallLinkInfo.h:31:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.h:30:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/bytecode/CallEdge.h:28:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/bytecode/CallVariant.h:28:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/FunctionExecutable.h:29:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/ScriptExecutable.h:28:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/ExecutableBase.h:33:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/JSGlobalObject.h:24:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/bytecode/ArrayAllocationProfile.h:29:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/JSArray.h:25:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/ButterflyInlines.h:30:
&gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/JSObject.h:32:
&gt; /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/CustomGetterSetter.h:56:27: note: used here
&gt;         return Structure::create(vm, globalObject, prototype, TypeInfo(CustomGetterSetterType, StructureFlags), info());
&gt;                           ^
&gt; 1 error generated.

This means JSC::Structure::create might happen to be not inlined, but become a normal function call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480262</commentid>
    <comment_count>19</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-11-19 11:17:03 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #18)
&gt; If I mark JSC::Structure::create declaration &apos;inline&apos;, mac port
&gt; can&apos;t compile. (it is using -Werror to convert warnings to
&gt; errors. I tested with r238365.)
&gt; 
&gt; &gt; CompileC /Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/Objects-normal/x86_64/LLIntOffsetsExtractor.o llint/LLIntOffsetsExtractor.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
&gt; &gt;     cd /Users/fujii/work/webkit/g1/Source/JavaScriptCore
... /Users/fujii/work/webkit/g1/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp -o /Users/fujii/work/webkit/g1/WebKitBuild/JavaScriptCore.build/Release/JSCLLIntOffsetsExtractor.build/Objects-normal/x86_64/LLIntOffsetsExtractor.o
&gt; &gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:29:
&gt; &gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/bytecode/ArrayProfile.h:29:
&gt; &gt; /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/Structure.h:135:30: error: inline function &apos;JSC::Structure::create&apos; is not defined [-Werror,-Wundefined-inline]
&gt; &gt;     inline static Structure* create(VM&amp;, JSGlobalObject*, JSValue prototype, const TypeInfo&amp;, const ClassInfo*, IndexingType = NonArray, unsigned inlineCapacity = 0);
&gt; &gt;                              ^
&gt; &gt; In file included from /Users/fujii/work/webkit/g1/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:31:
...
&gt; &gt; /Users/fujii/work/webkit/g1/Source/JavaScriptCore/runtime/CustomGetterSetter.h:56:27: note: used here
&gt; &gt;         return Structure::create(vm, globalObject, prototype, TypeInfo(CustomGetterSetterType, StructureFlags), info());
&gt; &gt;                           ^
&gt; &gt; 1 error generated.
&gt; 
&gt; This means JSC::Structure::create might happen to be not inlined, but become
&gt; a normal function call.

Interesting.  However, because we were not getting link errors before, this only means that all these files (that now have a compilation error) does not really need the implementation of Structure::create() i.e. Structure::create() might be referenced by other inline methods, but those methods were never use in these files; else, we would have seen a link error.  I can see someone &quot;fixing&quot; this compilation error by naively *removing* the inline declaration on Structure::create() (especially since it appears to be redundant).  I still think a comment would help reduce the chance of this regressing, but I understand that the inline declaration you added does help raise a significant red flag to deter such a move.

I believe I&apos;ve made my point.  I&apos;ll leave it to you as to whether you want to add the comment or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480404</commentid>
    <comment_count>20</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-20 00:07:54 -0800</bug_when>
    <thetext>Thank you very much for the explanation. It makes sense. I am going to add the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480405</commentid>
    <comment_count>21</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-20 00:16:34 -0800</bug_when>
    <thetext>Committed r238392: &lt;https://trac.webkit.org/changeset/238392&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354901</attachid>
            <date>2018-11-15 01:14:51 -0800</date>
            <delta_ts>2018-11-18 20:24:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191626-20181115181449.patch</filename>
            <type>text/plain</type>
            <size>3649</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MjE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NmI2ODgzZjcxNmM0ZGZhOTU3OThkYzBlYjNiZmZmYjYxNjAyNjE2Li44MDNkZGI3NzY1ZGEyYWVm
MzUzZmNkZTgyZGU0N2Y4ZDI5NTJmYzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxOC0xMS0xNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyMzgwMzkpIFdlYkNvcmU6OkpTRE9NR2xv
YmFsT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUgaXMgdXNpbmcgSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0
ZSB3aXRob3V0IGluY2x1ZGluZyBTdHJ1Y3R1cmVJbmxpbmVzLmgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTYyNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUgaXMg
dXNlZCBldmVyeXdoZXJlLiBJdCBzaG91bGQgYmUgZGVmaW5lZCBpbgorICAgICAgICBTdHJ1Y3R1
cmUuaCwgbm90IGluIFN0cnVjdHVyZUlubGluZXMuaC4KKworICAgICAgICAqIHJ1bnRpbWUvU3Ry
dWN0dXJlLmg6IE1hcmtlZCBKU0M6OlN0cnVjdHVyZTo6Y3JlYXRlIGRlY2xhcmF0aW9uCisgICAg
ICAgICdpbmxpbmUnIHRvIG1hdGNoIHdpdGggdGhlIGRlZmluaXRpb24gdG8gcHJldmVudCBmdXR1
cmUKKyAgICAgICAgcmVncmVzc2lvbnMuCisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Y3JlYXRl
KTogTW92ZWQuCisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmg6IE1vdmVkIEpT
Qzo6U3RydWN0dXJlOjpjcmVhdGUuCisKIDIwMTgtMTEtMTQgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBQYXNzIEluc3BlY3Rv
cjo6RnJvbnRlbmRDaGFubmVsIGFzIGEgcmVmZXJlbmNlIGNvbm5lY3QvZGlzY29ubmVjdCBtZXRo
b2RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCmluZGV4IGI2NGUy
M2E2NmQzY2I5MDcxNmIwY2U2NzBmNTE5NWM1Y2FhYmI4NGMuLjA3NDYwODA0NmJiNDQzMzdiMGM0
ZGQwN2UzZjNlOWMzOWRiYWExYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0
cnVjdHVyZS5oCkBAIC0xMzIsNyArMTMyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgU3RydWN0dXJl
SXNJbW1vcnRhbDsKICAgICAKICAgICBlbnVtIFBvbHlQcm90b1RhZyB7IFBvbHlQcm90byB9Owot
ICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1
ZSBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdU
eXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CisgICAgaW5saW5l
IHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBw
cm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBl
ID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAgICAgc3RhdGljIFN0
cnVjdHVyZSogY3JlYXRlKFBvbHlQcm90b1RhZywgVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2Jq
ZWN0KiBwcm90b3R5cGUsIGNvbnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhp
bmdUeXBlID0gTm9uQXJyYXksIHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gMCk7CiAKICAgICB+
U3RydWN0dXJlKCk7CkBAIC04MjgsNCArODI4LDEzIEBAIHByaXZhdGU6CiAgICAgdWludDMyX3Qg
bV9wcm9wZXJ0eUhhc2g7CiB9OwogCitpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0
ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBl
LCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBJ
bmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSkKK3sKKyAg
ICBBU1NFUlQodm0uc3RydWN0dXJlU3RydWN0dXJlKTsKKyAgICBBU1NFUlQoY2xhc3NJbmZvKTsK
KyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFN0
cnVjdHVyZT4odm0uaGVhcCkpIFN0cnVjdHVyZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5saW5lQ2FwYWNpdHkpOworICAg
IHN0cnVjdHVyZS0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgIHJldHVybiBzdHJ1Y3R1cmU7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlSW5saW5lcy5oCmluZGV4IGQ3NmRmODc2M2U4MTI0MTQ0MTE2ZDVmNTQxMjY4
ZmU0NTI2OGUzNDkuLmIzZWIxYjQxZTlmMWM3ODFlOTZmMDIyOTA1MTAwMGUwNDI3MDVkNWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgK
QEAgLTM0LDE1ICszNCw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1pbmxpbmUgU3RydWN0dXJl
KiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTVmFsdWUgcHJvdG90eXBlLCBjb25zdCBUeXBlSW5mbyYgdHlwZUluZm8sIGNvbnN0IENsYXNz
SW5mbyogY2xhc3NJbmZvLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBpbmxp
bmVDYXBhY2l0eSkKLXsKLSAgICBBU1NFUlQodm0uc3RydWN0dXJlU3RydWN0dXJlKTsKLSAgICBB
U1NFUlQoY2xhc3NJbmZvKTsKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPFN0cnVjdHVyZT4odm0uaGVhcCkpIFN0cnVjdHVyZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIHR5cGVJbmZvLCBjbGFzc0luZm8sIGluZGV4aW5nVHlwZSwgaW5s
aW5lQ2FwYWNpdHkpOwotICAgIHN0cnVjdHVyZS0+ZmluaXNoQ3JlYXRpb24odm0pOwotICAgIHJl
dHVybiBzdHJ1Y3R1cmU7Ci19Ci0KIGlubGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRl
U3RydWN0dXJlKFZNJiB2bSkKIHsKICAgICBBU1NFUlQoIXZtLnN0cnVjdHVyZVN0cnVjdHVyZSk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355250</attachid>
            <date>2018-11-18 20:24:42 -0800</date>
            <delta_ts>2018-11-18 20:25:21 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-191626-20181119132441.patch</filename>
            <type>text/plain</type>
            <size>2792</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MzY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZjZmZTU1NTc0ZmJjZTVmYWNlZDU5YjBiNzRlMTFlNWQ0NGZkZjQyLi45OTBkYjI5NzdkNmMwYjI5
ZDU3NTgwZGM0YjBhMGNlN2ZhNzVmMjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOC0xMS0xOCAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyMzgwMzkpIFdlYkNvcmU6OkpTRE9NR2xv
YmFsT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUgaXMgdXNpbmcgSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0
ZSB3aXRob3V0IGluY2x1ZGluZyBTdHJ1Y3R1cmVJbmxpbmVzLmgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTYyNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSBpcyB1
c2VkIGV2ZXJ5d2hlcmUuIEl0IHNob3VsZCBiZSBkZWZpbmVkIGluCisgICAgICAgIFN0cnVjdHVy
ZS5oLCBub3QgaW4gU3RydWN0dXJlSW5saW5lcy5oLgorCisgICAgICAgICogcnVudGltZS9TdHJ1
Y3R1cmUuaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjcmVhdGUpOiBNb3ZlZC4KKyAgICAg
ICAgKiBydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaDogTW92ZWQgSlNDOjpTdHJ1Y3R1cmU6OmNy
ZWF0ZS4KKwogMjAxOC0xMS0xOCAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1enVraUBzbG93c3Rh
cnQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgaW4gdGhlIHJlc3Qgb2YgcjIz
NzI1NApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAppbmRleCBiNjRl
MjNhNjZkM2NiOTA3MTZiMGNlNjcwZjUxOTVjNWNhYWJiODRjLi5hMDJlYWEwMzY5ZGMzMWRkZWZh
YjNjZjUzZDc2ZGRjNDFmMjY0NWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmUuaApAQCAtODI4LDQgKzgyOCwxMyBAQCBwcml2YXRlOgogICAgIHVpbnQzMl90IG1f
cHJvcGVydHlIYXNoOwogfTsKIAoraW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSwg
Y29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSW5k
ZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkpCit7CisgICAg
QVNTRVJUKHZtLnN0cnVjdHVyZVN0cnVjdHVyZSk7CisgICAgQVNTRVJUKGNsYXNzSW5mbyk7Cisg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1
Y3R1cmU+KHZtLmhlYXApKSBTdHJ1Y3R1cmUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCB0
eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGluZUNhcGFjaXR5KTsKKyAgICBz
dHJ1Y3R1cmUtPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICByZXR1cm4gc3RydWN0dXJlOworfQor
CiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZUlubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZUlubGluZXMuaAppbmRleCBkNzZkZjg3NjNlODEyNDE0NDExNmQ1ZjU0MTI2OGZl
NDUyNjhlMzQ5Li5iM2ViMWI0MWU5ZjFjNzgxZTk2ZjAyMjkwNTEwMDBlMDQyNzA1ZDVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCkBA
IC0zNCwxNSArMzQsNiBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotaW5saW5lIFN0cnVjdHVyZSog
U3RydWN0dXJlOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBK
U1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlwZUluZm8mIHR5cGVJbmZvLCBjb25zdCBDbGFzc0lu
Zm8qIGNsYXNzSW5mbywgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSwgdW5zaWduZWQgaW5saW5l
Q2FwYWNpdHkpCi17Ci0gICAgQVNTRVJUKHZtLnN0cnVjdHVyZVN0cnVjdHVyZSk7Ci0gICAgQVNT
RVJUKGNsYXNzSW5mbyk7Ci0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGws
IGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmU+KHZtLmhlYXApKSBTdHJ1Y3R1cmUodm0sIGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCB0eXBlSW5mbywgY2xhc3NJbmZvLCBpbmRleGluZ1R5cGUsIGlubGlu
ZUNhcGFjaXR5KTsKLSAgICBzdHJ1Y3R1cmUtPmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICByZXR1
cm4gc3RydWN0dXJlOwotfQotCiBpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZVN0
cnVjdHVyZShWTSYgdm0pCiB7CiAgICAgQVNTRVJUKCF2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>