aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2009-10-07 20:43:36 +0000
committerFariborz Jahanian <fjahanian@apple.com>2009-10-07 20:43:36 +0000
commit0351a1e2e17c1edf27f90c23fbf65d8fcad995c4 (patch)
treec8ac743f00e74c097b13baf564c0692d73c25f3b /include
parent0a4074768a6ecd81513f0db02bfb0e96ab3e56a0 (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.h7
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,