From: Alexandre Oliva Date: Fri, 3 Mar 2023 04:47:00 +0000 (-0300) Subject: [PR100127] Test for coroutine header in clang-compatible tests X-Git-Tag: basepoints/gcc-14~770 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1e4122f1159ace52c114c011013adce25172d77b;p=thirdparty%2Fgcc.git [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. --- 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;