Bug 231980

Summary: The code decoding std::optional<ImagePaintingOptions> can't be compiled by PlayStation due to the ImagePaintingOptions template constructor
Product: WebKit Reporter: ujwal koneru <ujwal.koneru>
Component: WebKit2Assignee: ujwal koneru <ujwal.koneru>
Status: RESOLVED FIXED    
Severity: Normal CC: darin, don.olmstead, Hironori.Fujii, kkinnunen, ross.kirsling, sabouhallawa, simon.fraser, ujwal.koneru, webkit-bug-importer, wenson_hsieh
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Other   
OS: Other   
See Also: https://bugs.webkit.org/show_bug.cgi?id=231484
Attachments:
Description Flags
Patch for templatized constructor compilation issues
none
Patch for build fix
none
WIP patch
none
Patch
none
compile error with -ftemplate-backtrace-limit=0
none
Patch none

ujwal koneru
Reported 2021-10-19 13:51:16 PDT
Attachments
Patch for templatized constructor compilation issues (1.86 KB, patch)
2021-10-19 13:51 PDT, ujwal koneru
no flags
Patch for build fix (2.17 KB, patch)
2021-10-19 16:29 PDT, ujwal koneru
no flags
WIP patch (757 bytes, patch)
2021-10-19 22:51 PDT, Fujii Hironori
no flags
Patch (2.02 KB, patch)
2021-10-20 13:09 PDT, Fujii Hironori
no flags
compile error with -ftemplate-backtrace-limit=0 (47.51 KB, text/plain)
2021-10-21 18:29 PDT, Fujii Hironori
no flags
Patch (2.22 KB, patch)
2021-10-21 22:31 PDT, Fujii Hironori
no flags
ujwal koneru
Comment 1 2021-10-19 16:29:41 PDT
Created attachment 441814 [details] Patch for build fix Fixed the style and changelog.
Ross Kirsling
Comment 2 2021-10-19 18:33:30 PDT
This is a belated fix for r283941.
Ross Kirsling
Comment 3 2021-10-19 18:43:30 PDT
Comment on attachment 441814 [details] Patch for build fix View in context: https://bugs.webkit.org/attachment.cgi?id=441814&action=review > Source/WebCore/ChangeLog:11 > + https://bugs.webkit.org/show_bug.cgi?id=231980 > + > + Reviewed by NOBODY (OOPS!). The explanation for the patch should come after these lines.
Fujii Hironori
Comment 4 2021-10-19 22:51:32 PDT
Created attachment 441852 [details] WIP patch I don't know what's going on in the compiler, but the compiler can compile this patch. WDYT?
ujwal koneru
Comment 5 2021-10-20 09:22:55 PDT
Fujii-san, your version looks better to me. Just baffled why this would work and not the original code.
Fujii Hironori
Comment 6 2021-10-20 13:09:46 PDT
Ross Kirsling
Comment 7 2021-10-20 13:15:37 PDT
Comment on attachment 441926 [details] Patch Nice!
Fujii Hironori
Comment 8 2021-10-20 14:07:35 PDT
Comment on attachment 441926 [details] Patch Clearing flags on attachment: 441926 Committed r284566 (243308@main): <https://commits.webkit.org/243308@main>
Fujii Hironori
Comment 9 2021-10-20 14:07:39 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 10 2021-10-20 14:08:21 PDT
Fujii Hironori
Comment 11 2021-10-21 13:36:33 PDT
Still failing after the change. Reopned. https://build.webkit.org/#/builders/42/builds/8221
Fujii Hironori
Comment 12 2021-10-21 18:29:04 PDT
Created attachment 442101 [details] compile error with -ftemplate-backtrace-limit=0
Fujii Hironori
Comment 13 2021-10-21 21:52:03 PDT
I'd like to do something like the following, but didn't succeed. > template <typename Type> static constexpr bool isOptionType = std::is_same_v<decltype(std::declval<ImagePaintingOptions>().setOption(std::declval<std::decay_t<Type>>())), void>; > > template<typename First, typename... Rest, typename = std::enable_if_t<isOptionType<First>>> > ImagePaintingOptions(First first, Rest... rest) https://stackoverflow.com/q/59268030 Clang can't compile the code.
Fujii Hironori
Comment 14 2021-10-21 22:31:38 PDT
Ross Kirsling
Comment 15 2021-10-22 11:15:32 PDT
Hmm, now it seems like Ujwal's original patch might be less complicated...
Fujii Hironori
Comment 16 2021-10-22 12:45:09 PDT
(In reply to Ross Kirsling from comment #15) > Hmm, now it seems like Ujwal's original patch might be less complicated... It doesn't take multiple ImagePaintingOptions. Can it compile? I didn't try.
Fujii Hironori
Comment 17 2021-10-22 12:54:11 PDT
(In reply to Fujii Hironori from comment #16) > It doesn't take multiple ImagePaintingOptions. Can it compile? I didn't try. Oh, EWS were green. attachment#441814 [details]
Darin Adler
Comment 18 2021-10-23 23:21:36 PDT
Comment on attachment 442123 [details] Patch There must be a more elegant fix. But this is OK with me for now.
Fujii Hironori
Comment 19 2021-10-24 04:23:37 PDT
Comment on attachment 442123 [details] Patch Thank you very much for the review. But, I have a new idea using explicit keyword now. I’ll try it befor landing this patch Monday.
Fujii Hironori
Comment 20 2021-10-24 13:39:35 PDT
(In reply to Fujii Hironori from comment #19) > I have a new idea using explicit keyword now. There are a lot of implicit construction, and it doesn't solve the PlayStation issue. I have no more ideas, I'm going to land comment#14 patch.
Fujii Hironori
Comment 21 2021-10-24 13:43:58 PDT
Comment on attachment 442123 [details] Patch Clearing flags on attachment: 442123 Committed r284767 (243476@main): <https://commits.webkit.org/243476@main>
Fujii Hironori
Comment 22 2021-10-24 13:44:03 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.