Notification server can't be compiled as C++20 because Windows' <filesystem> header is not compatible with C++20's char8_t
Categories
(Toolkit :: Alerts Service, task, P3)
Tracking
()
People
(Reporter: cpeterson, Unassigned)
References
Details
Attachments
(1 obsolete file)
Windows' <filesystem> system header file is not compatible with C++20's char8_t, as documented in the clang issue tracker:
https://bugs.llvm.org/show_bug.cgi?id=41132
Instead of compiling the notification server as C++17, just disable char8_t support.
ERROR - /builds/worker/fetches/vs/VC/Tools/MSVC/14.16.27023/include/experimental/filesystem(45,1): error: declaration of anonymous struct must be a definition
INFO - struct char8_t; /* flag for UTF8 */
| Reporter | ||
Updated•2 years ago
|
| Reporter | ||
Comment 1•2 years ago
|
||
Windows' <filesystem> system header file is not compatible with C++20's char8_t, as documented in the clang issue tracker:
https://bugs.llvm.org/show_bug.cgi?id=41132
Instead of compiling the notification server as C++17, just disable char8_t support.
ERROR - /builds/worker/fetches/vs/VC/Tools/MSVC/14.16.27023/include/experimental/filesystem(45,1): error: declaration of anonymous struct must be a definition
INFO - struct char8_t; /* flag for UTF8 */
Updated•2 years ago
|
| Reporter | ||
Comment 2•2 years ago
|
||
Good news! I downloaded that latest MSVC SDK (version 14.39.33519) and its filesystem header has changed the incompatible struct char8_t; // flag for UTF8 declaration to a C++20 compatible name: struct _Char8_t; // flag for UTF8. Since updating the VS SDK will fix this C++20 build error, this workaround isn't necessary.
| Reporter | ||
Comment 3•2 years ago
|
||
Since updating the VS SDK will fix this C++20 build error, this workaround isn't necessary.
But I will leave this bug open as a placeholder for this issue until the VS SDK is updated.
| Reporter | ||
Comment 4•2 years ago
|
||
Fixed by bug 1880919.
Description
•