diff options
| author | Akira Hatanaka <ahatanaka@apple.com> | 2019-04-23 23:52:02 +0000 |
|---|---|---|
| committer | Akira Hatanaka <ahatanaka@apple.com> | 2019-04-23 23:52:02 +0000 |
| commit | 53796d9439018b97a0e6f35af0ba83843a7270e7 (patch) | |
| tree | e61a67820c2f31e554c3b4708f3058ad1823a30c /clang/lib/Sema/AnalysisBasedWarnings.cpp | |
| parent | eeab4518e1d718c2aa09fbe116cd060dac306d56 (diff) | |
| download | bcm5719-llvm-53796d9439018b97a0e6f35af0ba83843a7270e7.tar.gz bcm5719-llvm-53796d9439018b97a0e6f35af0ba83843a7270e7.zip | |
Improve -Wuninitialized warning under ARC for block variables that are
recursively captured.
Under ARC, a block variable is zero-initialized when it is recursively
captured by the block literal initializer.
rdar://problem/11022762
llvm-svn: 359049
Diffstat (limited to 'clang/lib/Sema/AnalysisBasedWarnings.cpp')
| -rw-r--r-- | clang/lib/Sema/AnalysisBasedWarnings.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/AnalysisBasedWarnings.cpp b/clang/lib/Sema/AnalysisBasedWarnings.cpp index d4aa701867f..7afe44658ed 100644 --- a/clang/lib/Sema/AnalysisBasedWarnings.cpp +++ b/clang/lib/Sema/AnalysisBasedWarnings.cpp @@ -998,7 +998,8 @@ static bool DiagnoseUninitializedUse(Sema &S, const VarDecl *VD, if (VD->getType()->isBlockPointerType() && !VD->hasAttr<BlocksAttr>()) S.Diag(BE->getBeginLoc(), diag::warn_uninit_byref_blockvar_captured_by_block) - << VD->getDeclName(); + << VD->getDeclName() + << VD->getType().getQualifiers().hasObjCLifetime(); else DiagUninitUse(S, VD, Use, true); } |

