From 1e4122f1159ace52c114c011013adce25172d77b Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Fri, 3 Mar 2023 01:47:00 -0300 Subject: [PATCH] [PR100127] Test for coroutine header in clang-compatible tests The test is compatible with clang as well as gcc, but ISTM that testing for the __clang__ macro is just as potentially error-prone as macros that used to be GCC-specific are now defined in compilers that aim for GCC compatibility. Use a __has_include feature test instead. for gcc/testsuite/ChangeLog PR c++/100127 * g++.dg/coroutines/pr100127.C: Test for header rather than compiler macro. * g++.dg/coroutines/pr100772-a.C: Likewise. * g++.dg/coroutines/pr100772-b.C: Likewise. --- gcc/testsuite/g++.dg/coroutines/pr100127.C | 3 ++- gcc/testsuite/g++.dg/coroutines/pr100772-a.C | 3 ++- gcc/testsuite/g++.dg/coroutines/pr100772-b.C | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/g++.dg/coroutines/pr100127.C b/gcc/testsuite/g++.dg/coroutines/pr100127.C index 374cd710077a..5879fd0bcc59 100644 --- a/gcc/testsuite/g++.dg/coroutines/pr100127.C +++ b/gcc/testsuite/g++.dg/coroutines/pr100127.C @@ -1,4 +1,5 @@ -#ifdef __clang__ +#if !__has_include() \ + && __has_include() // for __clang__ #include namespace std { using namespace std::experimental; diff --git a/gcc/testsuite/g++.dg/coroutines/pr100772-a.C b/gcc/testsuite/g++.dg/coroutines/pr100772-a.C index a325d384fc39..06e705b0c65a 100644 --- a/gcc/testsuite/g++.dg/coroutines/pr100772-a.C +++ b/gcc/testsuite/g++.dg/coroutines/pr100772-a.C @@ -1,5 +1,6 @@ // { dg-additional-options "-fsyntax-only " } -#ifdef __clang__ +#if !__has_include() \ + && __has_include() // for __clang__ #include namespace std { using namespace std::experimental; diff --git a/gcc/testsuite/g++.dg/coroutines/pr100772-b.C b/gcc/testsuite/g++.dg/coroutines/pr100772-b.C index 6cdf8d1e529e..4ef80a995949 100644 --- a/gcc/testsuite/g++.dg/coroutines/pr100772-b.C +++ b/gcc/testsuite/g++.dg/coroutines/pr100772-b.C @@ -1,4 +1,5 @@ -#ifdef __clang__ +#if !__has_include() \ + && __has_include() // for __clang__ #include namespace std { using namespace std::experimental; -- 2.47.2