aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2010-04-24 22:54:32 +0000
committerAnders Carlsson <andersca@mac.com>2010-04-24 22:54:32 +0000
commit8f2abbc791bad003f5d190e70b01d7eafa2a7be1 (patch)
tree21433333c8360ddfdbe501653fa6c07c5acbe815
parentf500de5bdfa1ab8e6944bb3519c2ae27f87c414b (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.h4
-rw-r--r--lib/Sema/SemaDeclCXX.cpp5
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(),