Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xtl for openSUSE:Factory checked in at 2026-03-26 21:09:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xtl (Old) and /work/SRC/openSUSE:Factory/.xtl.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xtl" Thu Mar 26 21:09:53 2026 rev:13 rq:1342732 version:0.8.2 Changes: -------- --- /work/SRC/openSUSE:Factory/xtl/xtl.changes 2026-01-02 15:11:24.686530845 +0100 +++ /work/SRC/openSUSE:Factory/.xtl.new.8177/xtl.changes 2026-03-27 06:52:52.210292763 +0100 @@ -1,0 +2,6 @@ +Thu Mar 26 08:33:02 UTC 2026 - Dirk Müller <[email protected]> + +- update to 0.8.2: + * Removed warnings + +------------------------------------------------------------------- Old: ---- xtl-0.8.1.tar.gz New: ---- xtl-0.8.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xtl.spec ++++++ --- /var/tmp/diff_new_pack.8zMDsM/_old 2026-03-27 06:52:52.690312580 +0100 +++ /var/tmp/diff_new_pack.8zMDsM/_new 2026-03-27 06:52:52.690312580 +0100 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: xtl -Version: 0.8.1 +Version: 0.8.2 Release: 0 Summary: The x template library License: BSD-3-Clause ++++++ xtl-0.8.1.tar.gz -> xtl-0.8.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/.github/workflows/osx.yml new/xtl-0.8.2/.github/workflows/osx.yml --- old/xtl-0.8.1/.github/workflows/osx.yml 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/.github/workflows/osx.yml 2026-02-12 13:31:10.000000000 +0100 @@ -12,9 +12,9 @@ strategy: matrix: os: - - 13 - 14 - 15 + - 26 runs-on: macos-${{ matrix.os }} name: 'macos-${{ matrix.os }}' @@ -44,4 +44,3 @@ run: | cd build/test ./test_xtl - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/docs/source/changelog.rst new/xtl-0.8.2/docs/source/changelog.rst --- old/xtl-0.8.1/docs/source/changelog.rst 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/docs/source/changelog.rst 2026-02-12 13:31:10.000000000 +0100 @@ -7,6 +7,11 @@ Changelog ========= +0.8.2 +----- + +- Removed warnings + 0.8.1 ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/include/xtl/xbasic_fixed_string.hpp new/xtl-0.8.2/include/xtl/xbasic_fixed_string.hpp --- old/xtl-0.8.1/include/xtl/xbasic_fixed_string.hpp 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/include/xtl/xbasic_fixed_string.hpp 2026-02-12 13:31:10.000000000 +0100 @@ -218,7 +218,7 @@ struct select_storage<buffer | store_size> { template <class T, std::size_t N> - using type = typename select_fixed_storage<T[N + 1], N < (1u << (8 * sizeof(T)))>::type; + using type = typename select_fixed_storage<T[N + 1], N < (1ull << (8 * sizeof(T)))>::type; }; template <> @@ -916,8 +916,9 @@ template <class InputIt> inline auto xbasic_fixed_string<CT, N, ST, EP, TR>::assign(InputIt first, InputIt last) -> self_type& { - m_storage.set_size(error_policy::check_size(static_cast<size_type>(std::distance(first, last)))); - std::copy(first, last, data()); + auto size = error_policy::check_size(static_cast<size_type>(std::distance(first, last))); + m_storage.set_size(size); + std::copy_n(first, size, data()); return *this; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/include/xtl/xhalf_float_impl.hpp new/xtl-0.8.2/include/xtl/xhalf_float_impl.hpp --- old/xtl-0.8.1/include/xtl/xhalf_float_impl.hpp 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/include/xtl/xhalf_float_impl.hpp 2026-02-12 13:31:10.000000000 +0100 @@ -3994,7 +3994,7 @@ /// \throw std::overflow_error if `FE_OVERFLOW` is selected and set /// \throw std::underflow_error if `FE_UNDERFLOW` is selected and set /// \throw std::range_error if `FE_INEXACT` is selected and set - inline void fethrowexcept(int excepts, const char *msg = "") { + inline void fethrowexcept([[maybe_unused]] int excepts, const char *msg = "") { excepts &= detail::errflags(); #if HALF_ERRHANDLING_THROWS #ifdef HALF_ERRHANDLING_THROW_INVALID diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/include/xtl/xsequence.hpp new/xtl-0.8.2/include/xtl/xsequence.hpp --- old/xtl-0.8.1/include/xtl/xsequence.hpp 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/include/xtl/xsequence.hpp 2026-02-12 13:31:10.000000000 +0100 @@ -11,6 +11,7 @@ #define XTL_SEQUENCE_HPP #include <array> +#include <algorithm> #include <cstddef> #include <type_traits> #include <utility> @@ -120,7 +121,8 @@ static inline R forward(const T& r) { R ret; - std::copy(std::begin(r), std::end(r), std::begin(ret)); + // We can not use std::copy here because it gives an array-bounds warning with GCC + std::copy_n(std::begin(r), std::size(ret), std::begin(ret)); return ret; } }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/include/xtl/xspan_impl.hpp new/xtl-0.8.2/include/xtl/xspan_impl.hpp --- old/xtl-0.8.1/include/xtl/xspan_impl.hpp 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/include/xtl/xspan_impl.hpp 2026-02-12 13:31:10.000000000 +0100 @@ -551,13 +551,13 @@ /* Deduction Guides */ template <class T, size_t N> -span(T (&)[N])->span<T, N>; +span(T (&)[N])->span<T, static_cast<std::ptrdiff_t>(N)>; template <class T, size_t N> -span(std::array<T, N>&)->span<T, N>; +span(std::array<T, N>&)->span<T, static_cast<std::ptrdiff_t>(N)>; template <class T, size_t N> -span(const std::array<T, N>&)->span<const T, N>; +span(const std::array<T, N>&)->span<const T, static_cast<std::ptrdiff_t>(N)>; template <class Container> span(Container&)->span<typename Container::value_type>; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/include/xtl/xtl_config.hpp new/xtl-0.8.2/include/xtl/xtl_config.hpp --- old/xtl-0.8.1/include/xtl/xtl_config.hpp 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/include/xtl/xtl_config.hpp 2026-02-12 13:31:10.000000000 +0100 @@ -12,7 +12,7 @@ #define XTL_VERSION_MAJOR 0 #define XTL_VERSION_MINOR 8 -#define XTL_VERSION_PATCH 1 +#define XTL_VERSION_PATCH 2 #ifndef __has_feature #define __has_feature(x) 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/test/CMakeLists.txt new/xtl-0.8.2/test/CMakeLists.txt --- old/xtl-0.8.1/test/CMakeLists.txt 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/test/CMakeLists.txt 2026-02-12 13:31:10.000000000 +0100 @@ -37,7 +37,7 @@ endif() if(CMAKE_CXX_COMPILER_ID MATCHES GNU OR CMAKE_CXX_COMPILER_ID MATCHES Intel) - add_compile_options(-Wunused-parameter -Wextra -Wreorder -Wconversion -Wsign-conversion) + add_compile_options(-Werror -Wall -Wextra -Wconversion -Wsign-conversion $<$<AND:$<CXX_COMPILER_ID:GNU>,$<VERSION_LESS:$<CXX_COMPILER_VERSION>,12>>:-Wno-stringop-overflow>) if(NOT CMAKE_CXX_FLAGS MATCHES "-march") CHECK_CXX_COMPILER_FLAG(-march=native HAS_MARCH_NATIVE) @@ -60,7 +60,7 @@ if(CMAKE_CXX_COMPILER_ID MATCHES Clang) if(NOT WIN32) - add_compile_options(-Wunused-parameter -Wextra -Wreorder -Wconversion -Wsign-conversion) + add_compile_options(-Werror -Wall -Wextra -Wconversion -Wsign-conversion) if(NOT CMAKE_CXX_FLAGS MATCHES "-march") CHECK_CXX_COMPILER_FLAG(-march=native HAS_MARCH_NATIVE) @@ -93,7 +93,7 @@ test_xfunctional.cpp test_xhalf_float.cpp test_xhash.cpp - test_xhierarchy_generator.cpp + # test_xhierarchy_generator.cpp test_xiterator_base.cpp test_xmasked_value.cpp test_xmeta_utils.cpp diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/test/test_xbasic_fixed_string.cpp new/xtl-0.8.2/test/test_xbasic_fixed_string.cpp --- old/xtl-0.8.1/test/test_xbasic_fixed_string.cpp 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/test/test_xbasic_fixed_string.cpp 2026-02-12 13:31:10.000000000 +0100 @@ -1105,7 +1105,6 @@ { string_type s1 = "aabcdef"; string_type s2 = "abcdefg"; - string_type s3 = "aabcd"; EXPECT_TRUE(s1 < s2); EXPECT_TRUE(s1 <= s2); @@ -1278,8 +1277,8 @@ TEST(xfixed_string, limit) { - using string_type = xbasic_fixed_string<char, 255, buffer | store_size, string_policy::throwing_error>; - string_type s1 = "hello"; + using string_type_ = xbasic_fixed_string<char, 255, buffer | store_size, string_policy::throwing_error>; + string_type_ s1 = "hello"; static_assert(sizeof(s1) == 256 * sizeof(char), "minimal storage"); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/test/test_xcomplex.cpp new/xtl-0.8.2/test/test_xcomplex.cpp --- old/xtl-0.8.1/test/test_xcomplex.cpp 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/test/test_xcomplex.cpp 2026-02-12 13:31:10.000000000 +0100 @@ -318,7 +318,7 @@ { double x = 5.0; auto x_closure = closure(x); - std::complex<double> b(0, 5), c; + std::complex<double> b(0, 5); EXPECT_COMPLEX_APPROX_EQ(b + x_closure, b + 5.0); EXPECT_COMPLEX_APPROX_EQ(x_closure + b, 5.0 + b); EXPECT_COMPLEX_APPROX_EQ(b - x_closure, b - 5.0); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/test/test_xmasked_value.cpp new/xtl-0.8.2/test/test_xmasked_value.cpp --- old/xtl-0.8.1/test/test_xmasked_value.cpp 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/test/test_xmasked_value.cpp 2026-02-12 13:31:10.000000000 +0100 @@ -575,6 +575,7 @@ EXPECT_EQ(pow(o, m1).value(), std::pow(5., 5.)); EXPECT_EQ(pow(m1, 2).value(), 25.0); EXPECT_EQ(pow(2, m1).value(), 32); + EXPECT_EQ(pow(m1, m2).value(), std::pow(5., 5.)); } TEST(xmasked_value, ternary_op) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/test/test_xoptional.cpp new/xtl-0.8.2/test/test_xoptional.cpp --- old/xtl-0.8.1/test/test_xoptional.cpp 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/test/test_xoptional.cpp 2026-02-12 13:31:10.000000000 +0100 @@ -210,7 +210,6 @@ auto res8 = fma(o1, o2, o3); EXPECT_EQ(res8, std::fma(d1, d2, d3)); - using optional_int = xoptional<int, bool>; using optional_int_ref = xoptional<int&, bool&>; int i1 = 9; int i2 = 4; @@ -232,7 +231,7 @@ auto res13 = ~oi1; EXPECT_EQ(res13, optional(~i1, true)); - + auto res5 = oi1 || oi2; EXPECT_EQ(res5, optional(i1 || i2, true)); @@ -297,7 +296,6 @@ TEST(xoptional, select) { - using opt_type = xoptional<double, bool>; using bool_opt_type = xoptional<bool, bool>; auto missing_val = missing<double>(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtl-0.8.1/test/test_xsequence.cpp new/xtl-0.8.2/test/test_xsequence.cpp --- old/xtl-0.8.1/test/test_xsequence.cpp 2025-10-09 08:06:48.000000000 +0200 +++ new/xtl-0.8.2/test/test_xsequence.cpp 2026-02-12 13:31:10.000000000 +0100 @@ -39,14 +39,24 @@ return result(xtl::forward_sequence<shape_type, T>(arg)); } + template <class T> + auto test_data(T&& arg) + { + using shape_type = std::array<int, 1>; + shape_type a = xtl::forward_sequence<shape_type, T>(arg); + return a; + } + TEST(xsequence, forward_type) { - std::array<int, 2> a, b; - std::vector<int> c; + std::array<int, 2> a; + std::vector<int> c(2); + EXPECT_TRUE(test(std::move(a))); EXPECT_FALSE(test(a)); EXPECT_TRUE(test(c)); EXPECT_TRUE(test(std::move(c))); + EXPECT_EQ(test_data(c)[0], 0); } template <class R, class T> @@ -57,11 +67,19 @@ TEST(xsequence, different_arrays) { - std::array<int, 3> x, y; - aligned_array<int, 3> aa, ab; + std::array<int, 3> x{}; + aligned_array<int, 3> aa{}; auto res1 = test_different_array<aligned_array<int, 3>>(x); + EXPECT_EQ(res1.size(), 3); + EXPECT_EQ(res1[0], 0); + EXPECT_EQ(res1[1], 0); + EXPECT_EQ(res1[2], 0); auto res2 = test_different_array<aligned_array<int, 3>>(aa); + EXPECT_EQ(res2.size(), 3); + EXPECT_EQ(res2[0], 0); + EXPECT_EQ(res2[1], 0); + EXPECT_EQ(res2[2], 0); } TEST(xsequence, forward)
