From 51d702f3baf73aa4016b9798045d13318074ca1e Mon Sep 17 00:00:00 2001 From: Jonathan Wakely <jwakely@redhat.com> Date: Wed, 16 Aug 2023 21:29:46 +0100 Subject: [PATCH] libstdc++: Disable PCH for tests that rely on include order 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(+) diff --git a/libstdc++-v3/testsuite/24_iterators/move_iterator/p2520r0.cc b/libstdc++-v3/testsuite/24_iterators/move_iterator/p2520r0.cc index 883d6cc09e00..e36ac574a8ec 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 a8d5b652a5eb..4db5202815d6 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 f20c46cd7e38..3caa70fcdf2d 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" -- GitLab