Hello community,

here is the log from the commit of package fmt for openSUSE:Factory checked in 
at 2020-11-29 12:24:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fmt (Old)
 and      /work/SRC/openSUSE:Factory/.fmt.new.5913 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fmt"

Sun Nov 29 12:24:57 2020 rev:15 rq:850758 version:7.1.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/fmt/fmt.changes  2020-11-06 23:44:31.299330277 
+0100
+++ /work/SRC/openSUSE:Factory/.fmt.new.5913/fmt.changes        2020-11-29 
12:25:21.165815538 +0100
@@ -1,0 +2,9 @@
+Wed Nov 25 14:55:58 UTC 2020 - [email protected]
+
+- Update to version 7.1.3
+  * Fixed handling of buffer boundaries in format_to_n
+  * Fixed linkage errors when linking with a shared library
+  * Reintroduced ostream support to range formatters
+  * Worked around an issue with mixing std versions in gcc
+
+-------------------------------------------------------------------

Old:
----
  fmt-7.1.2.tar.gz

New:
----
  fmt-7.1.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fmt.spec ++++++
--- /var/tmp/diff_new_pack.1AmGxA/_old  2020-11-29 12:25:22.081816465 +0100
+++ /var/tmp/diff_new_pack.1AmGxA/_new  2020-11-29 12:25:22.081816465 +0100
@@ -18,7 +18,7 @@
 
 %define sover   7
 Name:           fmt
-Version:        7.1.2
+Version:        7.1.3
 Release:        0
 Summary:        A formatting library for C++
 License:        MIT

