]> granicus.if.org Git - clang/commitdiff
Replace a dubious use of SmallVectorImpl with a proper copy.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 20 Jan 2012 16:39:18 +0000 (16:39 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 20 Jan 2012 16:39:18 +0000 (16:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148549 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaTemplateDeduction.cpp

index 4fff827206cbd64aec0b411b124d1717e880b107..137556fa214f5af51de93d22cb51f4e079466fb4 100644 (file)
@@ -1335,8 +1335,8 @@ DeduceTemplateArgumentsByTypeMatch(Sema &S,
           SmallVector<const RecordType *, 8> ToVisit;
           ToVisit.push_back(RecordT);
           bool Successful = false;
-          SmallVectorImpl<DeducedTemplateArgument> DeducedOrig(0);
-          DeducedOrig = Deduced;
+          SmallVector<DeducedTemplateArgument, 8> DeducedOrig(Deduced.begin(),
+                                                              Deduced.end());
           while (!ToVisit.empty()) {
             // Retrieve the next class in the inheritance hierarchy.
             const RecordType *NextT = ToVisit.back();
@@ -1358,7 +1358,8 @@ DeduceTemplateArgumentsByTypeMatch(Sema &S,
               // from this base class.
               if (BaseResult == Sema::TDK_Success) {
                 Successful = true;
-                DeducedOrig = Deduced;
+                DeducedOrig.clear();
+                DeducedOrig.append(Deduced.begin(), Deduced.end());
               }
               else
                 Deduced = DeducedOrig;