From: Anders Carlsson Date: Sat, 24 Apr 2010 22:54:32 +0000 (+0000) Subject: Add an explicit UsuallyTinyPtrVector that takes a single element. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8f2abbc791bad003f5d190e70b01d7eafa2a7be1;p=clang Add an explicit UsuallyTinyPtrVector that takes a single element. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102283 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/UsuallyTinyPtrVector.h b/include/clang/AST/UsuallyTinyPtrVector.h index 5bf3ee9464..5ee40e05c9 100644 --- a/include/clang/AST/UsuallyTinyPtrVector.h +++ b/include/clang/AST/UsuallyTinyPtrVector.h @@ -33,7 +33,9 @@ class UsuallyTinyPtrVector { public: UsuallyTinyPtrVector() : Storage(0) { } - + explicit UsuallyTinyPtrVector(T *Element) + : Storage(reinterpret_cast(Element)) { } + bool empty() const { return !Storage; } typedef const T **iterator; diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index af4245d21c..0e6ebaecd4 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/lib/Sema/SemaDeclCXX.cpp @@ -1503,11 +1503,10 @@ BuildImplicitBaseInitializer(Sema &SemaRef, CXXConstructorDecl *Constructor, SourceLocation(), ParamType, 0); // Cast to the base class to avoid ambiguities. - CXXBaseSpecifierArray BasePath; - BasePath.push_back(BaseSpec); SemaRef.ImpCastExprToType(CopyCtorArg, BaseSpec->getType(), CastExpr::CK_UncheckedDerivedToBase, - /*isLvalue=*/true, BasePath); + /*isLvalue=*/true, + CXXBaseSpecifierArray(BaseSpec)); InitializationKind InitKind = InitializationKind::CreateDirect(Constructor->getLocation(),