RESOLVED FIXED 169123
[WinCairo] '__int128_t': undeclared identifier in MediaTime.cpp
https://bugs.webkit.org/show_bug.cgi?id=169123
Summary [WinCairo] '__int128_t': undeclared identifier in MediaTime.cpp
Fujii Hironori
Reported 2017-03-03 00:27:20 PST
[WinCairo] '__int128_t': undeclared identifier in MediaTime.cpp WinCairo x64 build fails since r213324 (Bug 169098). > [6/1400] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\MediaTime.cpp.obj > FAILED: C:\PROGRA~2\MICROS~3.0\VC\bin\amd64\cl.exe /nologo /TP /DWIN32 /D_WINDOWS /W4 /GR- /EHs- /EHc- /MT /O2 /Ob2 /D NDEBUG -IDerivedSources\ForwardingHeaders -IDerivedSources -I..\..\WebKitLibraries\win\include -I..\..\Source\bmalloc -I..\..\Source\WTF -I..\..\Source\WTF\wtf -I..\..\Source\WTF\wtf\dtoa -I..\..\Source\WTF\wtf\persistence -I..\..\Source\WTF\wtf\text -I..\..\Source\WTF\wtf\text\icu -I..\..\Source\WTF\wtf\threads -I..\..\Source\WTF\wtf\unicode -I..\..\Source\ThirdParty -I. /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 /Gy- /openmp- /GF- /Oy- /showIncludes -DBUILDING_WITH_CMAKE=1 -DBUILDING_WTF -DHAVE_CONFIG_H=1 -DNOMINMAX -DUNICODE -DWINVER=0x601 -DWTF_EXPORTS -DWTF_PLATFORM_WIN_CAIRO=1 -D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1 -D_CRT_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_UNICODE -D_WINDOWS /FoSource\WTF\wtf\CMakeFiles\WTF.dir\MediaTime.cpp.obj /FdSource\WTF\wtf\CMakeFiles\WTF.dir\ /FS -c ..\..\Source\WTF\wtf\MediaTime.cpp > ..\..\Source\WTF\wtf\MediaTime.cpp(493): error C2065: '__int128_t': undeclared identifier > ..\..\Source\WTF\wtf\MediaTime.cpp(493): error C2146: syntax error: missing ';' before identifier 'newValue' > ..\..\Source\WTF\wtf\MediaTime.cpp(493): error C2065: 'newValue': undeclared identifier > ..\..\Source\WTF\wtf\MediaTime.cpp(493): error C2061: syntax error: identifier '__int128_t' > ..\..\Source\WTF\wtf\MediaTime.cpp(494): error C2065: 'newValue': undeclared identifier > ..\..\Source\WTF\wtf\MediaTime.cpp(495): error C2065: 'newValue': undeclared identifier > ..\..\Source\WTF\wtf\MediaTime.cpp(497): error C2065: 'newValue': undeclared identifier > ..\..\Source\WTF\wtf\MediaTime.cpp(502): error C2065: 'newValue': undeclared identifier > ..\..\Source\WTF\wtf\MediaTime.cpp(518): error C2065: 'newValue': undeclared identifier > ninja: build stopped: subcommand failed.
Attachments
Patch (1.42 KB, patch)
2017-03-03 10:20 PST, Jer Noble
achristensen: review+
Patch with CMake checks for HAVE (3.03 KB, patch)
2017-03-03 11:18 PST, Don Olmstead
achristensen: review-
Jer Noble
Comment 1 2017-03-03 10:20:30 PST
Jer Noble
Comment 2 2017-03-03 10:21:45 PST
Would someone with access to a 64-bit Windows builder please try out this patch and verify that it fixes the compiler error?
Don Olmstead
Comment 3 2017-03-03 10:25:17 PST
Jer Noble would a more effective patch be to actually test for the presence of int128_t? I was looking at this and was thinking of doing a HAVE version of it.
Jer Noble
Comment 4 2017-03-03 10:57:39 PST
(In reply to comment #3) > Jer Noble would a more effective patch be to actually test for the presence > of int128_t? I was looking at this and was thinking of doing a HAVE version > of it. I couldn't find a directive I could use for such a test; if you can, more the better!
Don Olmstead
Comment 5 2017-03-03 11:18:35 PST
Created attachment 303329 [details] Patch with CMake checks for HAVE Here's a version that checks for the presence of __int128_t through CMake.
Alex Christensen
Comment 6 2017-03-03 14:17:10 PST
Comment on attachment 303329 [details] Patch with CMake checks for HAVE View in context: https://bugs.webkit.org/attachment.cgi?id=303329&action=review > Source/WTF/wtf/Platform.h:553 > #if CPU(X86_64) > #define HAVE_NETWORK_EXTENSION 1 > #define USE_PLUGIN_HOST_PROCESS 1 > +#define HAVE_INT128_T 1 I don't think this properly reflects the fact that Visual Studio doesn't support the __int128_t type.
Don Olmstead
Comment 7 2017-03-03 14:18:27 PST
All the changes to Platform.h are for the Mac side since its not using CMake.
Alex Christensen
Comment 8 2017-03-04 00:21:24 PST
Sorry, Don. Jer's fix passed EWS and was simpler. If we feel it's worth it to optimize this for Windows, we can do so later, but we need to fix the build.
Fujii Hironori
Comment 9 2017-03-06 16:58:08 PST
Note You need to log in before you can comment on or make changes to this bug.