From 483eb2f56657e8e7f419ab1a4fab8dce9ade8609 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 20:24:20 +0200 Subject: Adding upstream version 14.2.21. Signed-off-by: Daniel Baumann --- src/boost/libs/multiprecision/test/bug11922.cpp | 61 +++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/boost/libs/multiprecision/test/bug11922.cpp (limited to 'src/boost/libs/multiprecision/test/bug11922.cpp') diff --git a/src/boost/libs/multiprecision/test/bug11922.cpp b/src/boost/libs/multiprecision/test/bug11922.cpp new file mode 100644 index 00000000..c615ba52 --- /dev/null +++ b/src/boost/libs/multiprecision/test/bug11922.cpp @@ -0,0 +1,61 @@ +/////////////////////////////////////////////////////////////////////////////// +// Copyright 2016 John Maddock. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +#include +#include + +#if defined(__apple_build_version__) && (__clang_major__ < 9) +// +// Apples clang fails with: +// error: no matching function for call to '__implicit_conversion_to' +// Which is nothing to do with us really... +// +#define DISABLE_TEST +#endif + +typedef boost::multiprecision::cpp_int mp_int; + +#if !defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) && !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(DISABLE_TEST) + +class Int1 +{ + public: + Int1(const mp_int& i) {} + Int1(const Int1& i) {} +}; + +class Int2 +{ + public: + Int2(const mp_int& i) {} + Int2(const Int2& i) = delete; +}; + +int main() +{ + using namespace boost::multiprecision; + + mp_int i(10); + Int1 a(i + 10); + Int2 b(i + 20); + +#ifndef BOOST_NO_CXX11_SMART_PTR + + std::shared_ptr p1 = std::make_shared(i + 10); + std::shared_ptr p2 = std::make_shared(i + 10); + +#endif + + return 0; +} + +#else + +int main() +{ + return 0; +} + +#endif -- cgit v1.2.3