From e83a5a6b6893e910dc0b6b1cd034e1a258406c93 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Fri, 25 Jun 2021 18:31:22 +0100 Subject: [PATCH] libstdc++: More workarounds in 17_intro/names.cc test [PR 97088] Conditionally #undef some more names that are used in system headers. libstdc++-v3/ChangeLog: PR libstdc++/97088 * testsuite/17_intro/names.cc: Undef more names for newlib and also for arm-none-linux-gnueabi. * testsuite/experimental/names.cc: Disable PCH. --- libstdc++-v3/testsuite/17_intro/names.cc | 14 ++++++++++++++ libstdc++-v3/testsuite/experimental/names.cc | 1 + 2 files changed, 15 insertions(+) diff --git a/libstdc++-v3/testsuite/17_intro/names.cc b/libstdc++-v3/testsuite/17_intro/names.cc index 534dab70ff5..805c1002c3f 100644 --- a/libstdc++-v3/testsuite/17_intro/names.cc +++ b/libstdc++-v3/testsuite/17_intro/names.cc @@ -208,6 +208,11 @@ #undef r #endif +#if defined (__linux__) && defined (__arm__) +// defines fpregset_t::fpregs::j +#undef j +#endif + #if defined (__linux__) && defined (__powerpc__) // defines __vector128::u #undef u @@ -220,6 +225,15 @@ #if ! __has_include() // newlib's defines __lockable as a macro, so we can't use it. # define __lockable cannot be used as an identifier +// newlib's defines __tzrule_type with these members. +#undef d +#undef m +#undef n +#undef s +// newlib's uses this for parameters +#undef x +// newlib's uses this for parameters +#undef j #endif #ifdef __sun__ diff --git a/libstdc++-v3/testsuite/experimental/names.cc b/libstdc++-v3/testsuite/experimental/names.cc index 34ec3ba5968..d695a258f2c 100644 --- a/libstdc++-v3/testsuite/experimental/names.cc +++ b/libstdc++-v3/testsuite/experimental/names.cc @@ -16,6 +16,7 @@ // . // { dg-do compile { target c++11 } } +// { dg-add-options no_pch } // Define macros for some common variables names that we must not use for // naming variables, parameters etc. in the library.