From b93caa5f0680f4c2c3c898373bc561bc54673765 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 28 Nov 2023 17:52:34 +0100 Subject: [PATCH] Fix 'g++.dg/cpp26/static_assert1.C' for '-fno-exceptions' configurations This test case, added in recent commit 6ce952188ab39e303e4f63e474b5cba83b5b12fd "c++: Implement C++26 P2741R3 - user-generated static_assert messages [PR110348]", expectedly runs into 'UNSUPPORTED: [...]: exception handling disabled', but along the way also FAILs a few tests: UNSUPPORTED: g++.dg/cpp26/static_assert1.C -std=gnu++98 PASS: g++.dg/cpp26/static_assert1.C -std=gnu++11 (test for warnings, line 6) [...] PASS: g++.dg/cpp26/static_assert1.C -std=gnu++11 (test for warnings, line 51) FAIL: g++.dg/cpp26/static_assert1.C -std=gnu++11 (test for errors, line 52) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++11 (test for warnings, line 56) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++11 (test for warnings, line 57) FAIL: g++.dg/cpp26/static_assert1.C -std=gnu++11 at line 58 (test for errors, line 57) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++11 (test for warnings, line 59) [...] PASS: g++.dg/cpp26/static_assert1.C -std=gnu++11 at line 308 (test for errors, line 307) UNSUPPORTED: g++.dg/cpp26/static_assert1.C -std=gnu++11: exception handling disabled PASS: g++.dg/cpp26/static_assert1.C -std=gnu++14 (test for warnings, line 6) [...] PASS: g++.dg/cpp26/static_assert1.C -std=gnu++14 (test for warnings, line 51) FAIL: g++.dg/cpp26/static_assert1.C -std=gnu++14 (test for errors, line 52) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++14 (test for warnings, line 56) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++14 (test for warnings, line 57) FAIL: g++.dg/cpp26/static_assert1.C -std=gnu++14 at line 58 (test for errors, line 57) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++14 (test for warnings, line 59) [...] PASS: g++.dg/cpp26/static_assert1.C -std=gnu++14 at line 257 (test for errors, line 256) FAIL: g++.dg/cpp26/static_assert1.C -std=gnu++14 (test for errors, line 261) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++14 (test for warnings, line 262) [...] PASS: g++.dg/cpp26/static_assert1.C -std=gnu++14 at line 308 (test for errors, line 307) UNSUPPORTED: g++.dg/cpp26/static_assert1.C -std=gnu++14: exception handling disabled PASS: g++.dg/cpp26/static_assert1.C -std=gnu++20 (test for warnings, line 6) [...] PASS: g++.dg/cpp26/static_assert1.C -std=gnu++20 (test for warnings, line 51) FAIL: g++.dg/cpp26/static_assert1.C -std=gnu++20 (test for errors, line 52) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++20 (test for warnings, line 56) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++20 (test for warnings, line 57) FAIL: g++.dg/cpp26/static_assert1.C -std=gnu++20 at line 58 (test for errors, line 57) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++20 (test for warnings, line 59) [...] PASS: g++.dg/cpp26/static_assert1.C -std=gnu++20 at line 257 (test for errors, line 256) FAIL: g++.dg/cpp26/static_assert1.C -std=gnu++20 (test for errors, line 261) PASS: g++.dg/cpp26/static_assert1.C -std=gnu++20 (test for warnings, line 262) [...] PASS: g++.dg/cpp26/static_assert1.C -std=gnu++20 at line 308 (test for errors, line 307) UNSUPPORTED: g++.dg/cpp26/static_assert1.C -std=gnu++20: exception handling disabled Use an explicit '-fexceptions' to turn this front end test case all-PASS. gcc/testsuite/ * g++.dg/cpp26/static_assert1.C: Fix for '-fno-exceptions' configurations. --- gcc/testsuite/g++.dg/cpp26/static_assert1.C | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/g++.dg/cpp26/static_assert1.C b/gcc/testsuite/g++.dg/cpp26/static_assert1.C index 9dec52b90d6..59724ae32ce 100644 --- a/gcc/testsuite/g++.dg/cpp26/static_assert1.C +++ b/gcc/testsuite/g++.dg/cpp26/static_assert1.C @@ -1,6 +1,8 @@ // C++26 P2741R3 - user-generated static_assert messages // { dg-do compile { target c++11 } } // { dg-options "" } +// Override any default-'-fno-exceptions': +// { dg-additional-options -fexceptions } static_assert (true, ""); static_assert (true, ("")); // { dg-warning "'static_assert' with non-string message only available with" "" { target c++23_down } } -- 2.34.1