From b12c1e7991cbde3d6fc70abfdf72abecce8b318c Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 15 Jun 2018 17:36:21 +0000 Subject: Add tests for sign of NaN returned by strtod (bug 23007). This patch adds tests for bug 23007, strtod ignoring any sign in the input string in the case of a NaN result. Tested for x86_64. [BZ #23007] * stdlib/tst-strtod-nan-sign-main.c: New file. * stdlib/tst-strtod-nan-sign.c: Likewise. * wcsmbs/tst-wcstod-nan-sign.c: Likewise. * stdlib/Makefile (tests): Add tst-strtod-nan-sign. ($(objpfx)tst-strtod-nan-sign): Depend on $(libm). * wcsmbs/Makefile (tests) Add tst-wcstod-nan-sign. ($(objpfx)tst-wcstod-nan-sign): Depend on $(libm). --- wcsmbs/Makefile | 3 ++- wcsmbs/tst-wcstod-nan-sign.c | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 wcsmbs/tst-wcstod-nan-sign.c (limited to 'wcsmbs') diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile index 63a6fbab58..2e02b22c3b 100644 --- a/wcsmbs/Makefile +++ b/wcsmbs/Makefile @@ -51,7 +51,7 @@ tests := tst-wcstof wcsmbs-tst1 tst-wcsnlen tst-btowc tst-mbrtowc \ tst-wcrtomb tst-wcpncpy tst-mbsrtowcs tst-wchar-h tst-mbrtowc2 \ tst-c16c32-1 wcsatcliff tst-wcstol-locale tst-wcstod-nan-locale \ tst-wcstod-round test-char-types tst-fgetwc-after-eof \ - $(addprefix test-,$(strop-tests)) + tst-wcstod-nan-sign $(addprefix test-,$(strop-tests)) include ../Rules @@ -105,3 +105,4 @@ CPPFLAGS += $(libio-mtsafe) CPPFLAGS-wcstold_l.c += -I../stdlib $(objpfx)tst-wcstod-nan-locale: $(libm) +$(objpfx)tst-wcstod-nan-sign: $(libm) diff --git a/wcsmbs/tst-wcstod-nan-sign.c b/wcsmbs/tst-wcstod-nan-sign.c new file mode 100644 index 0000000000..4c40e50f4f --- /dev/null +++ b/wcsmbs/tst-wcstod-nan-sign.c @@ -0,0 +1,23 @@ +/* Test strtod functions handle signs of NaNs (bug 23007). + Wide string version. + Copyright (C) 2018 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#define FNPFX wcsto +#define L_(C) L ## C + +#include "../stdlib/tst-strtod-nan-sign-main.c" -- cgit v1.2.1