aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaInit.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2019-08-22 17:48:11 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2019-08-22 17:48:11 +0000
commit966eea91ad94e38a3654f154d2d5ad28ea5deb9d (patch)
treeb04c116337c9f308c479d5186d3d8819940664c6 /clang/lib/Sema/SemaInit.cpp
parent1a28a06ebef290e0dafcd2d2f4ca1a817263d02b (diff)
downloadllvm-966eea91ad94e38a3654f154d2d5ad28ea5deb9d.zip
llvm-966eea91ad94e38a3654f154d2d5ad28ea5deb9d.tar.gz
llvm-966eea91ad94e38a3654f154d2d5ad28ea5deb9d.tar.bz2
Revert "[LifetimeAnalysis] Support more STL idioms (template forward declaration and DependentNameType)"
This reverts commit r369591, because it causes the formerly-reliable -Wreturn-stack-address warning to start issuing false positives. Testcase provided on the commit thread. llvm-svn: 369677
Diffstat (limited to 'clang/lib/Sema/SemaInit.cpp')
-rw-r--r--clang/lib/Sema/SemaInit.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaInit.cpp b/clang/lib/Sema/SemaInit.cpp
index ee9963f..289a140 100644
--- a/clang/lib/Sema/SemaInit.cpp
+++ b/clang/lib/Sema/SemaInit.cpp
@@ -6561,7 +6561,7 @@ static void visitLocalsRetainedByReferenceBinding(IndirectLocalPath &Path,
template <typename T> static bool isRecordWithAttr(QualType Type) {
if (auto *RD = Type->getAsCXXRecordDecl())
- return RD->hasAttr<T>();
+ return RD->getCanonicalDecl()->hasAttr<T>();
return false;
}
@@ -6672,7 +6672,7 @@ static void handleGslAnnotatedTypes(IndirectLocalPath &Path, Expr *Call,
if (auto *CCE = dyn_cast<CXXConstructExpr>(Call)) {
const auto *Ctor = CCE->getConstructor();
- const CXXRecordDecl *RD = Ctor->getParent();
+ const CXXRecordDecl *RD = Ctor->getParent()->getCanonicalDecl();
if (CCE->getNumArgs() > 0 && RD->hasAttr<PointerAttr>())
VisitPointerArg(Ctor->getParamDecl(0), CCE->getArgs()[0]);
}