Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package c++utilities for openSUSE:Factory checked in at 2026-10-13 17:44:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/c++utilities (Old) and /work/SRC/openSUSE:Factory/.c++utilities.new.3698736 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "c++utilities" Tue Oct 13 17:44:34 2026 rev:4 rq:1384458 version:5.37.0 Changes: -------- --- /work/SRC/openSUSE:Factory/c++utilities/c++utilities.changes 2026-09-28 10:44:53.498028560 +0200 +++ /work/SRC/openSUSE:Factory/.c++utilities.new.3698736/c++utilities.changes 2026-10-13 17:44:48.760976005 +0200 @@ -1,0 +2,11 @@ +Mon Oct 12 13:48:44 UTC 2026 - Jonatas Gonçalves <[email protected]> + +- Update to version 5.37.0: + * Add macros for disabling warnings in a standardized way. + * Disable compiler warnings using the new macros across various components + and tests. + * Force use of external iconv by default under Windows. + * Fix in-source builds after reconfiguration. + * Bump minor version. + +------------------------------------------------------------------- Old: ---- cpp-utilities-5.36.0.tar.gz New: ---- cpp-utilities-5.37.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ c++utilities.spec ++++++ --- /var/tmp/diff_new_pack.qjNhA1/_old 2026-10-13 17:44:49.483006265 +0200 +++ /var/tmp/diff_new_pack.qjNhA1/_new 2026-10-13 17:44:49.484006306 +0200 @@ -20,7 +20,7 @@ %define soname 5 Name: %{reponame} -Version: 5.36.0 +Version: 5.37.0 Release: 0 Summary: Common C++ classes and routines License: GPL-2.0-or-later ++++++ cpp-utilities-5.36.0.tar.gz -> cpp-utilities-5.37.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cpp-utilities-5.36.0/CMakeLists.txt new/cpp-utilities-5.37.0/CMakeLists.txt --- old/cpp-utilities-5.36.0/CMakeLists.txt 2026-09-19 23:10:37.000000000 +0200 +++ new/cpp-utilities-5.37.0/CMakeLists.txt 2026-09-24 13:57:29.000000000 +0200 @@ -122,7 +122,7 @@ set(META_APP_URL "https://github.com/${META_APP_AUTHOR}/${META_PROJECT_NAME}") set(META_APP_DESCRIPTION "Useful C++ classes and routines such as argument parser, IO and conversion utilities") set(META_VERSION_MAJOR 5) -set(META_VERSION_MINOR 36) +set(META_VERSION_MINOR 37) set(META_VERSION_PATCH 0) # find required 3rd party libraries diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cpp-utilities-5.36.0/CMakePresets.json new/cpp-utilities-5.37.0/CMakePresets.json --- old/cpp-utilities-5.36.0/CMakePresets.json 2026-09-19 23:10:37.000000000 +0200 +++ new/cpp-utilities-5.37.0/CMakePresets.json 2026-09-24 13:57:29.000000000 +0200 @@ -562,7 +562,6 @@ "GO_BIN": {"type": "FILEPATH", "value": "$env{MSYS2_PREFIX_PATH}/bin/go.exe"}, "FFMPEG_BIN": {"type": "FILEPATH", "value": "$env{MSYS2_PREFIX_PATH}/bin/ffmpeg.exe"}, "REALPATH_BIN": {"type": "FILEPATH", "value": "$env{MSYS2_ROOT}/usr/bin/realpath.exe"}, - "FORCE_EXTERNAL_ICONV": {"type": "BOOL", "value": "ON"}, "CPP_UNIT_LIB": {"type": "FILEPATH", "value": "$env{VCPKG_ROOT}/installed/x64-windows-static/lib/cppunit.lib"}, "CPP_UNIT_INCLUDE_DIR": {"type": "PATH", "value": "$env{VCPKG_ROOT}/installed/x64-windows-static/include"}, "Vulkan_INCLUDE_DIR": {"type": "PATH", "value": ""}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cpp-utilities-5.36.0/application/global.h new/cpp-utilities-5.37.0/application/global.h --- old/cpp-utilities-5.36.0/application/global.h 2026-09-19 23:10:37.000000000 +0200 +++ new/cpp-utilities-5.37.0/application/global.h 2026-09-24 13:57:29.000000000 +0200 @@ -118,4 +118,43 @@ #define CPP_UTILITIES_IF_DEBUG_BUILD(x) #endif +/*! + * \def CPP_UTILITIES_DO_PRAGMA + * \brief Allows using a pragma in a macro. + */ + +/*! + * \def CPP_UTILITIES_WARNING_PUSH + * \brief Causes GCC/Clang to remember the state of the diagnostics. + */ + +/*! + * \def CPP_UTILITIES_WARNING_POP + * \brief Causes GCC/Clang to restore the previous state of the diagnostics. + */ + +/*! + * \def CPP_UTILITIES_WARNING_DISABLE + * \brief Causes GCC/Clang to suppress the specified diagnostic. + */ + +/*! + * \def CPP_UTILITIES_WARNING_DISARM + * \brief Causes GCC/Clang to treat the specified diagnostic as warning (even though otherwise + * treated as error, e.g. via `-Werror`). + */ + +#ifdef __GNUC__ +#define CPP_UTILITIES_DO_PRAGMA(text) _Pragma(#text) +#define CPP_UTILITIES_WARNING_PUSH CPP_UTILITIES_DO_PRAGMA(GCC diagnostic push) +#define CPP_UTILITIES_WARNING_POP CPP_UTILITIES_DO_PRAGMA(GCC diagnostic pop) +#define CPP_UTILITIES_WARNING_DISABLE(text) CPP_UTILITIES_DO_PRAGMA(GCC diagnostic ignored text) +#define CPP_UTILITIES_WARNING_DISARM(text) CPP_UTILITIES_DO_PRAGMA(GCC diagnostic warning text) +#else +#define CPP_UTILITIES_WARNING_PUSH +#define CPP_UTILITIES_WARNING_POP +#define CPP_UTILITIES_WARNING_DISABLE(text) +#define CPP_UTILITIES_WARNING_DISARM(text) +#endif + #endif // CPP_UTILITIES_APPLICATION_UTILITIES_GLOBAL_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cpp-utilities-5.36.0/cmake/modules/3rdPartyFunctions.cmake new/cpp-utilities-5.37.0/cmake/modules/3rdPartyFunctions.cmake --- old/cpp-utilities-5.36.0/cmake/modules/3rdPartyFunctions.cmake 2026-09-19 23:10:37.000000000 +0200 +++ new/cpp-utilities-5.37.0/cmake/modules/3rdPartyFunctions.cmake 2026-09-24 13:57:29.000000000 +0200 @@ -150,8 +150,12 @@ parse_arguments_for_use_functions(${ARGN}) # check whether iconv from the standard library can be used + set(FORCE_EXTERNAL_ICONV_DEFAULT OFF) + if (WIN32) + set(FORCE_EXTERNAL_ICONV_DEFAULT ON) + endif () set(FORCE_EXTERNAL_ICONV - OFF + "${FORCE_EXTERNAL_ICONV_DEFAULT}" CACHE PATH "whether to force usage of external iconv (rather than the using the one bundled with glibc)") if (NOT FORCE_EXTERNAL_ICONV) # check whether iconv exists in standard lib diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cpp-utilities-5.36.0/cmake/modules/LibraryTarget.cmake new/cpp-utilities-5.37.0/cmake/modules/LibraryTarget.cmake --- old/cpp-utilities-5.36.0/cmake/modules/LibraryTarget.cmake 2026-09-19 23:10:37.000000000 +0200 +++ new/cpp-utilities-5.37.0/cmake/modules/LibraryTarget.cmake 2026-09-24 13:57:29.000000000 +0200 @@ -123,7 +123,7 @@ # allow writing public compile definitions to a header file instead of just relying on CMake/pkg-config option(USE_HEADER_FOR_PUBLIC_COMPILE_DEFINITIONS "writes public compile definitions to a header file" ON) -set(TARGET_GENERATED_INCLUDE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/include") +set(TARGET_GENERATED_INCLUDE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/geninclude") set(TARGET_DEFINITIONS_HEADER "${TARGET_GENERATED_INCLUDE_DIRECTORY}/${META_PROJECT_NAME}-definitions.h") if (USE_HEADER_FOR_PUBLIC_COMPILE_DEFINITIONS) set(EXISTING_DEFS_FOR_HEADER "none") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cpp-utilities-5.36.0/conversion/binaryconversionprivate.h new/cpp-utilities-5.37.0/conversion/binaryconversionprivate.h --- old/cpp-utilities-5.36.0/conversion/binaryconversionprivate.h 2026-09-19 23:10:37.000000000 +0200 +++ new/cpp-utilities-5.37.0/conversion/binaryconversionprivate.h 2026-09-24 13:57:29.000000000 +0200 @@ -12,10 +12,8 @@ #endif // disable warnings about sign conversions when using GCC or Clang -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wsign-conversion" -#endif +CPP_UTILITIES_WARNING_PUSH +CPP_UTILITIES_WARNING_DISABLE("-Wsign-conversion") /*! * \brief Returns a 16-bit signed integer converted from two bytes at a specified position in a char array. @@ -211,9 +209,7 @@ getBytes(i, outputbuffer); } -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif +CPP_UTILITIES_WARNING_POP #undef CONVERSION_UTILITIES_BINARY_CONVERSION_INTERNAL_NEEDS_SWAP diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cpp-utilities-5.36.0/io/misc.cpp new/cpp-utilities-5.37.0/io/misc.cpp --- old/cpp-utilities-5.36.0/io/misc.cpp 2026-09-19 23:10:37.000000000 +0200 +++ new/cpp-utilities-5.37.0/io/misc.cpp 2026-09-24 13:57:29.000000000 +0200 @@ -28,14 +28,10 @@ res.reserve(size); file.seekg(ios_base::beg); // ignore warning about null pointer dereference from GCC 12 for now (which is *likely* not correct) -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wnull-dereference" -#endif + CPP_UTILITIES_WARNING_PUSH + CPP_UTILITIES_WARNING_DISABLE("-Wnull-dereference") res.assign((istreambuf_iterator<char>(file)), istreambuf_iterator<char>()); -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif + CPP_UTILITIES_WARNING_POP return res; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cpp-utilities-5.36.0/misc/levenshtein.cpp new/cpp-utilities-5.37.0/misc/levenshtein.cpp --- old/cpp-utilities-5.36.0/misc/levenshtein.cpp 2026-09-19 23:10:37.000000000 +0200 +++ new/cpp-utilities-5.37.0/misc/levenshtein.cpp 2026-09-24 13:57:29.000000000 +0200 @@ -30,14 +30,10 @@ { const auto maxDistance(size1 + size2); // ignore warning about null pointer dereference for now (which is *likely* not correct) -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wnull-dereference" -#endif + CPP_UTILITIES_WARNING_PUSH + CPP_UTILITIES_WARNING_DISABLE("-Wnull-dereference") distanceArray.at(0, 0) = maxDistance; -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif + CPP_UTILITIES_WARNING_POP for (size_t i = 0; i <= size1; ++i) { distanceArray.at(i + 1, 1) = i; distanceArray.at(i + 1, 0) = maxDistance; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cpp-utilities-5.36.0/tests/iotests.cpp new/cpp-utilities-5.37.0/tests/iotests.cpp --- old/cpp-utilities-5.36.0/tests/iotests.cpp 2026-09-19 23:10:37.000000000 +0200 +++ new/cpp-utilities-5.37.0/tests/iotests.cpp 2026-09-24 13:57:29.000000000 +0200 @@ -503,14 +503,10 @@ inputFile.clear(); inputFile.seekg(std::ios_base::beg); // ignore warning about null pointer dereference from GCC 12 for now (which is *likely* not correct) -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wnull-dereference" -#endif + CPP_UTILITIES_WARNING_PUSH + CPP_UTILITIES_WARNING_DISABLE("-Wnull-dereference") originalContents.assign((istreambuf_iterator<char>(inputFile)), istreambuf_iterator<char>()); -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif + CPP_UTILITIES_WARNING_POP CPPUNIT_ASSERT_EQUAL(originalContents, newFile.str()); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cpp-utilities-5.36.0/tests/testutils.cpp new/cpp-utilities-5.37.0/tests/testutils.cpp --- old/cpp-utilities-5.36.0/tests/testutils.cpp 2026-09-19 23:10:37.000000000 +0200 +++ new/cpp-utilities-5.37.0/tests/testutils.cpp 2026-09-24 13:57:29.000000000 +0200 @@ -33,7 +33,10 @@ #ifdef CPP_UTILITIES_BOOST_PROCESS #include <boost/asio/buffers_iterator.hpp> +CPP_UTILITIES_WARNING_PUSH +CPP_UTILITIES_WARNING_DISARM("-Wnull-dereference") #include <boost/asio/io_context.hpp> +CPP_UTILITIES_WARNING_POP #include <boost/asio/streambuf.hpp> #if BOOST_VERSION >= 108600 #include <boost/process/v1/async.hpp>