++++++ fmt-7.1.2.tar.gz -> fmt-7.1.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/.github/workflows/windows.yml 
new/fmt-7.1.3/.github/workflows/windows.yml
--- old/fmt-7.1.2/.github/workflows/windows.yml 1970-01-01 01:00:00.000000000 
+0100
+++ new/fmt-7.1.3/.github/workflows/windows.yml 2020-11-25 02:15:02.000000000 
+0100
@@ -0,0 +1,44 @@
+name: windows
+
+on: [push, pull_request]
+
+jobs:
+  build:
+    runs-on: ${{matrix.os}}
+    strategy:
+      matrix:
+        # windows-2016 and windows-2019 have MSVC 2017 and 2019 installed
+        # respectively: https://github.com/actions/virtual-environments.
+        os: [windows-2016, windows-2019]
+        platform: [Win32, x64]
+        build_type: [Debug, Release]
+        include:
+          - os: windows-2016
+            platform: Win32
+            build_type: Debug
+            shared: -DBUILD_SHARED_LIBS=ON
+        exclude:
+          - os: windows-2016
+            platform: Win32
+
+    steps:
+    - uses: actions/checkout@v2
+
+    - name: Create Build Environment
+      run: cmake -E make_directory ${{runner.workspace}}/build
+
+    - name: Configure
+      # Use a bash shell for $GITHUB_WORKSPACE.
+      shell: bash
+      working-directory: ${{runner.workspace}}/build
+      run: |
+        cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} ${{matrix.shared}} \
+              -A ${{matrix.platform}} $GITHUB_WORKSPACE
+
+    - name: Build
+      working-directory: ${{runner.workspace}}/build
+      run: cmake --build . --config ${{matrix.build_type}}
+
+    - name: Test
+      working-directory: ${{runner.workspace}}/build
+      run: ctest -C ${{matrix.build_type}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/ChangeLog.rst new/fmt-7.1.3/ChangeLog.rst
--- old/fmt-7.1.2/ChangeLog.rst 2020-11-04 15:50:09.000000000 +0100
+++ new/fmt-7.1.3/ChangeLog.rst 2020-11-25 02:15:02.000000000 +0100
@@ -1,3 +1,19 @@
+7.1.3 - 2020-11-24
+------------------
+
+* Fixed handling of buffer boundaries in ``format_to_n``
+  (`#1996 <https://github.com/fmtlib/fmt/issues/1996>`_,
+  `#2029 <https://github.com/fmtlib/fmt/issues/2029>`_).
+
+* Fixed linkage errors when linking with a shared library
+  (`#2011 <https://github.com/fmtlib/fmt/issues/2011>`_).
+
+* Reintroduced ostream support to range formatters
+  (`#2014 <https://github.com/fmtlib/fmt/issues/2014>`_).
+
+* Worked around an issue with mixing std versions in gcc
+  (`#2017 <https://github.com/fmtlib/fmt/issues/2017>`_).
+
 7.1.2 - 2020-11-04
 ------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/doc/build.py new/fmt-7.1.3/doc/build.py
--- old/fmt-7.1.2/doc/build.py  2020-11-04 15:50:09.000000000 +0100
+++ new/fmt-7.1.3/doc/build.py  2020-11-25 02:15:02.000000000 +0100
@@ -6,7 +6,7 @@
 from subprocess import check_call, check_output, CalledProcessError, Popen, 
PIPE
 from distutils.version import LooseVersion
 
-versions = ['1.0.0', '1.1.0', '2.0.0', '3.0.2', '4.0.0', '4.1.0', '5.0.0', 
'5.1.0', '5.2.0', '5.2.1', '5.3.0', '6.0.0', '6.1.0', '6.1.1', '6.1.2', 
'6.2.0', '6.2.1', '7.0.0', '7.0.1', '7.0.2', '7.0.3', '7.1.0', '7.1.1', '7.1.2']
+versions = ['1.0.0', '1.1.0', '2.0.0', '3.0.2', '4.0.0', '4.1.0', '5.0.0', 
'5.1.0', '5.2.0', '5.2.1', '5.3.0', '6.0.0', '6.1.0', '6.1.1', '6.1.2', 
'6.2.0', '6.2.1', '7.0.0', '7.0.1', '7.0.2', '7.0.3', '7.1.0', '7.1.1', 
'7.1.2', '7.1.3']
 
 def pip_install(package, commit=None, **kwargs):
   "Install package using pip."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/include/fmt/core.h 
new/fmt-7.1.3/include/fmt/core.h
--- old/fmt-7.1.2/include/fmt/core.h    2020-11-04 15:50:09.000000000 +0100
+++ new/fmt-7.1.3/include/fmt/core.h    2020-11-25 02:15:02.000000000 +0100
@@ -18,7 +18,7 @@
 #include <vector>
 
 // The fmt library version in the form major * 10000 + minor * 100 + patch.
-#define FMT_VERSION 70102
+#define FMT_VERSION 70103
 
 #ifdef __clang__
 #  define FMT_CLANG_VERSION (__clang_major__ * 100 + __clang_minor__)
@@ -761,7 +761,7 @@
   explicit fixed_buffer_traits(size_t limit) : limit_(limit) {}
   size_t count() const { return count_; }
   size_t limit(size_t size) {
-    size_t n = limit_ - count_;
+    size_t n = limit_ > count_ ? limit_ - count_ : 0;
     count_ += size;
     return size < n ? size : n;
   }
@@ -784,7 +784,7 @@
  public:
   explicit iterator_buffer(OutputIt out, size_t n = buffer_size)
       : Traits(n),
-        buffer<T>(data_, 0, n < size_t(buffer_size) ? n : size_t(buffer_size)),
+        buffer<T>(data_, 0, buffer_size),
         out_(out) {}
   ~iterator_buffer() { flush(); }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/include/fmt/format.h 
new/fmt-7.1.3/include/fmt/format.h
--- old/fmt-7.1.2/include/fmt/format.h  2020-11-04 15:50:09.000000000 +0100
+++ new/fmt-7.1.3/include/fmt/format.h  2020-11-25 02:15:02.000000000 +0100
@@ -1145,8 +1145,8 @@
 template <typename Char> struct fill_t {
  private:
   enum { max_size = 4 };
-  Char data_[max_size];
-  unsigned char size_;
+  Char data_[max_size] = {Char(' '), Char(0), Char(0), Char(0)};
+  unsigned char size_ = 1;
 
  public:
   FMT_CONSTEXPR void operator=(basic_string_view<Char> s) {
@@ -1166,13 +1166,6 @@
   FMT_CONSTEXPR const Char& operator[](size_t index) const {
     return data_[index];
   }
-
-  static FMT_CONSTEXPR fill_t<Char> make() {
-    auto fill = fill_t<Char>();
-    fill[0] = Char(' ');
-    fill.size_ = 1;
-    return fill;
-  }
 };
 }  // namespace detail
 
@@ -1204,8 +1197,7 @@
         type(0),
         align(align::none),
         sign(sign::none),
-        alt(false),
-        fill(detail::fill_t<Char>::make()) {}
+        alt(false) {}
 };
 
 using format_specs = basic_format_specs<char>;
