summaryrefslogtreecommitdiff
path: root/compilerplugins/clang/simplifyconstruct.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'compilerplugins/clang/simplifyconstruct.cxx')
-rw-r--r--compilerplugins/clang/simplifyconstruct.cxx10
1 files changed, 3 insertions, 7 deletions
diff --git a/compilerplugins/clang/simplifyconstruct.cxx b/compilerplugins/clang/simplifyconstruct.cxx
index c3e28ce7bcda..55f2404f8ab1 100644
--- a/compilerplugins/clang/simplifyconstruct.cxx
+++ b/compilerplugins/clang/simplifyconstruct.cxx
@@ -87,19 +87,15 @@ bool SimplifyConstruct::VisitVarDecl(VarDecl const* varDecl)
if (isa<AutoType>(varDecl->getType()))
return true;
- auto init = varDecl->getInit()->IgnoreImplicit();
- auto functionalCast = dyn_cast<CXXFunctionalCastExpr>(init);
- if (!functionalCast)
+ auto init = varDecl->getInit();
+ if (!isa<CXXFunctionalCastExpr>(init->IgnoreImplicit()) && !isa<CXXTemporaryObjectExpr>(init)
+ && !isa<CXXTemporaryObjectExpr>(init->IgnoreImplicit()))
return true;
// e.g. the LANGUAGE_DONTKNOW defines
if (compiler.getSourceManager().isMacroBodyExpansion(compat::getBeginLoc(init)))
return true;
- // varDecl->getInit()->IgnoreImplicit()->dump();
- // varDecl->getType()->dump();
- // varDecl->getType()->getUnqualifiedDesugaredType()->dump();
-
report(DiagnosticsEngine::Warning, "simplify", varDecl->getLocation())
<< varDecl->getSourceRange();