RESOLVED DUPLICATE of bug 274018 261598
[MSVC][Win] Using C++20's concept cause WinCairo compiler to crash
https://bugs.webkit.org/show_bug.cgi?id=261598
Summary [MSVC][Win] Using C++20's concept cause WinCairo compiler to crash
Jean-Yves Avenard [:jya]
Reported 2023-09-15 02:25:01 PDT
(Using Tools / Test component for lack of a better component) I added usage of C++20 concept in a PR, WinCairo bots crashes when parsing that file. https://ews-build.webkit.org/#/builders/32/builds/17174 This is the added code causing an issue: ``` class NativePromiseBase; template <typename T> concept IsNativePromise = std::is_base_of<NativePromiseBase, T>::value; template <typename T, typename U> concept RelatedNativePromise = requires(T, U) { { IsNativePromise<T> }; { IsNativePromise<U> }; { std::is_same<typename T::NativePromiseBaseType, typename U::NativePromiseBaseType>::value }; }; ```
Attachments
Jean-Yves Avenard [:jya]
Comment 1 2023-09-15 02:25:30 PDT
The compiler crashes with: ``` C:\BW\WinCairo-EWS\build\WebKitBuild\Release\WTF\Headers\wtf/TypeTraits.h(134): fatal error C1001: Internal compiler error. ```
Jean-Yves Avenard [:jya]
Comment 2 2023-09-15 03:21:11 PDT
I can confirm that it's just this one: ``` template <typename T, typename U> concept RelatedNativePromise = requires(T, U) { { IsNativePromise<T> }; { IsNativePromise<U> }; { std::is_same<typename T::NativePromiseBaseType, typename U::NativePromiseBaseType>::value }; }; ``` that causes the crash
Jean-Yves Avenard [:jya]
Comment 3 2023-10-05 16:32:14 PDT
Wth the migration from mcvc to clang-cl this may no longer be an issue.
Fujii Hironori
Comment 4 2023-10-05 17:38:05 PDT
The migration isn't completed yet. I will remove the #if after the migration is completed.
Fujii Hironori
Comment 5 2024-04-22 01:09:15 PDT
WebKit Windows port hasn't dropped MSVC support yet. VS 2022 v17.9.6 still reports the internal compiler error for wtf/TypeTraits.h.
Fujii Hironori
Comment 6 2024-05-10 21:45:38 PDT
*** This bug has been marked as a duplicate of bug 274018 ***
Note You need to log in before you can comment on or make changes to this bug.