X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FSupport%2FRecycler.h;h=fa6e189e97bd063d6c2b17963d6a6b8f6bf1e4b6;hb=118f194966d20460c2b1653e06c601e4b66c9b3f;hp=3f235b6e72f407009739b4344ffd0085d2254334;hpb=fed90b6d097d50881afb45e4d79f430db66dd741;p=oota-llvm.git diff --git a/include/llvm/Support/Recycler.h b/include/llvm/Support/Recycler.h index 3f235b6e72f..fa6e189e97b 100644 --- a/include/llvm/Support/Recycler.h +++ b/include/llvm/Support/Recycler.h @@ -17,6 +17,7 @@ #include "llvm/ADT/ilist.h" #include "llvm/Support/AlignOf.h" +#include "llvm/Support/ErrorHandling.h" #include namespace llvm { @@ -34,7 +35,8 @@ struct RecyclerStruct { }; template<> -struct ilist_traits : ilist_default_traits { +struct ilist_traits : + public ilist_default_traits { static RecyclerStruct *getPrev(const RecyclerStruct *t) { return t->Prev; } static RecyclerStruct *getNext(const RecyclerStruct *t) { return t->Next; } static void setPrev(RecyclerStruct *t, RecyclerStruct *p) { t->Prev = p; } @@ -46,8 +48,12 @@ struct ilist_traits : ilist_default_traits { } static void destroySentinel(RecyclerStruct *) {} + RecyclerStruct *provideInitialHead() const { return createSentinel(); } + RecyclerStruct *ensureHead(RecyclerStruct*) const { return createSentinel(); } + static void noteHead(RecyclerStruct*, RecyclerStruct*) {} + static void deleteNode(RecyclerStruct *) { - assert(0 && "Recycler's ilist_traits shouldn't see a deleteNode call!"); + llvm_unreachable("Recycler's ilist_traits shouldn't see a deleteNode call!"); } };