]> granicus.if.org Git - clang/commitdiff
Add an explicit UsuallyTinyPtrVector that takes a single element.
authorAnders Carlsson <andersca@mac.com>
Sat, 24 Apr 2010 22:54:32 +0000 (22:54 +0000)
committerAnders Carlsson <andersca@mac.com>
Sat, 24 Apr 2010 22:54:32 +0000 (22:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102283 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/UsuallyTinyPtrVector.h
lib/Sema/SemaDeclCXX.cpp

index 5bf3ee94644bfc2eb9023a2b155cca75b8755695..5ee40e05c956799b2a6cf5c7bdfeedc65a344166 100644 (file)
@@ -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;
index af4245d21c5bdefb66a9af935a5b2d06487c65a1..0e6ebaecd4900cf32abcb7bb1e03457e00897f09 100644 (file)
@@ -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(),