X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FADT%2Fpolymorphic_ptr.h;h=b8d8d71238e3c26a2a0d0386dc9327bd62739044;hb=65c98b9da474d0562f883d6001f31ba5b2b95183;hp=6114b65a309dece89415dc24e186e911c7bae31e;hpb=aec427786be4f4dd0c8ecc0aa17899e6c836e45d;p=oota-llvm.git diff --git a/include/llvm/ADT/polymorphic_ptr.h b/include/llvm/ADT/polymorphic_ptr.h index 6114b65a309..b8d8d71238e 100644 --- a/include/llvm/ADT/polymorphic_ptr.h +++ b/include/llvm/ADT/polymorphic_ptr.h @@ -38,8 +38,8 @@ template class polymorphic_ptr { T *ptr; public: - explicit polymorphic_ptr(T *ptr = 0) : ptr(ptr) {} - polymorphic_ptr(const polymorphic_ptr &arg) : ptr(arg->clone()) {} + polymorphic_ptr(T *ptr = 0) : ptr(ptr) {} + polymorphic_ptr(const polymorphic_ptr &arg) : ptr(arg ? arg->clone() : 0) {} #if LLVM_HAS_RVALUE_REFERENCES polymorphic_ptr(polymorphic_ptr &&arg) : ptr(arg.take()) {} #endif