]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Fix incorrect overriders in filebuf tests
authorJonathan Wakely <jwakely@redhat.com>
Tue, 30 Sep 2025 16:13:03 +0000 (17:13 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 1 Oct 2025 12:55:08 +0000 (13:55 +0100)
These test facets were failing to override the members in the
std::codecvt base class.

libstdc++-v3/ChangeLog:

* testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc
(Cvt::do_length): Fix signature to override virtual function in
base.
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc:
(Cvt::do_length): Likewise.
* testsuite/27_io/basic_filebuf/underflow/char/1.cc
(NoconvCvt::do_in): Likewise.
* testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc
(checksumcvt::do_length): Likewise.

Reviewed-by: Tomasz KamiƄski <tkaminsk@redhat.com>
libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc
libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc
libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/1.cc
libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc

index 052d80fceb7271a561c4eb2d522f59a8e7fb75eb..474a49f83dce8ae13aa635cf818d582628f5e532 100644 (file)
@@ -66,7 +66,7 @@ protected:
   
   virtual int
   do_length(std::mbstate_t&, const char* from, const char* end,
-           std::size_t max)
+           std::size_t max) const
   {
     std::size_t len = (end - from) / sizeof(wchar_t);
     return std::min(len, max) * sizeof(wchar_t);
index 5767f8aa2a9a64959ea543ed2fe5e4146d509790..f0d3b59f7b2342e5d6bb21121bb4e48702d14f68 100644 (file)
@@ -66,7 +66,7 @@ protected:
   
   virtual int
   do_length(std::mbstate_t&, const char* from, const char* end,
-           std::size_t max)
+           std::size_t max) const
   {
     std::size_t len = (end - from) / sizeof(wchar_t);
     return std::min(len, max) * sizeof(wchar_t);
index a0396a4cf1f7a37a5f8f302f8661a080cf2cceaa..6d4c71fe9a53a71d7e41867f0a559bac757c2d8a 100644 (file)
@@ -35,7 +35,7 @@ protected:
 
   virtual result
   do_in(state_type&, const char* from, const char*, const char*& from_next,
-       char* to, char*, char*& to_next)
+       char* to, char*, char*& to_next) const
   {
     from_next = from;
     to_next = to;
index fcd95a9d5e85b34de1580b4258e064e0757641c1..c62ad020b0af1c5e484e1125acd801b04b5e69e8 100644 (file)
@@ -119,7 +119,7 @@ protected:
   { return width; }
 
   virtual int
-  do_length(const StateT&, const extern_type* from,
+  do_length(StateT&, const extern_type* from,
            const extern_type* end, size_t max) const
   {
     size_t len = std::min(max,