Attempt to fix g++.dg tests failures in gnu-versioned-namespace mode

François Dumont frs.dumont@gmail.com
Wed Sep 20 05:08:25 GMT 2023


I've configured libstdc++ with --enable-symvers=gnu-versioned-namespace 
and run make check-c++.

A number of failures are like this one:

/home/fdumont/dev/gcc/git/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C: 
In function 'coro1 f()':
/home/fdumont/dev/gcc/git/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C:9:1: 
error: 'operator new' is provided by 
'std::__8::__n4861::__coroutine_traits_impl<coro1, void>::promise_type' 
{aka 'co
ro1::promise_type'} but is not usable with the function signature 'coro1 
f()'
compiler exited with status 1
FAIL: g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C  (test for 
errors, line 9)
FAIL: g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C (test for excess 
errors)
Excess errors:
/home/fdumont/dev/gcc/git/gcc/testsuite/g++.dg/coroutines/coro-bad-alloc-00-bad-op-new.C:9:1: 
error: 'operator new' is provided by 
'std::__n4861::__coroutine_traits_impl<coro1, void>::promise_type' {aka 
'coro1::promise_type'} but is not usable with the function signature 
'coro1 f()'

The '__8' is messing with expected output.

So I've added:

     # Ignore optional version namespace from libstdc++.
     regsub -all "std::__8::" $text "std::" text

in testsuite/lib/prune.exp prune_gcc_output.

But it had no impact, same failures.

What am I missing ?

Thanks,

François




More information about the Gcc mailing list