Details
-
Bug
-
Resolution: Fixed
-
Not Evaluated
-
None
-
6.7.0
-
None
Description
Hello, I'm a member of Microsoft VCPKG, when I built QtWebEngine in an internal version of Visual Studio, it failed with following errors:
pipeline.i
\vcfs\Archive\msvc\fe\20231227.01\binaries.amd64ret\inc\memory(3755): warning C4996: 'std::atomic_load_explicit': warning STL4029: std::atomic_*() overloads for shared_ptr are deprecated in C++20. The shared_ptr specialization of std::atomic provides superior functionality. You can define _SILENCE_CXX20_OLD_SHARED_PTR_ATOMIC_SUPPORT_DEPRECATION_WARNING or _SILENCE_ALL_CXX20_DEPRECATION_WARNINGS to suppress this warning.
\vcfs\Archive\msvc\fe\20231227.01\binaries.amd64ret\inc\memory(3755): note: the template instantiation context (the oldest one first) is
F:/Jon/qtwebengine/src/here-src-6-2748204f48.clean/src/3rdparty/chromium/v8\src/wasm/wasm-code-manager.h(739): note: see reference to function template instantiation 'std::shared_ptr<v8::base::OwnedVector<const uint8_t>> std::atomic_load<v8::base::OwnedVector<const uint8_t>>(const std::shared_ptr<v8::base::OwnedVector<const uint8_t>> *)' being compiled
F:\Jon\qtwebengine\src\here-src-6-2748204f48.clean\src\3rdparty\chromium\v8\src\compiler\pipeline.cc(2783) : error C4716: 'v8::internal::compiler::WasmHeapStubCompilationJob::PrepareJobImpl': must return a value
F:\Jon\qtwebengine\src\here-src-6-2748204f48.clean\src\3rdparty\chromium\v8\src\compiler\js-inlining.h(49) : error C4716: 'v8::internal::compiler::JSInliner::Reduce': must return a value
The error code is similar to:
[[noreturn]] void fatal(const char* message);
int f1()
{
auto emit_fatal = []
;
emit_fatal();
}
int f2(int i)
{ auto emit_fatal = []
{ fatal("Don't Panic!"); }
;
switch ( i )
{ case 1: case 2: case 3: return i + 1; default: break; }emit_fatal();
}
I don't think the compiler needs to propagate "noreturn" up the call chain (even making the lambda implicitly "noreturn"), and both gcc and clang will complain about this code. So I want to know how the code here can be modified to avoid this error. If you need any information, please contact me directly. Thanks in advance.