aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2024-04-02 13:48:45 +0200
committerGitHub <noreply@github.com>2024-04-02 13:48:45 +0200
commit7ef602b58c1ccacab20d9d01e24b281458c3facc (patch)
tree766f8fa5aa7887f9bebf8ce12ca1365a68573c48 /clang/lib/CodeGen/CodeGenFunction.cpp
parent0b13e2c82315eac8926f1c4497c4d56a507c3999 (diff)
downloadllvm-7ef602b58c1ccacab20d9d01e24b281458c3facc.zip
llvm-7ef602b58c1ccacab20d9d01e24b281458c3facc.tar.gz
llvm-7ef602b58c1ccacab20d9d01e24b281458c3facc.tar.bz2
Reapply "[clang][nullability] allow _Nonnull etc on nullable class types (#82705)" (#87325)
This reverts commit 28760b63bbf9e267713957105a8d17091fb0d20e. The last commit was missing the new testcase, now fixed.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp
index 90324de..6474d6c 100644
--- a/clang/lib/CodeGen/CodeGenFunction.cpp
+++ b/clang/lib/CodeGen/CodeGenFunction.cpp
@@ -990,7 +990,8 @@ void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy,
// return value. Initialize the flag to 'true' and refine it in EmitParmDecl.
if (SanOpts.has(SanitizerKind::NullabilityReturn)) {
auto Nullability = FnRetTy->getNullability();
- if (Nullability && *Nullability == NullabilityKind::NonNull) {
+ if (Nullability && *Nullability == NullabilityKind::NonNull &&
+ !FnRetTy->isRecordType()) {
if (!(SanOpts.has(SanitizerKind::ReturnsNonnullAttribute) &&
CurCodeDecl && CurCodeDecl->getAttr<ReturnsNonNullAttr>()))
RetValNullabilityPrecondition =