summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2011-06-21 23:42:09 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2011-06-21 23:42:09 +0000
commit2602a683e09c84ec4e28314abb60c6e2a900ef0e (patch)
tree785be00529f1278236e6d3eb08d0d07201d4f9c0 /clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
parentcf5f43ce1fdd4bbade729dc478ea77efc6d807b5 (diff)
downloadbcm5719-llvm-2602a683e09c84ec4e28314abb60c6e2a900ef0e.tar.gz
bcm5719-llvm-2602a683e09c84ec4e28314abb60c6e2a900ef0e.zip
Fix PR10168: don't warn for unused non-dependent variables in both the template definition and each instantiation.
llvm-svn: 133580
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaTemplateInstantiateDecl.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
index e78aa2991e7..cc66ec67593 100644
--- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
@@ -415,8 +415,10 @@ Decl *TemplateDeclInstantiator::VisitVarDecl(VarDecl *D) {
!Var->isCXXForRangeDecl())
SemaRef.ActOnUninitializedDecl(Var, false);
- // Diagnose unused local variables.
- if (!Var->isInvalidDecl() && Owner->isFunctionOrMethod() && !Var->isUsed())
+ // Diagnose unused local variables with dependent types, where the diagnostic
+ // will have been deferred.
+ if (!Var->isInvalidDecl() && Owner->isFunctionOrMethod() && !Var->isUsed() &&
+ D->getType()->isDependentType())
SemaRef.DiagnoseUnusedDecl(Var);
return Var;
OpenPOWER on IntegriCloud