[llvm-branch-commits] [clang] [clang] Use tighter lifetime bounds for C temporary arguments (PR #170518)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Dec 4 13:50:17 PST 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff origin/main HEAD --extensions c,cpp,h -- clang/lib/CodeGen/CGCall.cpp clang/lib/CodeGen/CGCall.h clang/test/CodeGen/lifetime-invoke-c.c clang/test/CodeGen/stack-usage-lifetimes.c clang/test/CodeGenCXX/aggregate-lifetime-invoke.cpp clang/test/CodeGenCXX/stack-reuse-miscompile.cpp --diff_from_common_commit
``````````

:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp
index 4831d55ed..0c71874c5 100644
--- a/clang/lib/CodeGen/CGCall.cpp
+++ b/clang/lib/CodeGen/CGCall.cpp
@@ -4976,7 +4976,8 @@ void CodeGenFunction::EmitCallArg(CallArgList &args, const Expr *E,
     if (!CGM.getCodeGenOpts().NoLifetimeMarkersForTemporaries &&
         EmitLifetimeStart(ArgSlotAlloca.getPointer())) {
       if (E->getType().isDestructedType()) {
-        pushFullExprCleanup<CallLifetimeEnd>(NormalEHLifetimeMarker, ArgSlotAlloca);
+        pushFullExprCleanup<CallLifetimeEnd>(NormalEHLifetimeMarker,
+                                             ArgSlotAlloca);
       } else {
         args.addLifetimeCleanup({ArgSlotAlloca.getPointer()});
         if (getInvokeDest())

``````````

</details>


https://github.com/llvm/llvm-project/pull/170518


More information about the llvm-branch-commits mailing list