diff --git a/include/llvm/ADT/SmallPtrSet.h b/include/llvm/ADT/SmallPtrSet.h index a85b4974f89..6bd4d0927fe 100644 --- a/include/llvm/ADT/SmallPtrSet.h +++ b/include/llvm/ADT/SmallPtrSet.h @@ -90,6 +90,12 @@ public: /// was already in the set. bool insert(void *Ptr); + template + void insert(IterT I, IterT E) { + for (; I != E; ++I) + insert((void*)*I); + } + /// erase - If the set contains the specified pointer, remove it and return /// true, otherwise return false. bool erase(void *Ptr); @@ -212,8 +218,7 @@ public: template SmallPtrSet(It I, It E) : SmallPtrSetImpl(NextPowerOfTwo::Val) { - for (; I != E; ++I) - insert(*I); + insert(I, E); } typedef SmallPtrSetIterator iterator;