summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-10-07 22:26:29 +0000
committerAnders Carlsson <andersca@mac.com>2009-10-07 22:26:29 +0000
commit6c966c458aba61e965f58b4739a255cc82049b69 (patch)
tree97c08b63cf397905652d5d05210a9bdb35750091 /clang/lib/Sema/SemaOverload.cpp
parent37cf79e5a6c1e51a47cbc4010a579b7948bf8560 (diff)
downloadbcm5719-llvm-6c966c458aba61e965f58b4739a255cc82049b69.tar.gz
bcm5719-llvm-6c966c458aba61e965f58b4739a255cc82049b69.zip
Handle MemberExprs in ResolveAddressOfOverloadedFunction.
llvm-svn: 83495
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index e7cd4fb5757..4de8366816d 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -4117,6 +4117,9 @@ Sema::ResolveAddressOfOverloadedFunction(Expr *From, QualType ToType,
if (DeclRefExpr *DR = dyn_cast<DeclRefExpr>(OvlExpr)) {
Ovl = dyn_cast<OverloadedFunctionDecl>(DR->getDecl());
FunctionTemplate = dyn_cast<FunctionTemplateDecl>(DR->getDecl());
+ } else if (MemberExpr *ME = dyn_cast<MemberExpr>(OvlExpr)) {
+ Ovl = dyn_cast<OverloadedFunctionDecl>(ME->getMemberDecl());
+ FunctionTemplate = dyn_cast<FunctionTemplateDecl>(ME->getMemberDecl());
}
// If there's no overloaded function declaration or function template,
OpenPOWER on IntegriCloud