From: Fariborz Jahanian Date: Mon, 12 Oct 2009 18:36:50 +0000 (+0000) Subject: Use CanQualType (instead of QualType) to store collection of visible X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f4e462c2c2f4cb76c5a75d952adeb4355f32f6a7;p=clang Use CanQualType (instead of QualType) to store collection of visible canonical conversion types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83869 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/DeclCXX.h b/include/clang/AST/DeclCXX.h index 85c678acd2..7c651b2cc0 100644 --- a/include/clang/AST/DeclCXX.h +++ b/include/clang/AST/DeclCXX.h @@ -397,10 +397,10 @@ class CXXRecordDecl : public RecordDecl { TemplateOrInstantiation; void getNestedVisibleConversionFunctions(CXXRecordDecl *RD, - const llvm::SmallPtrSet &TopConversionsTypeSet, - const llvm::SmallPtrSet &HiddenConversionTypes); + const llvm::SmallPtrSet &TopConversionsTypeSet, + const llvm::SmallPtrSet &HiddenConversionTypes); void collectConversionFunctions( - llvm::SmallPtrSet& ConversionsTypeSet); + llvm::SmallPtrSet& ConversionsTypeSet); protected: CXXRecordDecl(Kind K, TagKind TK, DeclContext *DC, diff --git a/lib/AST/DeclCXX.cpp b/lib/AST/DeclCXX.cpp index fc5f5934b0..64e800094e 100644 --- a/lib/AST/DeclCXX.cpp +++ b/lib/AST/DeclCXX.cpp @@ -287,14 +287,15 @@ void CXXRecordDecl::addedAssignmentOperator(ASTContext &Context, void CXXRecordDecl::collectConversionFunctions( - llvm::SmallPtrSet& ConversionsTypeSet) { + llvm::SmallPtrSet& ConversionsTypeSet) +{ OverloadedFunctionDecl *TopConversions = getConversionFunctions(); for (OverloadedFunctionDecl::function_iterator TFunc = TopConversions->function_begin(), TFuncEnd = TopConversions->function_end(); TFunc != TFuncEnd; ++TFunc) { NamedDecl *TopConv = TFunc->get(); - QualType TConvType; + CanQualType TConvType; if (FunctionTemplateDecl *TConversionTemplate = dyn_cast(TopConv)) TConvType = @@ -317,8 +318,9 @@ CXXRecordDecl::collectConversionFunctions( /// in current class. void CXXRecordDecl::getNestedVisibleConversionFunctions(CXXRecordDecl *RD, - const llvm::SmallPtrSet &TopConversionsTypeSet, - const llvm::SmallPtrSet &HiddenConversionTypes) { + const llvm::SmallPtrSet &TopConversionsTypeSet, + const llvm::SmallPtrSet &HiddenConversionTypes) +{ bool inTopClass = (RD == this); QualType ClassType = getASTContext().getTypeDeclType(this); if (const RecordType *Record = ClassType->getAs()) { @@ -332,7 +334,7 @@ CXXRecordDecl::getNestedVisibleConversionFunctions(CXXRecordDecl *RD, NamedDecl *Conv = Func->get(); // Only those conversions not exact match of conversions in current // class are candidateconversion routines. - QualType ConvType; + CanQualType ConvType; if (FunctionTemplateDecl *ConversionTemplate = dyn_cast(Conv)) ConvType = @@ -360,7 +362,7 @@ CXXRecordDecl::getNestedVisibleConversionFunctions(CXXRecordDecl *RD, if (getNumBases() == 0 && getNumVBases() == 0) return; - llvm::SmallPtrSet ConversionFunctions; + llvm::SmallPtrSet ConversionFunctions; if (!inTopClass) collectConversionFunctions(ConversionFunctions); @@ -397,7 +399,7 @@ CXXRecordDecl::getVisibleConversionFunctions() { // If visible conversion list is already evaluated, return it. if (ComputedVisibleConversions) return &VisibleConversions; - llvm::SmallPtrSet TopConversionsTypeSet; + llvm::SmallPtrSet TopConversionsTypeSet; collectConversionFunctions(TopConversionsTypeSet); getNestedVisibleConversionFunctions(this, TopConversionsTypeSet, TopConversionsTypeSet);