testsuite: C++14 vs. C++17 struct-layout-1.exp testing with ALT_CXX_UNDER_TEST [PR94383]
authorJakub Jelinek <jakub@redhat.com>
Fri, 24 Apr 2020 17:14:27 +0000 (19:14 +0200)
committerJakub Jelinek <jakub@redhat.com>
Fri, 24 Apr 2020 17:14:27 +0000 (19:14 +0200)
> 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  <jakub@redhat.com>

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
gcc/testsuite/g++.dg/compat/struct-layout-1.exp

index ec141198a81acdb22b4bab0d8aedc346e34d6145..099c76aee60aa0749c0f7d689d8ef594eac4577a 100644 (file)
@@ -1,3 +1,10 @@
+2020-04-24  Jakub Jelinek  <jakub@redhat.com>
+
+       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  <ams@codesourcery.com>
 
        * lib/target-supports.exp (available_vector_sizes): Add amdgcn.
index 99bfdbe2ff73dc46a8affb2a1cf6290ac9355e2f..f2a20aafafd61a138fd5fc4a2428bc551ef76192 100644 (file)
@@ -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 {