* [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
@ 2015-02-02 15:49 Matthew Wahab
2015-02-02 16:17 ` Paolo Carlini
0 siblings, 1 reply; 18+ messages in thread
From: Matthew Wahab @ 2015-02-02 15:49 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]
Hello,
With target arm-none-eabi, the libstdc++ tests
28_regex/traits/char/isctype.cc and 28_regex/traits/wchar/isctype.cc fail at
--
VERIFY(!t.isctype('\n', t.lookup_classname(range(blank))));
--
This is because libstdc++ puts '\n' in the 'space' character class,
rather than 'blank' when building on newlib. This problem was known when
suport for the blank character class was added to libstdc++ (see
https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01902.html) so this
failure is not unexpected.
Changes to newlib that would have allowed the problem to be fixed were
made (https://sourceware.org/ml/newlib/2009/msg00342.html) but then
reverted (https://sourceware.org/ml/newlib/2009/msg00438.html).
This patch modifies the test to add a special case for the behaviour
with newlib.
Tested by running check-target-libstdc++-v3 -
libstdc++-dg/conformance.exp, with the modified tests, for arm-none-eabi
and aarch64-none-linux-gnu. No new failures and the modified tests now
pass on arm-none-eabi.
Ok for trunk?
Matthew
libstdc++-v3/testsuite/
2015-02-02 Matthew Wahab <matthew.wahab@arm.com>
* 28_regex/traits/char/isctype.cc (test01): Add newlib special
case for '\n'.
* 28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: isctype_newlib.patch --]
[-- Type: text/x-patch; name=isctype_newlib.patch, Size: 1767 bytes --]
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
index a7b1396..df0dac8 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
@@ -53,7 +53,12 @@ test01()
VERIFY(!t.isctype('_', t.lookup_classname(range(digit))));
VERIFY( t.isctype(' ', t.lookup_classname(range(blank))));
VERIFY( t.isctype('\t', t.lookup_classname(range(blank))));
+#if defined (__NEWLIB__)
+ /* newlib includes '\n' in class 'blank'. */
+ VERIFY( t.isctype('\n', t.lookup_classname(range(blank))));
+#else
VERIFY(!t.isctype('\n', t.lookup_classname(range(blank))));
+#endif
VERIFY( t.isctype('t', t.lookup_classname(range(upper), true)));
VERIFY( t.isctype('T', t.lookup_classname(range(lower), true)));
#undef range
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
index e450f6d..b6088bd 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
@@ -50,7 +50,12 @@ test01()
VERIFY(!t.isctype(L'_', t.lookup_classname(range(digit))));
VERIFY( t.isctype(L' ', t.lookup_classname(range(blank))));
VERIFY( t.isctype(L'\t', t.lookup_classname(range(blank))));
+#if defined (__NEWLIB__)
+ /* newlib includes '\n' in class 'blank'. */
+ VERIFY( t.isctype(L'\n', t.lookup_classname(range(blank))));
+#else
VERIFY(!t.isctype(L'\n', t.lookup_classname(range(blank))));
+#endif
VERIFY( t.isctype(L't', t.lookup_classname(range(upper), true)));
VERIFY( t.isctype(L'T', t.lookup_classname(range(lower), true)));
#undef range
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
2015-02-02 15:49 [PATCH][libstdc++][Testsuite] isctype test fails for newlib Matthew Wahab
@ 2015-02-02 16:17 ` Paolo Carlini
2015-02-02 16:33 ` Jonathan Wakely
0 siblings, 1 reply; 18+ messages in thread
From: Paolo Carlini @ 2015-02-02 16:17 UTC (permalink / raw)
To: Matthew Wahab, gcc-patches; +Cc: libstdc++
Hi,
On 02/02/2015 04:49 PM, Matthew Wahab wrote:
> Hello,
>
> With target arm-none-eabi, the libstdc++ tests
> 28_regex/traits/char/isctype.cc and 28_regex/traits/wchar/isctype.cc
> fail at
> --
> VERIFY(!t.isctype('\n', t.lookup_classname(range(blank))));
> --
> This is because libstdc++ puts '\n' in the 'space' character class,
> rather than 'blank' when building on newlib. This problem was known
> when suport for the blank character class was added to libstdc++ (see
> https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01902.html) so this
> failure is not unexpected.
>
> Changes to newlib that would have allowed the problem to be fixed were
> made (https://sourceware.org/ml/newlib/2009/msg00342.html) but then
> reverted (https://sourceware.org/ml/newlib/2009/msg00438.html).
>
> This patch modifies the test to add a special case for the behaviour
> with newlib.
>
> Tested by running check-target-libstdc++-v3 -
> libstdc++-dg/conformance.exp, with the modified tests, for
> arm-none-eabi and aarch64-none-linux-gnu. No new failures and the
> modified tests now pass on arm-none-eabi.
>
> Ok for trunk?
I guess the patch is Ok for trunk, but please also add in the comment a
link to this message of yours, that is
https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00059.html.
Thanks,
Paolo.
PS: please remember to always CC libstdc++-v3 patches to
libstdc++@gcc.gnu.org.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
2015-02-02 16:17 ` Paolo Carlini
@ 2015-02-02 16:33 ` Jonathan Wakely
[not found] ` <54CFBBD5.4080205@arm.com>
2015-02-03 10:17 ` Matthew Wahab
0 siblings, 2 replies; 18+ messages in thread
From: Jonathan Wakely @ 2015-02-02 16:33 UTC (permalink / raw)
To: Paolo Carlini; +Cc: Matthew Wahab, gcc-patches, libstdc++
On 2 February 2015 at 16:17, Paolo Carlini <paolo.carlini@oracle.com> wrote:
> Hi,
>
> On 02/02/2015 04:49 PM, Matthew Wahab wrote:
>>
>> Hello,
>>
>> With target arm-none-eabi, the libstdc++ tests
>> 28_regex/traits/char/isctype.cc and 28_regex/traits/wchar/isctype.cc fail at
>> --
>> VERIFY(!t.isctype('\n', t.lookup_classname(range(blank))));
>> --
>> This is because libstdc++ puts '\n' in the 'space' character class, rather
>> than 'blank' when building on newlib. This problem was known when suport for
>> the blank character class was added to libstdc++ (see
>> https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01902.html) so this failure
>> is not unexpected.
>>
>> Changes to newlib that would have allowed the problem to be fixed were
>> made (https://sourceware.org/ml/newlib/2009/msg00342.html) but then reverted
>> (https://sourceware.org/ml/newlib/2009/msg00438.html).
>>
>> This patch modifies the test to add a special case for the behaviour with
>> newlib.
>>
>> Tested by running check-target-libstdc++-v3 -
>> libstdc++-dg/conformance.exp, with the modified tests, for arm-none-eabi and
>> aarch64-none-linux-gnu. No new failures and the modified tests now pass on
>> arm-none-eabi.
>>
>> Ok for trunk?
This is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64467 so please
note that in the ChangeLog.
> I guess the patch is Ok for trunk, but please also add in the comment a link
> to this message of yours, that is
> https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00059.html.
>
> Thanks,
> Paolo.
>
> PS: please remember to always CC libstdc++-v3 patches to
> libstdc++@gcc.gnu.org.
Yes, not everyone subscribes to gcc-patches so please always send
libstdc++ patches to the libstdc++ list, as documented at
https://gcc.gnu.org/lists.html and in the libstdc++ manual.
^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <54CFBBD5.4080205@arm.com>]
* Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
2015-02-02 16:33 ` Jonathan Wakely
[not found] ` <54CFBBD5.4080205@arm.com>
@ 2015-02-03 10:17 ` Matthew Wahab
2015-02-03 10:27 ` Paolo Carlini
1 sibling, 1 reply; 18+ messages in thread
From: Matthew Wahab @ 2015-02-03 10:17 UTC (permalink / raw)
To: gcc-patches; +Cc: libstdc++
[-- Attachment #1: Type: text/plain, Size: 1008 bytes --]
[Email problems so resending to the list, sorry for multiple copies.]
On 02/02/15 16:33, Jonathan Wakely wrote:
> On 2 February 2015 at 16:17, Paolo Carlini <paolo.carlini@oracle.com> wrote:
>
> This is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64467 so please
> note that in the ChangeLog.
>
>> I guess the patch is Ok for trunk, but please also add in the comment a link
>> to this message of yours, that is
>> https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00059.html.
Updated patch attached and changelog below.
> Yes, not everyone subscribes to gcc-patches so please always send
> libstdc++ patches to the libstdc++ list, as documented at
> https://gcc.gnu.org/lists.html and in the libstdc++ manual.
Noted, sorry about that.
Matthew
libstdc++-v3/testsuite/
2015-02-02 Matthew Wahab <matthew.wahab@arm.com>
PR libstdc++/64467
* 28_regex/traits/char/isctype.cc (test01): Add newlib special
case for '\n'.
* 28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: isctype_newlib.patch --]
[-- Type: text/x-patch; name=isctype_newlib.patch, Size: 1919 bytes --]
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
index a7b1396..7c47045 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
@@ -53,7 +53,13 @@ test01()
VERIFY(!t.isctype('_', t.lookup_classname(range(digit))));
VERIFY( t.isctype(' ', t.lookup_classname(range(blank))));
VERIFY( t.isctype('\t', t.lookup_classname(range(blank))));
+#if defined (__NEWLIB__)
+ /* newlib includes '\n' in class 'blank'.
+ See https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00059.html. */
+ VERIFY( t.isctype('\n', t.lookup_classname(range(blank))));
+#else
VERIFY(!t.isctype('\n', t.lookup_classname(range(blank))));
+#endif
VERIFY( t.isctype('t', t.lookup_classname(range(upper), true)));
VERIFY( t.isctype('T', t.lookup_classname(range(lower), true)));
#undef range
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
index e450f6d..1b3d69a 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
@@ -50,7 +50,13 @@ test01()
VERIFY(!t.isctype(L'_', t.lookup_classname(range(digit))));
VERIFY( t.isctype(L' ', t.lookup_classname(range(blank))));
VERIFY( t.isctype(L'\t', t.lookup_classname(range(blank))));
+#if defined (__NEWLIB__)
+ /* newlib includes '\n' in class 'blank'.
+ See https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00059.html. */
+ VERIFY( t.isctype(L'\n', t.lookup_classname(range(blank))));
+#else
VERIFY(!t.isctype(L'\n', t.lookup_classname(range(blank))));
+#endif
VERIFY( t.isctype(L't', t.lookup_classname(range(upper), true)));
VERIFY( t.isctype(L'T', t.lookup_classname(range(lower), true)));
#undef range
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
2015-02-03 10:17 ` Matthew Wahab
@ 2015-02-03 10:27 ` Paolo Carlini
2015-02-03 10:40 ` Matthew Wahab
0 siblings, 1 reply; 18+ messages in thread
From: Paolo Carlini @ 2015-02-03 10:27 UTC (permalink / raw)
To: Matthew Wahab, gcc-patches; +Cc: libstdc++
Hi,
On 02/03/2015 11:17 AM, Matthew Wahab wrote:
> libstdc++-v3/testsuite/
> 2015-02-02 Matthew Wahab <matthew.wahab@arm.com>
>
> PR libstdc++/64467
> * 28_regex/traits/char/isctype.cc (test01): Add newlib special
> case for '\n'.
> * 28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
Nit: the path should be * testsuite/28_regex/... and likewise for the
other testcase, because it starts where is the corresponding ChangeLog.
Paolo
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
2015-02-03 10:27 ` Paolo Carlini
@ 2015-02-03 10:40 ` Matthew Wahab
2015-02-03 11:17 ` Paolo Carlini
2015-02-07 0:12 ` Jonathan Wakely
0 siblings, 2 replies; 18+ messages in thread
From: Matthew Wahab @ 2015-02-03 10:40 UTC (permalink / raw)
To: gcc-patches; +Cc: libstdc++
[-- Attachment #1: Type: text/plain, Size: 490 bytes --]
On 03/02/15 10:27, Paolo Carlini wrote:
> Nit: the path should be * testsuite/28_regex/... and likewise for the
> other testcase, because it starts where is the corresponding ChangeLog.
Fixed changelog:
libstdc++-v3/
2015-02-02 Matthew Wahab <matthew.wahab@arm.com>
PR libstdc++/64467
* testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
special case for '\n'.
* testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
Ok to commit?
Matthew
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: isctype_newlib.patch --]
[-- Type: text/x-patch; name=isctype_newlib.patch, Size: 1907 bytes --]
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
index a7b1396..7c47045 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
@@ -53,7 +53,13 @@ test01()
VERIFY(!t.isctype('_', t.lookup_classname(range(digit))));
VERIFY( t.isctype(' ', t.lookup_classname(range(blank))));
VERIFY( t.isctype('\t', t.lookup_classname(range(blank))));
+#if defined (__NEWLIB__)
+ /* newlib includes '\n' in class 'blank'.
+ See https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00059.html. */
+ VERIFY( t.isctype('\n', t.lookup_classname(range(blank))));
+#else
VERIFY(!t.isctype('\n', t.lookup_classname(range(blank))));
+#endif
VERIFY( t.isctype('t', t.lookup_classname(range(upper), true)));
VERIFY( t.isctype('T', t.lookup_classname(range(lower), true)));
#undef range
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
index e450f6d..1b3d69a 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
@@ -50,7 +50,13 @@ test01()
VERIFY(!t.isctype(L'_', t.lookup_classname(range(digit))));
VERIFY( t.isctype(L' ', t.lookup_classname(range(blank))));
VERIFY( t.isctype(L'\t', t.lookup_classname(range(blank))));
+#if defined (__NEWLIB__)
+ /* newlib includes '\n' in class 'blank'.
+ See https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00059.html. */
+ VERIFY( t.isctype(L'\n', t.lookup_classname(range(blank))));
+#else
VERIFY(!t.isctype(L'\n', t.lookup_classname(range(blank))));
+#endif
VERIFY( t.isctype(L't', t.lookup_classname(range(upper), true)));
VERIFY( t.isctype(L'T', t.lookup_classname(range(lower), true)));
#undef range
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
2015-02-03 10:40 ` Matthew Wahab
@ 2015-02-03 11:17 ` Paolo Carlini
2015-02-07 0:12 ` Jonathan Wakely
1 sibling, 0 replies; 18+ messages in thread
From: Paolo Carlini @ 2015-02-03 11:17 UTC (permalink / raw)
To: Matthew Wahab, gcc-patches; +Cc: libstdc++
Hi,
On 02/03/2015 11:40 AM, Matthew Wahab wrote:
> Ok to commit?
Ok thanks.
Paolo.
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
2015-02-03 10:40 ` Matthew Wahab
2015-02-03 11:17 ` Paolo Carlini
@ 2015-02-07 0:12 ` Jonathan Wakely
2015-02-09 11:25 ` Matthew Wahab
1 sibling, 1 reply; 18+ messages in thread
From: Jonathan Wakely @ 2015-02-07 0:12 UTC (permalink / raw)
To: Matthew Wahab; +Cc: gcc-patches, libstdc++
Any idea why HP still sees the tests fail? See comment 8 at
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64467#c8
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
2015-02-07 0:12 ` Jonathan Wakely
@ 2015-02-09 11:25 ` Matthew Wahab
2015-02-09 13:18 ` Hans-Peter Nilsson
0 siblings, 1 reply; 18+ messages in thread
From: Matthew Wahab @ 2015-02-09 11:25 UTC (permalink / raw)
To: Jonathan Wakely; +Cc: gcc-patches, libstdc++, hp
On 07/02/15 00:11, Jonathan Wakely wrote:
> Any idea why HP still sees the tests fail? See comment 8 at
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64467#c8
It looks like he's found the problem: that _NEWLIB_ is a recent addition
that isn't in the version he's using. I'll try replacing _NEWLIB_ with
_NEWLIB_VERSION_ as suggested.
Matthew
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
2015-02-09 11:25 ` Matthew Wahab
@ 2015-02-09 13:18 ` Hans-Peter Nilsson
2015-02-09 17:50 ` Matthew Wahab
[not found] ` <54D8F2F6.7030406@arm.com>
0 siblings, 2 replies; 18+ messages in thread
From: Hans-Peter Nilsson @ 2015-02-09 13:18 UTC (permalink / raw)
To: Matthew Wahab; +Cc: Jonathan Wakely, gcc-patches, libstdc++, hp
On Mon, 9 Feb 2015, Matthew Wahab wrote:
> On 07/02/15 00:11, Jonathan Wakely wrote:
> > Any idea why HP still sees the tests fail? See comment 8 at
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64467#c8
>
> It looks like he's found the problem: that _NEWLIB_ is a recent addition that
> isn't in the version he's using. I'll try replacing _NEWLIB_ with
> _NEWLIB_VERSION_ as suggested.
(Careful with that macro spelling, if nothing else.)
Better to use existing mechanisms and stop playing with
target-related macros. Add this at the top (see other
placements of dg-options) and replace "#if defined (__NEWLIB__)"
with "#ifdef NEWLINE_IN_CLASS_BLANK":
// { dg-options "-DNEWLINE_IN_CLASS_BLANK" { target newlib } }
brgds, H-P
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH][libstdc++][Testsuite] isctype test fails for newlib.
2015-02-09 13:18 ` Hans-Peter Nilsson
@ 2015-02-09 17:50 ` Matthew Wahab
[not found] ` <54D8F2F6.7030406@arm.com>
1 sibling, 0 replies; 18+ messages in thread
From: Matthew Wahab @ 2015-02-09 17:50 UTC (permalink / raw)
To: gcc-patches; +Cc: libstdc++, Jonathan Wakely
[-- Attachment #1: Type: text/plain, Size: 1414 bytes --]
On 09/02/15 13:18, Hans-Peter Nilsson wrote:
> On Mon, 9 Feb 2015, Matthew Wahab wrote:
>> On 07/02/15 00:11, Jonathan Wakely wrote:
>>> Any idea why HP still sees the tests fail? See comment 8 at
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64467#c8
>>
>> It looks like he's found the problem: that _NEWLIB_ is a recent addition that
>> isn't in the version he's using. I'll try replacing _NEWLIB_ with
>> _NEWLIB_VERSION_ as suggested.
>
> (Careful with that macro spelling, if nothing else.)
>
> Better to use existing mechanisms and stop playing with
> target-related macros. Add this at the top (see other
> placements of dg-options) and replace "#if defined (__NEWLIB__)"
> with "#ifdef NEWLINE_IN_CLASS_BLANK":
>
> // { dg-options "-DNEWLINE_IN_CLASS_BLANK" { target newlib } }
>
Attached a patch to replace the test for macro __NEWLIB__ with a test
for macro NEWLINE_IN_CLASS_BLANK, defined by
{ dg-additional-options "-DNEWLINE_IN_CLASS_BLANK" { target newlib } }
Tested with check-target-libstdc++-v3, with the modified tests, for
arm-none-eabi and aarch64-none-linux-gnu.
Does this look ok to commit?
Matthew
libstdc++-v3/testsuite/
2015-02-09 Matthew Wahab <matthew.wahab@arm.com>
* 28_regex/traits/char/isctype.cc (test01): Replace test
for __NEWLIB__ macro with a dejagnu set macro.
* 28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: isctype_target.patch --]
[-- Type: text/x-patch; name=isctype_target.patch, Size: 1957 bytes --]
diff --git a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
index 7c47045..b6fd6ff 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/char/isctype.cc
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-std=gnu++11" }
+// { dg-additional-options "-DNEWLINE_IN_CLASS_BLANK" { target newlib } }
//
// 2010-06-23 Stephen M. Webb <stephen.webb@bregmasoft.ca>
@@ -53,8 +54,8 @@ test01()
VERIFY(!t.isctype('_', t.lookup_classname(range(digit))));
VERIFY( t.isctype(' ', t.lookup_classname(range(blank))));
VERIFY( t.isctype('\t', t.lookup_classname(range(blank))));
-#if defined (__NEWLIB__)
- /* newlib includes '\n' in class 'blank'.
+#if defined (NEWLINE_IN_CLASS_BLANK)
+ /* On some targets, '\n' is in class 'blank'.
See https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00059.html. */
VERIFY( t.isctype('\n', t.lookup_classname(range(blank))));
#else
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
index 1b3d69a..9ba609c 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-std=gnu++11" }
+// { dg-additional-options "-DNEWLINE_IN_CLASS_BLANK" { target newlib } }
// Copyright (C) 2010-2015 Free Software Foundation, Inc.
//
@@ -51,7 +52,7 @@ test01()
VERIFY( t.isctype(L' ', t.lookup_classname(range(blank))));
VERIFY( t.isctype(L'\t', t.lookup_classname(range(blank))));
#if defined (__NEWLIB__)
- /* newlib includes '\n' in class 'blank'.
+ /* On some targets, '\n' is in class 'blank'.
See https://gcc.gnu.org/ml/gcc-patches/2015-02/msg00059.html. */
VERIFY( t.isctype(L'\n', t.lookup_classname(range(blank))));
#else
^ permalink raw reply [flat|nested] 18+ messages in thread
[parent not found: <54D8F2F6.7030406@arm.com>]
end of thread, other threads:[~2015-03-10 9:56 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-02 15:49 [PATCH][libstdc++][Testsuite] isctype test fails for newlib Matthew Wahab
2015-02-02 16:17 ` Paolo Carlini
2015-02-02 16:33 ` Jonathan Wakely
[not found] ` <54CFBBD5.4080205@arm.com>
2015-02-02 18:14 ` Jonathan Wakely
2015-02-03 10:17 ` Matthew Wahab
2015-02-03 10:27 ` Paolo Carlini
2015-02-03 10:40 ` Matthew Wahab
2015-02-03 11:17 ` Paolo Carlini
2015-02-07 0:12 ` Jonathan Wakely
2015-02-09 11:25 ` Matthew Wahab
2015-02-09 13:18 ` Hans-Peter Nilsson
2015-02-09 17:50 ` Matthew Wahab
[not found] ` <54D8F2F6.7030406@arm.com>
[not found] ` <alpine.BSF.2.02.1502091814490.19399@arjuna.pair.com>
2015-02-10 8:51 ` Matthew Wahab
2015-02-11 11:14 ` Matthew Wahab
2015-02-11 15:44 ` Jonathan Wakely
2015-02-13 13:48 ` Matthew Wahab
2015-03-09 12:47 ` Jonathan Wakely
2015-03-10 9:56 ` Matthew Wahab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).