diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2009-09-15 22:15:23 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2009-09-15 22:15:23 +0000 |
commit | 8b915e7048b20b0feb60ec90c365a8eb68360cd4 (patch) | |
tree | 10ef5cafce0554184195e95619ad0d59c898dd10 /lib/AST/DeclCXX.cpp | |
parent | 13392aa6895bcdbbec4aa4abe48fb3d709f1e596 (diff) |
1) don't do overload resolution in selecting conversion
to pointer function for delete expression. 2)
Treat type conversion function and its 'const' version
as identical in building the visible conversion list.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81930 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/DeclCXX.cpp')
-rw-r--r-- | lib/AST/DeclCXX.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/AST/DeclCXX.cpp b/lib/AST/DeclCXX.cpp index 8755067137..c979acd6eb 100644 --- a/lib/AST/DeclCXX.cpp +++ b/lib/AST/DeclCXX.cpp @@ -314,7 +314,7 @@ CXXRecordDecl::getNestedVisibleConversionFunctions(CXXRecordDecl *RD) { else TConvType = getASTContext().getCanonicalType( - cast<FunctionDecl>(TopConv)->getType()); + cast<CXXConversionDecl>(TopConv)->getConversionType()); TopConversionsTypeSet.insert(TConvType); } } @@ -334,7 +334,8 @@ CXXRecordDecl::getNestedVisibleConversionFunctions(CXXRecordDecl *RD) { ConversionTemplate->getTemplatedDecl()->getType()); else ConvType = - getASTContext().getCanonicalType(cast<FunctionDecl>(Conv)->getType()); + getASTContext().getCanonicalType( + cast<CXXConversionDecl>(Conv)->getConversionType()); if (inTopClass || !TopConversionsTypeSet.count(ConvType)) { if (FunctionTemplateDecl *ConversionTemplate = dyn_cast<FunctionTemplateDecl>(Conv)) |