[clang] [Clang][CodeGen] Fix clang codegen eh cleanup (NFC) (PR #226743)

via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 29 20:54:19 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/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprAgg.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExprAgg.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\CodeGen -IC:\_work\llvm-project\llvm-project\clang\lib\CodeGen -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 -I"C:\BuildTools\DIA SDK\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\CodeGen\CMakeFiles\obj.clangCodeGen.dir\CGExprAgg.cpp.obj /Fdtools\clang\lib\CodeGen\CMakeFiles\obj.clangCodeGen.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\CodeGen\CGExprAgg.cpp
C:\_work\llvm-project\llvm-project\clang\lib\CodeGen\CGExprAgg.cpp(795,11): error: no matching member function for call to 'pushLifetimeExtendedDestroy'
795 |       CGF.pushLifetimeExtendedDestroy(CGF.getCleanupKind(DtorKind),
|       ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\CodeGen\CodeGenFunction.h(2320,8): note: candidate function not viable: no known conversion from 'CleanupKind' to 'QualType::DestructionKind' for 1st argument
2320 |   void pushLifetimeExtendedDestroy(QualType::DestructionKind dtorKind,
|        ^                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\CodeGen\CodeGenFunction.h(2317,8): note: candidate function not viable: requires 5 arguments, but 3 were provided
2317 |   void pushLifetimeExtendedDestroy(CleanupKind kind, Address addr,
|        ^                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2318 |                                    QualType type, Destroyer *destroyer,
|                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2319 |                                    bool useEHCleanupForArray);
|                                    ~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```
</details>
<details>
<summary>[code=1] tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExpr.cpp.obj</summary>

```
FAILED: [code=1] tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/CGExpr.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\CodeGen -IC:\_work\llvm-project\llvm-project\clang\lib\CodeGen -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 -I"C:\BuildTools\DIA SDK\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\CodeGen\CMakeFiles\obj.clangCodeGen.dir\CGExpr.cpp.obj /Fdtools\clang\lib\CodeGen\CMakeFiles\obj.clangCodeGen.dir\ -c -- C:\_work\llvm-project\llvm-project\clang\lib\CodeGen\CGExpr.cpp
C:\_work\llvm-project\llvm-project\clang\lib\CodeGen\CGExpr.cpp(6199,7): error: no matching member function for call to 'pushLifetimeExtendedDestroy'
6199 |       pushLifetimeExtendedDestroy(getCleanupKind(DtorKind), DeclPtr, E->getType());
|       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\CodeGen\CodeGenFunction.h(2320,8): note: candidate function not viable: no known conversion from 'CleanupKind' to 'QualType::DestructionKind' for 1st argument
2320 |   void pushLifetimeExtendedDestroy(QualType::DestructionKind dtorKind,
|        ^                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\clang\lib\CodeGen\CodeGenFunction.h(2317,8): note: candidate function not viable: requires 5 arguments, but 3 were provided
2317 |   void pushLifetimeExtendedDestroy(CleanupKind kind, Address addr,
|        ^                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2318 |                                    QualType type, Destroyer *destroyer,
|                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2319 |                                    bool useEHCleanupForArray);
|                                    ~~~~~~~~~~~~~~~~~~~~~~~~~
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/226743


More information about the cfe-commits mailing list