[committed] libstdc++: Disable PCH for tests that rely on include order

Message ID 20230817074719.868714-1-jwakely@redhat.com
State Unresolved
Headers
Series [committed] libstdc++: Disable PCH for tests that rely on include order |

Checks

Context Check Description
snail/gcc-patch-check warning Git am fail log

Commit Message

Jonathan Wakely Aug. 17, 2023, 7:46 a.m. UTC
  Now that no_pch works, I can use it to fix this test that was failing
with PCH enabled and run with -std=gnu++23.

Tested x86_64-linux. Pushed to trunk.

-- >8 --

These tests expect to be able to #undef a feature test macro and then
include <version> to get it redefined. But if <version> has already been
included by the <bits/stdc++.h> PCH then including it again does nothing
and the macro remains undefined.

libstdc++-v3/ChangeLog:

	* testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch.
	* testsuite/std/format/functions/format.cc: Likewise.
	* testsuite/std/format/functions/format_c++23.cc: Likewise.
---
 libstdc++-v3/testsuite/24_iterators/move_iterator/p2520r0.cc | 1 +
 libstdc++-v3/testsuite/std/format/functions/format.cc        | 1 +
 libstdc++-v3/testsuite/std/format/functions/format_c++23.cc  | 1 +
 3 files changed, 3 insertions(+)
  

Patch

diff --git a/libstdc++-v3/testsuite/24_iterators/move_iterator/p2520r0.cc b/libstdc++-v3/testsuite/24_iterators/move_iterator/p2520r0.cc
index 883d6cc09e0..e36ac574a8e 100644
--- a/libstdc++-v3/testsuite/24_iterators/move_iterator/p2520r0.cc
+++ b/libstdc++-v3/testsuite/24_iterators/move_iterator/p2520r0.cc
@@ -1,5 +1,6 @@ 
 // { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
 
 // Verify P2520R0 changes to move_iterator's iterator_concept, which we treat
 // as a DR against C++20.
diff --git a/libstdc++-v3/testsuite/std/format/functions/format.cc b/libstdc++-v3/testsuite/std/format/functions/format.cc
index a8d5b652a5e..4db5202815d 100644
--- a/libstdc++-v3/testsuite/std/format/functions/format.cc
+++ b/libstdc++-v3/testsuite/std/format/functions/format.cc
@@ -1,5 +1,6 @@ 
 // { dg-options "-std=gnu++20" }
 // { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
 
 #include <format>
 
diff --git a/libstdc++-v3/testsuite/std/format/functions/format_c++23.cc b/libstdc++-v3/testsuite/std/format/functions/format_c++23.cc
index f20c46cd7e3..3caa70fcdf2 100644
--- a/libstdc++-v3/testsuite/std/format/functions/format_c++23.cc
+++ b/libstdc++-v3/testsuite/std/format/functions/format_c++23.cc
@@ -1,4 +1,5 @@ 
 // { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
 // This test does not have -std=gnu++20 in dg-options so that format.cc
 // can be tested for e.g. -std=c++26
 #include "format.cc"