On Wed, 18 Mar 2026 at 16:41, Tomasz Kaminski <[email protected]> wrote:
>
>
>
> On Mon, Mar 9, 2026 at 12:04 PM Tomasz Kaminski <[email protected]> wrote:
>>
>> I believe, this caused failure 
>> 21_strings/basic_string/requirements/dr438/constructor.c in C++20 mode::
>> In file included from 
>> /home/tkaminsk/build/gcc/16/x86_64-pc-linux-gnu/libstdc++-v3/include/debug/functions.h:39,
>>                  from 
>> /home/tkaminsk/build/gcc/16/x86_64-pc-linux-gnu/libstdc++-v3/include/debug/safe_sequence.h:34,
>>                  from 
>> /home/tkaminsk/build/gcc/16/x86_64-pc-linux-gnu/libstdc++-v3/include/debug/string:37,
>>                  from 
>> /home/tkaminsk/src/gcc/libstdc++-v3/testsuite/21_strings/basic_string/requirements/dr438/constructor.cc:23:
>> /home/tkaminsk/build/gcc/16/x86_64-pc-linux-gnu/libstdc++-v3/include/debug/helper_functions.h:
>>  In instantiation of 'constexpr bool 
>> __gnu_debug::__valid_range(_InputIterator, _InputIterator) [with 
>> _InputIterator = int]':
>
> The full test suite showed 705 failures for _GLIBCXX_DEBUG=1 run, and every 
> one I checked has the same error. They may be other, but are very hard to 
> find.
> They are mostly point toward basic_regexp or basic_string.
> See the attachment for the full list.
>
> (The workaround seems far for useless currently).


Yes, I can confirm these failures are still present.

This is enough to reproduce them:
make check RUNTESTFLAGS=--target_board=unix/-D_GLIBCXX_DEBUG

There are two failures in 21_strings:
FAIL: 21_strings/basic_string/requirements/explicit_instantiation/int.cc
 -std=gnu++11 (test for excess errors)
FAIL: 21_strings/basic_string/requirements/explicit_instantiation/debug.cc
 -std=gnu++11 (test for excess errors)

and all the others seem to have the same root cause, related to regex:

FAIL: std/ranges/adaptors/p2770r0.cc  -std=gnu++20 (test for excess errors)
Excess errors:
/home/test/build/x86_64-pc-linux-gnu/libstdc++-v3/include/debug/helper_functions.h:212:
error: no matching function for call to '__iterator_category(int&)'
/home/test/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/regex_compiler.tcc:313:
  [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit
=0 to disable ]
/home/test/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_iterator_base_types.h:241:
error: no type named 'iterator_category' in 'struct std::itera
tor_traits<int>'

Reply via email to