Index: lld/trunk/include/lld/Core/range.h =================================================================== --- lld/trunk/include/lld/Core/range.h +++ lld/trunk/include/lld/Core/range.h @@ -29,8 +29,10 @@ namespace lld { // Nothing in this namespace is part of the exported interface. namespace detail { + using std::begin; using std::end; + /// Used as the result type of undefined functions. struct undefined {}; @@ -197,7 +199,7 @@ !std::is_pointer::value && detail::is_range::value && std::is_convertible::type, - Iterator>::value>::type* = 0) + Iterator>::value>::type* = nullptr) : begin_(detail::adl_begin(r)), end_(detail::adl_end(r)) {} /// This constructor creates a \c range from any range with @@ -229,7 +231,7 @@ && detail::conversion_preserves_array_indexing< decltype(&*detail::adl_begin(r)), Iterator>::value #endif - >::type* = 0) + >::type* = nullptr) : begin_((detail::adl_begin(r) == detail::adl_end(r) && !std::is_pointer::value) // For non-pointers, &*begin(r) is only defined behavior @@ -714,7 +716,7 @@ /// \c begin(r) and \c end(r) return the same type. template LLVM_CONSTEXPR auto make_range( Range &&r, - typename std::enable_if::value>::type* = 0) + typename std::enable_if::value>::type* = nullptr) -> range { return range(r); } @@ -728,11 +730,11 @@ Range &&r, typename std::enable_if< detail::is_contiguous_range::value && - std::is_pointer::value>::type* = 0) - -> range { + std::is_pointer::value>::type* = + nullptr) -> range { return range(r); } /// @} } // end namespace lld -#endif +#endif // LLD_CORE_RANGE_H