[clang] Document that the lifetime of the caller-side `trivial_abi` parameter ends before the call. (PR #116100)
Richard Smith via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 13 12:09:51 PST 2024
https://github.com/zygoloid created https://github.com/llvm/llvm-project/pull/116100
Fixes #116096.
>From 885c95fcf03f9ab89b7d445ee758c69c77333567 Mon Sep 17 00:00:00 2001
From: Richard Smith <richard at metafoo.co.uk>
Date: Wed, 13 Nov 2024 12:09:01 -0800
Subject: [PATCH] Document that the lifetime of the caller-side `trivial_abi`
parameter ends before the call.
Fixes #116096.
---
clang/include/clang/Basic/AttrDocs.td | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/clang/include/clang/Basic/AttrDocs.td b/clang/include/clang/Basic/AttrDocs.td
index 21fcd183e8969c..8044eb80a44a72 100644
--- a/clang/include/clang/Basic/AttrDocs.td
+++ b/clang/include/clang/Basic/AttrDocs.td
@@ -4017,7 +4017,8 @@ purposes of calls. For example:
If a type is trivial for the purposes of calls, has a non-trivial destructor,
and is passed as an argument by value, the convention is that the callee will
-destroy the object before returning.
+destroy the object before returning. The lifetime of the copy of the parameter
+in the caller ends without a destructor call when the call begins.
If a type is trivial for the purpose of calls, it is assumed to be trivially
relocatable for the purpose of ``__is_trivially_relocatable``.
More information about the cfe-commits
mailing list