Bug 189539 - [Win][Clang][WebKitLegacy] error: 'static' is invalid in friend declarations
Summary: [Win][Clang][WebKitLegacy] error: 'static' is invalid in friend declarations
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
Depends on:
Blocks: 171618
  Show dependency treegraph
 
Reported: 2018-09-12 00:27 PDT by Fujii Hironori
Modified: 2018-09-12 09:21 PDT (History)
7 users (show)

See Also:


Attachments
Patch (2.75 KB, patch)
2018-09-12 00:41 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Patch (3.78 KB, patch)
2018-09-12 02:33 PDT, Fujii Hironori
no flags Details | Formatted Diff | Diff
Archive of layout-test-results from ews104 for mac-sierra-wk2 (3.23 MB, application/zip)
2018-09-12 03:48 PDT, EWS Watchlist
no flags Details
Archive of layout-test-results from ews200 for win-future (12.91 MB, application/zip)
2018-09-12 06:09 PDT, EWS Watchlist
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2018-09-12 00:27:29 PDT
[Win][Clang][WebKitLegacy] error: 'static' is invalid in friend declarations

While trying to build WebKit WinCairo port with the latest Clang (Bug 171618),
the following compilation errors are reported.

> In file included from ..\..\Source\WebKitLegacy\win\WebNodeHighlight.cpp:29:
> ..\..\Source\WebKitLegacy\win/WebNodeHighlight.h(69,12):  error: 'static' is invalid in friend declarations
>     friend static LRESULT CALLBACK OverlayWndProc(HWND, UINT, WPARAM, LPARAM);
           ^~~~~~~
