summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-05-13 00:34:01 +0000
committerDouglas Gregor <dgregor@apple.com>2011-05-13 00:34:01 +0000
commita6a7e3c1f2860d0f616fdc157ccfee1a8cd22c8e (patch)
tree0897bad2126fb243f6c900d5a547adfff86973f0
parent662d91f1cd1784872b7e02f1fee65f4f51a43f6e (diff)
downloadbcm5719-llvm-a6a7e3c1f2860d0f616fdc157ccfee1a8cd22c8e.tar.gz
bcm5719-llvm-a6a7e3c1f2860d0f616fdc157ccfee1a8cd22c8e.zip
Teach the template parameter dependency checker used when matching
template parameter lists to scope specifiers for friend declarations about injected class name types. Fixes the g++.dg/template/memfriend5.C regression in the GCC testsuite. llvm-svn: 131272
-rw-r--r--clang/lib/Sema/SemaTemplate.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp
index 5d93067a959..58c12d4c754 100644
--- a/clang/lib/Sema/SemaTemplate.cpp
+++ b/clang/lib/Sema/SemaTemplate.cpp
@@ -1430,6 +1430,10 @@ struct DependencyChecker : RecursiveASTVisitor<DependencyChecker> {
}
return super::VisitDeclRefExpr(E);
}
+
+ bool TraverseInjectedClassNameType(const InjectedClassNameType *T) {
+ return TraverseType(T->getInjectedSpecializationType());
+ }
};
}
OpenPOWER on IntegriCloud