On Thu, 6 Mar 2025 at 11:36, Giuseppe D'Angelo
<giuseppe.dang...@kdab.com> wrote:
>
> Hi,
>
> On 06/03/2025 12:26, Jonathan Wakely wrote:
> > The old COW std::string is not usable in constant expressions, so these
> > new tests fail with -D_GLIBCXX_USE_CXX11_ABI=0.
>
> LGTM; is there a specific incantation to run the testsuite with both
> libstdc++ ABIs? Clearly I just tested the new one...

You can use:
make check RUNTESTFLAGS="--target_board=unix\{,-D_GLIBCXX_USE_CXX11_ABI=0\}"

I do it a little differently, using the ~/.dejagnurc file below which
runs every test for every -std option from 98 to 26, and with
assertions enabled, with the old ABI, and with -m32. This takes about
20 times longer than normal to run the tests, so choose wisely!

# Need to test if $tool exists prior to the r11-551 change.
if { [info exists tool] && "$tool" == "libstdc++" } {
global tool_timeout
set tool_timeout 90
puts "dejagnu - timeout default set to ${tool_timeout}s"
if { [info exists v3-use-std-list] } {
 # v3-dg-runtest supports running tests with multiple -std options.
 set v3_std_list { 98 11 14 17 20 23 26 }
 set target_list {
"unix{-D_GLIBCXX_ASSERTIONS,-D_GLIBCXX_USE_CXX11_ABI=0,-m32}" }
} else {
 # set target_list { "unix{,-m32/-D_GLIBCXX_USE_CXX11_ABI=0,-std=gnu++23}" }
 set target_list {
"unix{,-D_GLIBCXX_USE_CXX11_ABI=0,-std=gnu++2b,-std=gnu++11}" }
}
}

Reply via email to