> FAILED: Source/WebKitLegacy/CMakeFiles/WebKitLegacy.dir/cf/WebCoreSupport/WebInspectorClientCF.cpp.obj 
> C:\tools\llvm\bin\clang-cl.exe  /nologo -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebKitLegacy -DFRAMEWORK_NAME=WebKitLegacy -DHAVE_CONFIG_H=1 -DNOMINMAX -DUCHAR_TYPE=wchar_t -DUNICODE -DUSE_CAIRO=1 -DUSE_CURL=1 -DWEBKIT_EXPORTS -DWEBKIT_EXPORTS=1 -DWINVER=0x601 -DWTF_PLATFORM_WIN_CAIRO=1 -DWebKitLegacy_EXPORTS -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_UNICODE -D_WIN32_WINNT=0x601 -D_WINDOWS -D_WINSOCKAPI_="" -I..\..\WebKitLibraries\win\include -I. -I..\..\Source\WebKitLegacy\Storage -I..\..\Source\WebKitLegacy\WebCoreSupport -IDerivedSources\ForwardingHeaders -I..\..\WebKitLibraries\win\include\cairo -I..\..\Source\WebCore\platform\graphics\cairo -I..\include\private -I..\include\private\JavaScriptCore -I..\include\private\WebCore -I..\..\Source\WebKitLegacy\win -I..\..\Source\WebKitLegacy\win\plugins -I..\..\Source\WebKitLegacy\win\WebCoreSupport -IDerivedSources\WebKitLegacy\include -IDerivedSources\WebKitLegacy\Interfaces -IDerivedSources\ForwardingHeaders\ANGLE -IDerivedSources\ForwardingHeaders\ANGLE\include -IDerivedSources\ForwardingHeaders\ANGLE\include\egl -IDerivedSources\ForwardingHeaders\ANGLE\include\khr -IDerivedSources\WebKitLegacy -I..\..\Source\bmalloc -IDerivedSources -I..\..\Source\ThirdParty -I..\..\Source\WebCore -I..\..\Source\WebCore\Modules\airplay -I..\..\Source\WebCore\Modules\beacon -I..\..\Source\WebCore\Modules\applepay -I..\..\Source\WebCore\Modules\applepay\paymentrequest -I..\..\Source\WebCore\Modules\cache -I..\..\Source\WebCore\Modules\credentialmanagement -I..\..\Source\WebCore\Modules\encryptedmedia -I..\..\Source\WebCore\Modules\encryptedmedia\legacy -I..\..\Source\WebCore\Modules\entriesapi -I..\..\Source\WebCore\Modules\fetch -I..\..\Source\WebCore\Modules\geolocation -I..\..\Source\WebCore\Modules\indexeddb -I..\..\Source\WebCore\Modules\indexeddb\client -I..\..\Source\WebCore\Modules\indexeddb\server -I..\..\Source\WebCore\Modules\indexeddb\shared -I..\..\Source\WebCore\Modules\mediacapabilities -I..\..\Source\WebCore\Modules\mediacontrols -I..\..\Source\WebCore\Modules\mediasession -I..\..\Source\WebCore\Modules\mediasource -I..\..\Source\WebCore\Modules\mediastream -I..\..\Source\WebCore\Modules\navigatorcontentutils -I..\..\Source\WebCore\Modules\notifications -I..\..\Source\WebCore\Modules\paymentrequest -I..\..\Source\WebCore\Modules\plugins -I..\..\Source\WebCore\Modules\quota -I..\..\Source\WebCore\Modules\speech -I..\..\Source\WebCore\Modules\streams -I..\..\Source\WebCore\Modules\webaudio -I..\..\Source\WebCore\Modules\webauthn -I..\..\Source\WebCore\Modules\webdatabase -I..\..\Source\WebCore\Modules\webdriver -I..\..\Source\WebCore\Modules\websockets -I..\..\Source\WebCore\Modules\webvr -I..\..\Source\WebCore\accessibility -I..\..\Source\WebCore\animation -I..\..\Source\WebCore\bindings -I..\..\Source\WebCore\bindings\js -I..\..\Source\WebCore\bridge -I..\..\Source\WebCore\bridge\c -I..\..\Source\WebCore\bridge\jsc -I..\..\Source\WebCore\contentextensions -I..\..\Source\WebCore\crypto -I..\..\Source\WebCore\crypto\algorithms -I..\..\Source\WebCore\crypto\keys -I..\..\Source\WebCore\crypto\parameters -I..\..\Source\WebCore\css -I..\..\Source\WebCore\css\parser -I..\..\Source\WebCore\cssjit -I..\..\Source\WebCore\dom -I..\..\Source\WebCore\dom\default -I..\..\Source\WebCore\dom\messageports -I..\..\Source\WebCore\domjit -I..\..\Source\WebCore\editing -I..\..\Source\WebCore\fileapi -I..\..\Source\WebCore\history -I..\..\Source\WebCore\html -I..\..\Source\WebCore\html\canvas -I..\..\Source\WebCore\html\forms -I..\..\Source\WebCore\html\parser -I..\..\Source\WebCore\html\shadow -I..\..\Source\WebCore\html\track -I..\..\Source\WebCore\inspector -I..\..\Source\WebCore\inspector\agents -I..\..\Source\WebCore\inspector\agents\page -I..\..\Source\WebCore\inspector\agents\worker -I..\..\Source\WebCore\loader -I..\..\Source\WebCore\loader\appcache -I..\..\Source\WebCore\loader\archive -I..\..\Source\WebCore\loader\archive\mhtml -I..\..\Source\WebCore\loader\cache -I..\..\Source\WebCore\loader\icon -I..\..\Source\WebCore\mathml -I..\..\Source\WebCore\page -I..\..\Source\WebCore\page\animation -I..\..\Source\WebCore\page\csp -I..\..\Source\WebCore\page\scrolling -I..\..\Source\WebCore\platform -I..\..\Source\WebCore\platform\animation -I..\..\Source\WebCore\platform\audio -I..\..\Source\WebCore\platform\crypto -I..\..\Source\WebCore\platform\encryptedmedia -I..\..\Source\WebCore\platform\gamepad -I..\..\Source\WebCore\platform\graphics -I..\..\Source\WebCore\platform\graphics\cpu\arm -I..\..\Source\WebCore\platform\graphics\cpu\arm\filters -I..\..\Source\WebCore\platform\graphics\displaylists -I..\..\Source\WebCore\platform\graphics\filters -I..\..\Source\WebCore\platform\graphics\harfbuzz -I..\..\Source\WebCore\platform\graphics\harfbuzz\ng -I..\..\Source\WebCore\platform\graphics\iso -I..\..\Source\WebCore\platform\graphics\opentype -I..\..\Source\WebCore\platform\graphics\transforms -I..\..\Source\WebCore\platform\mediastream -I..\..\Source\WebCore\platform\mediastream\libwebrtc -I..\..\Source\WebCore\platform\mock -I..\..\Source\WebCore\platform\mock\mediasource -I..\..\Source\WebCore\platform\network -I..\..\Source\WebCore\platform\sql -I..\..\Source\WebCore\platform\text -I..\..\Source\WebCore\platform\text\icu -I..\..\Source\WebCore\platform\vr -I..\..\Source\WebCore\plugins -I..\..\Source\WebCore\rendering -I..\..\Source\WebCore\rendering\line -I..\..\Source\WebCore\rendering\mathml -I..\..\Source\WebCore\rendering\shapes -I..\..\Source\WebCore\rendering\style -I..\..\Source\WebCore\rendering\svg -I..\..\Source\WebCore\rendering\updating -I..\..\Source\WebCore\replay -I..\..\Source\WebCore\storage -I..\..\Source\WebCore\style -I..\..\Source\WebCore\svg -I..\..\Source\WebCore\svg\animation -I..\..\Source\WebCore\svg\graphics -I..\..\Source\WebCore\svg\graphics\filters -I..\..\Source\WebCore\svg\properties -I..\..\Source\WebCore\websockets -I..\..\Source\WebCore\workers -I..\..\Source\WebCore\workers\service -I..\..\Source\WebCore\workers\service\context -I..\..\Source\WebCore\workers\service\server -I..\..\Source\WebCore\xml -I..\..\Source\WebCore\xml\parser -IDerivedSources\WebCore -I..\..\Source\WebCore\platform\graphics\gpu -I..\..\Source\WebCore\accessibility\win -I..\..\Source\WebCore\page\win -I..\..\Source\WebCore\platform\graphics\egl -I..\..\Source\WebCore\platform\graphics\opengl -I..\..\Source\WebCore\platform\graphics\win -I..\..\Source\WebCore\platform\mediacapabilities -I..\..\Source\WebCore\platform\network\win -I..\..\Source\WebCore\platform\win -I..\..\Source\ThirdParty\ANGLE\include -I..\..\Source\ThirdParty\ANGLE\include\egl -I..\..\Source\WebCore\platform\cf -I..\..\Source\WebCore\platform\cf\win -I..\..\Source\WebCore\platform\network\curl -I..\..\Source\WebCore\platform\image-decoders -I..\..\Source\WebCore\platform\image-decoders\bmp -I..\..\Source\WebCore\platform\image-decoders\gif -I..\..\Source\WebCore\platform\image-decoders\ico -I..\..\Source\WebCore\platform\image-decoders\jpeg -I..\..\Source\WebCore\platform\image-decoders\png -I..\..\Source\WebCore\platform\image-decoders\webp -I..\..\Source\WebCore\platform\graphics\texmap -I..\..\Source\WebCore\loader\archive\cf -fdiagnostics-color=always -fcolor-diagnostics -Wno-parentheses-equality -Wno-noexcept-type -Qunused-arguments -Wno-unknown-argument -Wno-nonportable-include-path -Wno-unknown-pragmas -Wno-macro-redefined -Wno-undef -m64 -fno-strict-aliasing /MD /Zi /Ob0 /Od /RTC1   /wd4018 /wd4068 /wd4099 /wd4100 /wd4127 /wd4138 /wd4146 /wd4180 /wd4189 /wd4201 /wd4206 /wd4244 /wd4251 /wd4267 /wd4275 /wd4288 /wd4291 /wd4305 /wd4309 /wd4344 /wd4355 /wd4389 /wd4396 /wd4456 /wd4457 /wd4458 /wd4459 /wd4481 /wd4503 /wd4505 /wd4510 /wd4512 /wd4530 /wd4610 /wd4611 /wd4646 /wd4702 /wd4706 /wd4722 /wd4800 /wd4819 /wd4951 /wd4952 /wd4996 /wd6011 /wd6031 /wd6211 /wd6246 /wd6255 /wd6387 /Zi /GS /EHa- /EHc- /EHs- /fp:except- /analyze- /bigobj /std:c++17 /utf-8 /validate-charset -fmsc-version=1911 /Yu"WebKitPrefix.h" /FI"WebKitPrefix.h" /Fp"C:/webkit/ga/WebKitBuild/Debug/Source/WebKitLegacy/WebKitLegacy_SOURCES/WebKitPrefix.pch" /showIncludes /FoSource\WebKitLegacy\CMakeFiles\WebKitLegacy.dir\cf\WebCoreSupport\WebInspectorClientCF.cpp.obj /FdSource\WebKitLegacy\CMakeFiles\WebKitLegacy.dir\ -c ..\..\Source\WebKitLegacy\cf\WebCoreSupport\WebInspectorClientCF.cpp
> In file included from ..\..\Source\WebKitLegacy\cf\WebCoreSupport\WebInspectorClientCF.cpp:49:
> ..\..\Source\WebKitLegacy\win\WebCoreSupport\WebInspectorClient.h(144,5):  error: 'static' is invalid in friend declarations
>     static friend LRESULT CALLBACK WebInspectorWndProc(HWND, UINT, WPARAM, LPARAM);
>     ^~~~~~~
Comment 1 Fujii Hironori 2018-09-12 00:41:09 PDT
Created attachment 349528 [details]
Patch
Comment 2 Fujii Hironori 2018-09-12 02:33:11 PDT
Created attachment 349535 [details]
Patch
Comment 3 EWS Watchlist 2018-09-12 03:48:23 PDT
Comment on attachment 349535 [details]
Patch