@@ -1274,7 +1266,7 @@
   int exponent;
 };
 
-template <typename T> decimal_fp<T> to_decimal(T x) FMT_NOEXCEPT;
+template <typename T> FMT_API decimal_fp<T> to_decimal(T x) FMT_NOEXCEPT;
 }  // namespace dragonbox
 
 template <typename T>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/include/fmt/os.h 
new/fmt-7.1.3/include/fmt/os.h
--- old/fmt-7.1.2/include/fmt/os.h      2020-11-04 15:50:09.000000000 +0100
+++ new/fmt-7.1.3/include/fmt/os.h      2020-11-25 02:15:02.000000000 +0100
@@ -388,7 +388,7 @@
     clear();
   }
 
-  void grow(size_t) final;
+  FMT_API void grow(size_t) override final;
 
   ostream(cstring_view path, const detail::ostream_params& params)
       : file_(path, params.oflag) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/include/fmt/ranges.h 
new/fmt-7.1.3/include/fmt/ranges.h
--- old/fmt-7.1.2/include/fmt/ranges.h  2020-11-04 15:50:09.000000000 +0100
+++ new/fmt-7.1.3/include/fmt/ranges.h  2020-11-25 02:15:02.000000000 +0100
@@ -254,7 +254,10 @@
     enable_if_t<fmt::is_range<T, Char>::value
 // Workaround a bug in MSVC 2017 and earlier.
 #if !FMT_MSC_VER || FMT_MSC_VER >= 1927
-                && has_formatter<detail::value_type<T>, format_context>::value
+                &&
+                (has_formatter<detail::value_type<T>, format_context>::value ||
+                 detail::has_fallback_formatter<detail::value_type<T>,
+                                                format_context>::value)
 #endif
                 >> {
   formatting_range<Char> formatting;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/src/format.cc new/fmt-7.1.3/src/format.cc
--- old/fmt-7.1.2/src/format.cc 2020-11-04 15:50:09.000000000 +0100
+++ new/fmt-7.1.3/src/format.cc 2020-11-25 02:15:02.000000000 +0100
@@ -24,9 +24,9 @@
                        : snprintf_ptr(buf, size, format, precision, value);
 }
 
-template dragonbox::decimal_fp<float> dragonbox::to_decimal(float x)
+template FMT_API dragonbox::decimal_fp<float> dragonbox::to_decimal(float x)
     FMT_NOEXCEPT;
-template dragonbox::decimal_fp<double> dragonbox::to_decimal(double x)
+template FMT_API dragonbox::decimal_fp<double> dragonbox::to_decimal(double x)
     FMT_NOEXCEPT;
 
 // DEPRECATED! This function exists for ABI compatibility.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/src/os.cc new/fmt-7.1.3/src/os.cc
--- old/fmt-7.1.2/src/os.cc     2020-11-04 15:50:09.000000000 +0100
+++ new/fmt-7.1.3/src/os.cc     2020-11-25 02:15:02.000000000 +0100
@@ -315,7 +315,7 @@
 #  endif
 }
 
