aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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(),