From 9407f0c32b215d55d3474a234b0043bddc185b1c Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 24 Apr 2020 19:14:27 +0200 Subject: [PATCH] testsuite: C++14 vs. C++17 struct-layout-1.exp testing with ALT_CXX_UNDER_TEST [PR94383] > I haven't added (yet) checks if the alternate compiler does support these > options (I think that can be done incrementally), so for now this testing is > done only if the alternate compiler is not used. This patch does that, so now when testing against not too old compiler it can do the -std=c++14 vs. -std=c++17 testing also between under test and alt compilers. 2020-04-24 Jakub Jelinek PR c++/94383 * g++.dg/compat/struct-layout-1.exp: Use the -std=c++14 vs. -std=c++17 ABI compatibility testing even with ALT_CXX_UNDER_TEST, as long as that compiler accepts -std=c++14 and -std=c++17 options. --- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/g++.dg/compat/struct-layout-1.exp | 14 +++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ec141198a81..099c76aee60 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2020-04-24 Jakub Jelinek + + PR c++/94383 + * g++.dg/compat/struct-layout-1.exp: Use the -std=c++14 vs. -std=c++17 + ABI compatibility testing even with ALT_CXX_UNDER_TEST, as long as + that compiler accepts -std=c++14 and -std=c++17 options. + 2020-04-24 Andrew Stubbs * lib/target-supports.exp (available_vector_sizes): Add amdgcn. diff --git a/gcc/testsuite/g++.dg/compat/struct-layout-1.exp b/gcc/testsuite/g++.dg/compat/struct-layout-1.exp index 99bfdbe2ff7..f2a20aafafd 100644 --- a/gcc/testsuite/g++.dg/compat/struct-layout-1.exp +++ b/gcc/testsuite/g++.dg/compat/struct-layout-1.exp @@ -142,7 +142,19 @@ if { $status == 0 } then { file delete -force $tstobjdir file mkdir $tstobjdir set generator_args "-s $srcdir/$subdir -d $tstobjdir" - if { $use_alt == 0 } then { + set test_cxx14_vs_cxx17 1 + if { $use_alt != 0 } then { + compat-use-alt-compiler + if { [check_no_compiler_messages_nocache compat_alt_has_cxx14 object { + int dummy; } "-std=c++14"] == 0 } { + set test_cxx14_vs_cxx17 0 + } elseif { [check_no_compiler_messages_nocache compat_alt_has_cxx17 object { + int dummy; } "-std=c++17"] == 0 } { + set test_cxx14_vs_cxx17 0 + } + compat-use-tst-compiler + } + if { $test_cxx14_vs_cxx17 != 0 } then { set generator_args "$generator_args -c" } if [info exists env(RUN_ALL_COMPAT_TESTS) ] then {