From 75f948f089ceb8888fd00913635264e20610d0f2 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Mon, 28 Jun 2021 15:13:34 +0100 Subject: [PATCH] libstdc++: Fix backwards logic in 17_intro/names.cc test [PR 97088] I meant to undef the names that clash with newlib headers for newlib, but I only undef'd them for non-newlib targets. This means they still cause errors for newlib, and aren't tested for other targets. This fixes the test to check those names for non-newlib targets, and to undef them to avoid errors for newlib. libstdc++-v3/ChangeLog: PR libstdc++/97088 * testsuite/17_intro/names.cc: Fix #if condition for names used by newlib headers. --- libstdc++-v3/testsuite/17_intro/names.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/testsuite/17_intro/names.cc b/libstdc++-v3/testsuite/17_intro/names.cc index 805c1002c3f6..aca7a8e5812e 100644 --- a/libstdc++-v3/testsuite/17_intro/names.cc +++ b/libstdc++-v3/testsuite/17_intro/names.cc @@ -123,6 +123,10 @@ #define ptr ( #endif +// This clashes with newlib so don't use it. +# define __lockable cannot be used as an identifier + + // Common template parameter names #define OutputIterator OutputIterator is not a reserved name #define InputIterator InputIterator is not a reserved name @@ -222,9 +226,9 @@ #undef y #endif -#if ! __has_include() -// newlib's defines __lockable as a macro, so we can't use it. -# define __lockable cannot be used as an identifier +#if __has_include() +// newlib's defines __lockable as a macro. +#undef __lockable // newlib's defines __tzrule_type with these members. #undef d #undef m -- 2.47.2