Changes in directory llvm/include/llvm/ADT:

SmallVector.h updated: 1.23 -> 1.24
---
Log message:

fix a critical bug in smallvector, where it would destroy elements that are
not in its range (!).



---
Diffs of the changes:  (+1 -1)

 SmallVector.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/include/llvm/ADT/SmallVector.h
diff -u llvm/include/llvm/ADT/SmallVector.h:1.23 
llvm/include/llvm/ADT/SmallVector.h:1.24
--- llvm/include/llvm/ADT/SmallVector.h:1.23    Wed Jan 31 14:08:34 2007
+++ llvm/include/llvm/ADT/SmallVector.h Tue Feb 13 01:25:36 2007
@@ -275,8 +275,8 @@
   
   void destroy_range(T *S, T *E) {
     while (S != E) {
-      E->~T();
       --E;
+      E->~T();
     }
   }
 };



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to