diff options
-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(), |