diff options
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r-- | clang/lib/Sema/SemaOverload.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp index 27e7db099d8..5392af4abf0 100644 --- a/clang/lib/Sema/SemaOverload.cpp +++ b/clang/lib/Sema/SemaOverload.cpp @@ -3519,8 +3519,10 @@ Sema::ResolveAddressOfOverloadedFunction(Expr *From, QualType ToType, bool Complain) { QualType FunctionType = ToType; bool IsMember = false; - if (const PointerLikeType *ToTypePtr = ToType->getAsPointerLikeType()) + if (const PointerType *ToTypePtr = ToType->getAsPointerType()) FunctionType = ToTypePtr->getPointeeType(); + else if (const ReferenceType *ToTypeRef = ToType->getAsReferenceType()) + FunctionType = ToTypeRef->getPointeeType(); else if (const MemberPointerType *MemTypePtr = ToType->getAsMemberPointerType()) { FunctionType = MemTypePtr->getPointeeType(); |