diff options
author | Anders Carlsson <andersca@mac.com> | 2010-04-24 22:54:32 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2010-04-24 22:54:32 +0000 |
commit | 8f2abbc791bad003f5d190e70b01d7eafa2a7be1 (patch) | |
tree | 21433333c8360ddfdbe501653fa6c07c5acbe815 | |
parent | f500de5bdfa1ab8e6944bb3519c2ae27f87c414b (diff) |
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
-rw-r--r-- | include/clang/AST/UsuallyTinyPtrVector.h | 4 | ||||
-rw-r--r-- | 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<uintptr_t>(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(), |