From 8f2abbc791bad003f5d190e70b01d7eafa2a7be1 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sat, 24 Apr 2010 22:54:32 +0000 Subject: [PATCH] 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 --- include/clang/AST/UsuallyTinyPtrVector.h | 4 +++- lib/Sema/SemaDeclCXX.cpp | 5 ++--- 2 files changed, 5 insertions(+), 4 deletions(-) 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(), -- 2.40.0