[clang] [clang][Frontend] Batch LangOptions context hashing (PR #203162)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 6 07:54:28 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
The build failed before running any tests. Click on a failure below to see the details.
<details>
<summary>[code=1] tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/CompilerInvocation.cpp.obj</summary>
```
FAILED: [code=1] tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/CompilerInvocation.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe /nologo -TP -DCLANG_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\clang\lib\Frontend -IC:\_work\llvm-project\llvm-project\clang\lib\Frontend -IC:\_work\llvm-project\llvm-project\clang\include -IC:\_work\llvm-project\llvm-project\build\tools\clang\include -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4 -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2 -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\clang\lib\Frontend\CMakeFiles\obj.clangFrontend.dir\CompilerInvocation.cpp.obj /Fdtools\clang\lib\Frontend\CMakeFiles\obj.clangFrontend.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\Frontend\CompilerInvocation.cpp
C:\_work\llvm-project\llvm-project\clang\lib\Frontend\CompilerInvocation.cpp(5240,22): error: constexpr variable 'LanguageOptionValues' must be initialized by a constant expression
5240 | constexpr unsigned LanguageOptionValues[] = {
| ^ ~
5241 | #define HASH_LANGOPT_Benign(Value)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5242 | #define HASH_LANGOPT_Compatible(Value) Value,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5243 | #define HASH_LANGOPT_NotCompatible(Value) Value,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5244 | #define LANGOPT(Name, Bits, Default, Compatibility, Description) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5245 | HASH_LANGOPT_##Compatibility(LangOpts->Name)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5246 | #define ENUM_LANGOPT(Name, Type, Bits, Default, Compatibility, Description) \
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5247 | HASH_LANGOPT_##Compatibility(static_cast<unsigned>(LangOpts->get##Name()))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5248 | #include "clang/Basic/LangOptions.def"
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5249 | };
| ~
C:\_work\llvm-project\llvm-project\clang\include\clang/Basic/LangOptions.def(41,1): note: implicit use of 'this' pointer is only allowed within the evaluation of a call to a 'constexpr' member function
41 | LANGOPT(C99 , 1, 0, NotCompatible, "C99")
| ^
C:\_work\llvm-project\llvm-project\clang\lib\Frontend\CompilerInvocation.cpp(5245,32): note: expanded from macro 'LANGOPT'
5245 | HASH_LANGOPT_##Compatibility(LangOpts->Name)
| ^
1 error generated.
```
</details>
If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.
https://github.com/llvm/llvm-project/pull/203162
More information about the cfe-commits
mailing list