diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2009-10-07 20:43:36 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2009-10-07 20:43:36 +0000 |
commit | 0351a1e2e17c1edf27f90c23fbf65d8fcad995c4 (patch) | |
tree | c8ac743f00e74c097b13baf564c0692d73c25f3b /include | |
parent | 0a4074768a6ecd81513f0db02bfb0e96ab3e56a0 (diff) |
Fixes problem in finding visible convertion functions of a class
where matching conversion types in base classes were still visible.
Plus refactoring and cleanup.
Added a test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83485 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/clang/AST/DeclCXX.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/clang/AST/DeclCXX.h b/include/clang/AST/DeclCXX.h index 4038fe6081..ee6314cc36 100644 --- a/include/clang/AST/DeclCXX.h +++ b/include/clang/AST/DeclCXX.h @@ -17,6 +17,7 @@ #include "clang/AST/Expr.h" #include "clang/AST/Decl.h" #include "llvm/ADT/SmallVector.h" +#include "llvm/ADT/SmallPtrSet.h" namespace clang { @@ -394,7 +395,11 @@ class CXXRecordDecl : public RecordDecl { llvm::PointerUnion<ClassTemplateDecl*, CXXRecordDecl*> TemplateOrInstantiation; - void getNestedVisibleConversionFunctions(CXXRecordDecl *RD); + void getNestedVisibleConversionFunctions(CXXRecordDecl *RD, + const llvm::SmallPtrSet<QualType, 8> &TopConversionsTypeSet, + const llvm::SmallPtrSet<QualType, 8> &HiddenConversionTypes); + void collectConversionFunctions( + llvm::SmallPtrSet<QualType, 8>& ConversionsTypeSet); protected: CXXRecordDecl(Kind K, TagKind TK, DeclContext *DC, |