DenseSet: Appease msc18 to define derived constructors explicitly.

msc18 doesn't recognize "using BaseT::BaseT;"

  llvm\include\llvm/ADT/DenseSet.h(213) : error C2875: using-declaration causes a multiple declaration of 'BaseT'
          llvm\include\llvm/ADT/DenseSet.h(214) : see reference to class template instantiation 'llvm::DenseSet<ValueT,ValueInfoT>' being compiled
  llvm\include\llvm/ADT/DenseSet.h(231) : error C2875: using-declaration causes a multiple declaration of 'BaseT'
          llvm\include\llvm/ADT/DenseSet.h(232) : see reference to class template instantiation 'llvm::SmallDenseSet<ValueT,InlineBuckets,ValueInfoT>' being compiled

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284570 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
NAKAMURA Takumi 2016-10-19 05:43:17 +00:00
parent cdb220aad5
commit 82188712b6

View File

@ -210,7 +210,13 @@ class DenseSet : public detail::DenseSetImpl<
ValueInfoT>;
public:
#if defined(_MSC_VER) && _MSC_VER < 1900
explicit DenseSet(unsigned InitialReserve = 0)
: DenseSetImpl(InitialReserve) {}
DenseSet(std::initializer_list<ValueT> Elems) : DenseSetImpl(Elems) {}
#else
using BaseT::BaseT;
#endif
};
/// Implements a dense probed hash-table based set with some number of buckets
@ -228,7 +234,13 @@ class SmallDenseSet
ValueInfoT>;
public:
#if defined(_MSC_VER) && _MSC_VER < 1900
explicit SmallDenseSet(unsigned InitialReserve = 0)
: DenseSetImpl(InitialReserve) {}
SmallDenseSet(std::initializer_list<ValueT> Elems) : DenseSetImpl(Elems) {}
#else
using BaseT::BaseT;
#endif
};
} // end namespace llvm