Attachment 349535 [details] did not pass mac-wk2-ews (mac-wk2):
Output: https://webkit-queues.webkit.org/results/9189934

New failing tests:
accessibility/smart-invert-reference.html
Comment 4 EWS Watchlist 2018-09-12 03:48:25 PDT
Created attachment 349538 [details]
Archive of layout-test-results from ews104 for mac-sierra-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews104  Port: mac-sierra-wk2  Platform: Mac OS X 10.12.6
Comment 5 EWS Watchlist 2018-09-12 06:09:38 PDT
Comment on attachment 349535 [details]
Patch

Attachment 349535 [details] did not pass win-ews (win):
Output: https://webkit-queues.webkit.org/results/9190797

New failing tests:
fast/text/variations/ipc2.html
Comment 6 EWS Watchlist 2018-09-12 06:09:50 PDT
Created attachment 349541 [details]
Archive of layout-test-results from ews200 for win-future

The attached test failures were seen while running run-webkit-tests on the win-ews.
Bot: ews200  Port: win-future  Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Comment 7 WebKit Commit Bot 2018-09-12 09:20:43 PDT
Comment on attachment 349535 [details]
Patch

Clearing flags on attachment: 349535

Committed r235938: <https://trac.webkit.org/changeset/235938>
Comment 8 WebKit Commit Bot 2018-09-12 09:20:45 PDT
All reviewed patches have been landed.  Closing bug.
Comment 9 Radar WebKit Bug Importer 2018-09-12 09:21:28 PDT
<rdar://problem/44385597>