On X86, in CCallHelpers.h we have a static_assert that uses cCallArity(), so it needs to be constant to avoid a compilation error.
Created attachment 344189 [details] Patch Patch fixing the issue using std::enable_if_t function parameters instead of a runtime if.
Created attachment 344194 [details] Patch New version with a message on static_assert to make clang happy.
Comment on attachment 344194 [details] Patch Attachment 344194 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/8426224 New failing tests: http/tests/security/canvas-remote-read-remote-video-blocked-no-crossorigin.html
Created attachment 344203 [details] Archive of layout-test-results from ews205 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews205 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
Comment on attachment 344194 [details] Patch Attachment 344194 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: https://webkit-queues.webkit.org/results/8425977 New failing tests: animations/needs-layout.html
Created attachment 344204 [details] Archive of layout-test-results from ews122 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews122 Port: ios-simulator-wk2 Platform: Mac OS X 10.13.4
EWS failures look like they are unrelated to the change.
Comment on attachment 344194 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=344194&action=review > Source/WTF/wtf/FunctionTraits.h:-45 > - ASSERT(sizeof(T) <= 4); I think just changing this to `static_assert(sizeof(T) == 8 || sizeof(T) <= 4, "")` is enough since we have relaxed constexpr.
(In reply to Yusuke Suzuki from comment #8) > Comment on attachment 344194 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=344194&action=review > > > Source/WTF/wtf/FunctionTraits.h:-45 > > - ASSERT(sizeof(T) <= 4); > > I think just changing this to `static_assert(sizeof(T) == 8 || sizeof(T) <= > 4, "")` is enough since we have relaxed constexpr. Indeed it is much simpler. I am sorry I did not know about relaxed constexpr. New patch upcoming.
Created attachment 344281 [details] Patch New simpler version taking advantage of relaxed constexpr.
Comment on attachment 344281 [details] Patch r=me
Comment on attachment 344281 [details] Patch Clearing flags on attachment: 344281 Committed r233504: <https://trac.webkit.org/changeset/233504>
All reviewed patches have been landed. Closing bug.
<rdar://problem/41817774>