The 17_intro/headers/c++1998/49745.cc test fails for C++20 mode with PCH
enabled, because PCH makes it include <bits/stdc++.h>, which includes
<atomic>, and that includes <unistd.h> in C++20 mode. The <unistd.h>
dependency should go away when C++20 atomic waiting is stable, but will
probably remain while the feature is experimental. Change the test to
always include <bits/stdc++.h>, and XFAIL for C++20 and later.

libstdc++-v3/ChangeLog:

        PR libstdc++/99995
        * testsuite/17_intro/headers/c++1998/49745.cc: Include all
        standard headers and XFAIL for effective-target c++20.

Tested x86_64-linux. Committed to trunk.

commit 29046e02b84a16b6315d952d7f76c502d0d021c2
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Mon Apr 12 11:12:47 2021

    libstdc++: Fix test that fails in C++20 mode [PR 99995]
    
    The 17_intro/headers/c++1998/49745.cc test fails for C++20 mode with PCH
    enabled, because PCH makes it include <bits/stdc++.h>, which includes
    <atomic>, and that includes <unistd.h> in C++20 mode. The <unistd.h>
    dependency should go away when C++20 atomic waiting is stable, but will
    probably remain while the feature is experimental. Change the test to
    always include <bits/stdc++.h>, and XFAIL for C++20 and later.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/99995
            * testsuite/17_intro/headers/c++1998/49745.cc: Include all
            standard headers and XFAIL for effective-target c++20.

diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc 
b/libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc
index a13a40ec7db..204975e0316 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/49745.cc
@@ -18,5 +18,7 @@
 // <http://www.gnu.org/licenses/>.
 
 // libstdc++/49745
-#include <iostream>
+#include <bits/stdc++.h>
 int truncate = 0;
+
+// { dg-xfail-if "PR libstdc++/99995" { c++20 } }

Reply via email to