-void ostream::grow(size_t) {
+FMT_API void ostream::grow(size_t) {
   if (this->size() == this->capacity()) flush();
 }
 #endif  // FMT_USE_FCNTL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/test/format-test.cc 
new/fmt-7.1.3/test/format-test.cc
--- old/fmt-7.1.2/test/format-test.cc   2020-11-04 15:50:09.000000000 +0100
+++ new/fmt-7.1.3/test/format-test.cc   2020-11-25 02:15:02.000000000 +0100
@@ -1945,10 +1945,12 @@
   EXPECT_EQ(5u, result.size);
   EXPECT_EQ(buffer + 3, result.out);
   EXPECT_EQ("123x", fmt::string_view(buffer, 4));
+
   result = fmt::format_to_n(buffer, 3, "{:s}", "foobar");
   EXPECT_EQ(6u, result.size);
   EXPECT_EQ(buffer + 3, result.out);
   EXPECT_EQ("foox", fmt::string_view(buffer, 4));
+
   buffer[0] = 'x';
   buffer[1] = 'x';
   buffer[2] = 'x';
@@ -1956,10 +1958,20 @@
   EXPECT_EQ(1u, result.size);
   EXPECT_EQ(buffer + 1, result.out);
   EXPECT_EQ("Axxx", fmt::string_view(buffer, 4));
+
   result = fmt::format_to_n(buffer, 3, "{}{} ", 'B', 'C');
   EXPECT_EQ(3u, result.size);
   EXPECT_EQ(buffer + 3, result.out);
   EXPECT_EQ("BC x", fmt::string_view(buffer, 4));
+
+  result = fmt::format_to_n(buffer, 4, "{}", "ABCDE");
+  EXPECT_EQ(5u, result.size);
+  EXPECT_EQ("ABCD", fmt::string_view(buffer, 4));
+
+  buffer[3] = 'x';
+  result = fmt::format_to_n(buffer, 3, "{}", std::string(1000, '*'));
+  EXPECT_EQ(1000u, result.size);
+  EXPECT_EQ("***x", fmt::string_view(buffer, 4));
 }
 
 TEST(FormatTest, WideFormatToN) {
@@ -2416,11 +2428,13 @@
 #endif
 }
 
+#if __cplusplus > 201103L
 struct custom_char {
   int value;
   custom_char() = default;
 
-  template <typename T> custom_char(T val) : value(static_cast<int>(val)) {}
+  template <typename T>
+  constexpr custom_char(T val) : value(static_cast<int>(val)) {}
 
   operator int() const { return value; }
 };
@@ -2437,6 +2451,7 @@
   EXPECT_EQ(result.size(), 1);
   EXPECT_EQ(result[0], custom_char('x'));
 }
+#endif
 
 // Convert a char8_t string to std::string. Otherwise GTest will insist on
 // inserting `char8_t` NTBS into a `char` stream which is disabled by P1423.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fmt-7.1.2/test/ostream-test.cc 
new/fmt-7.1.3/test/ostream-test.cc
--- old/fmt-7.1.2/test/ostream-test.cc  2020-11-04 15:50:09.000000000 +0100
+++ new/fmt-7.1.3/test/ostream-test.cc  2020-11-25 02:15:02.000000000 +0100
@@ -5,7 +5,6 @@
 //
 // For the license information refer to format.h.
 
-#define FMT_STRING_ALIAS 1
 #include "fmt/format.h"
 
 struct test {};
@@ -24,6 +23,7 @@
 #include <sstream>
 
 #include "fmt/ostream.h"
+#include "fmt/ranges.h"
 #include "gmock.h"
 #include "gtest-extra.h"
 #include "util.h"
@@ -323,3 +323,8 @@
 TEST(OStreamTest, ToString) {
   EXPECT_EQ("ABC", fmt::to_string(fmt_test::ABC()));
 }
+
+TEST(OStreamTest, Range) {
+  auto strs = std::vector<TestString>{TestString("foo"), TestString("bar")};
+  EXPECT_EQ("{foo, bar}", format("{}", strs));
+}
\ No newline at end of file
_______________________________________________
openSUSE Commits mailing list -- [email protected]
To unsubscribe, email [email protected]
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives: 
https://lists.opensuse.org/archives/list/[email protected]

Reply via email to