Kaydet (Commit) 83102e4f authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Remove obsolete _MSC_VER checks

...after 206b8c4a "On Windows, check for at
least Visual Studio 2017 version 15.7"

Change-Id: I38ee86e1649bbdc828a7e328f2dbbac0dc163c8a
Reviewed-on: https://gerrit.libreoffice.org/64250
Tested-by: Jenkins
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst f3ea5e21
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
// that an Output Iterator have output_iterator_tag in its iterator_category if // that an Output Iterator have output_iterator_tag in its iterator_category if
// that iterator is not bidirectional_iterator or random_access_iterator. // that iterator is not bidirectional_iterator or random_access_iterator.
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600)
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) || (defined __clang__ && BOOST_WORKAROUND(_MSC_VER, >= 1600)) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) || defined __clang__
struct mutable_iterator_tag struct mutable_iterator_tag
: boost::random_access_traversal_tag, std::input_iterator_tag : boost::random_access_traversal_tag, std::input_iterator_tag
{ {
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
// iterator support // iterator support
// //
-#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) -#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600)
+#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) || (defined __clang__ && BOOST_WORKAROUND(_MSC_VER, >= 1600)) +#if BOOST_WORKAROUND(BOOST_MSVC, >= 1600) || defined __clang__
// Deal with VC 2010 output_iterator_tag requirement // Deal with VC 2010 output_iterator_tag requirement
typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference, typedef array_iterator<T,T*,mpl::size_t<NumDims>,reference,
mutable_iterator_tag> iterator; mutable_iterator_tag> iterator;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// Helper types // Helper types
//! Base iterator. //! Base iterator.
+#if defined _MSC_VER && !defined __clang__ && _MSC_VER >= 1914 +#if defined _MSC_VER && !defined __clang__
+#pragma warning(push) +#pragma warning(push)
+#pragma warning(disable: 4996) +#pragma warning(disable: 4996)
+#endif +#endif
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
typename Traits::difference_type, typename Traits::difference_type,
typename Traits::pointer, typename Traits::pointer,
typename Traits::reference> base_iterator; typename Traits::reference> base_iterator;
+#if defined _MSC_VER && !defined __clang__ && _MSC_VER >= 1914 +#if defined _MSC_VER && !defined __clang__
+#pragma warning(pop) +#pragma warning(pop)
+#endif +#endif
...@@ -26,12 +26,12 @@ ...@@ -26,12 +26,12 @@
namespace boost namespace boost
{ {
+#if defined _MSC_VER && !defined __clang__ && _MSC_VER >= 1914 +#if defined _MSC_VER && !defined __clang__
+#pragma warning(push) +#pragma warning(push)
+#pragma warning(disable: 4996) +#pragma warning(disable: 4996)
+#endif +#endif
using std::iterator; using std::iterator;
+#if defined _MSC_VER && !defined __clang__ && _MSC_VER >= 1914 +#if defined _MSC_VER && !defined __clang__
+#pragma warning(pop) +#pragma warning(pop)
+#endif +#endif
......
...@@ -177,16 +177,7 @@ public: ...@@ -177,16 +177,7 @@ public:
#if HAVE_CXX14_CONSTEXPR #if HAVE_CXX14_CONSTEXPR
constexpr constexpr
#endif #endif
basic_string_view & operator =(basic_string_view const & other) noexcept basic_string_view & operator =(basic_string_view const & other) noexcept = default;
#if defined _MSC_VER && _MSC_VER <= 1900 && !defined __clang__
{
data_ = other.data_;
size_ = other.size_;
return *this;
}
#else
= default;
#endif
// The various character types are handled below in the "LO specifics, to // The various character types are handled below in the "LO specifics, to
// make up for traits::length not necessarily being constexpr yet for // make up for traits::length not necessarily being constexpr yet for
......
...@@ -65,12 +65,7 @@ namespace rtl ...@@ -65,12 +65,7 @@ namespace rtl
Instances of OUStringLiteral1 need to be const, as those literal-optimized Instances of OUStringLiteral1 need to be const, as those literal-optimized
functions take the literal argument by non-const lvalue reference, for functions take the literal argument by non-const lvalue reference, for
technical reasons. Except with MSVC, at least up to Visual Studio 2013: technical reasons.
For one, it fails to take that const-ness into account when trying to match
"OUStringLiteral1_ const" against T in a "T & literal" parameter of a
function template. But for another, as a language extension, it allows to
bind non-const temporary OUStringLiteral1_ instances to non-const lvalue
references, but also with a warning that thus needs to be disabled.
@since LibreOffice 5.0 @since LibreOffice 5.0
*/ */
...@@ -78,13 +73,7 @@ struct SAL_WARN_UNUSED OUStringLiteral1_ { ...@@ -78,13 +73,7 @@ struct SAL_WARN_UNUSED OUStringLiteral1_ {
constexpr OUStringLiteral1_(sal_Unicode theC): c(theC) {} constexpr OUStringLiteral1_(sal_Unicode theC): c(theC) {}
sal_Unicode const c; sal_Unicode const c;
}; };
#if defined _MSC_VER && _MSC_VER <= 1900 && !defined __clang__
// Visual Studio 2015
using OUStringLiteral1 = OUStringLiteral1_;
#pragma warning(disable: 4239) // nonstandard extension used: 'argument': conversion from 'rtl::OUStringLiteral1_' to 'rtl::OUStringLiteral1_ &'
#else
using OUStringLiteral1 = OUStringLiteral1_ const; using OUStringLiteral1 = OUStringLiteral1_ const;
#endif
/// @endcond /// @endcond
#endif #endif
......
...@@ -35,8 +35,6 @@ ...@@ -35,8 +35,6 @@
#endif #endif
#endif #endif
#if !(defined _MSC_VER && _MSC_VER <= 1900 && !defined __clang__)
namespace vcl { namespace detail { namespace vcl { namespace detail {
template<typename> template<typename>
...@@ -48,8 +46,6 @@ template<typename T> constexpr bool isIncompleteOrDerivedFromVclReferenceBase( ...@@ -48,8 +46,6 @@ template<typename T> constexpr bool isIncompleteOrDerivedFromVclReferenceBase(
}; }; // namespace detail, namespace vcl }; }; // namespace detail, namespace vcl
#endif
/** /**
* A thin wrapper around rtl::Reference to implement the acquire and dispose semantics we want for references to vcl::Window subclasses. * A thin wrapper around rtl::Reference to implement the acquire and dispose semantics we want for references to vcl::Window subclasses.
* *
...@@ -60,12 +56,10 @@ template<typename T> constexpr bool isIncompleteOrDerivedFromVclReferenceBase( ...@@ -60,12 +56,10 @@ template<typename T> constexpr bool isIncompleteOrDerivedFromVclReferenceBase(
template <class reference_type> template <class reference_type>
class VclPtr class VclPtr
{ {
#if !(defined _MSC_VER && _MSC_VER <= 1900 && !defined __clang__)
static_assert( static_assert(
vcl::detail::isIncompleteOrDerivedFromVclReferenceBase<reference_type>( vcl::detail::isIncompleteOrDerivedFromVclReferenceBase<reference_type>(
nullptr), nullptr),
"template argument type must be derived from VclReferenceBase"); "template argument type must be derived from VclReferenceBase");
#endif
::rtl::Reference<reference_type> m_rInnerRef; ::rtl::Reference<reference_type> m_rInnerRef;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment