mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
Fix up long double fphex.
This commit is contained in:
parent
e92584001a
commit
a53b7a4e4b
@ -1,3 +1,11 @@
|
||||
2012-03-06 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
[BZ #13726]
|
||||
* sysdeps/ieee754/ldbl-96/printf_fphex.c: Adjust position of wnumstr.
|
||||
* sysdeps/x86_64/fpu/printf_fphex.c: Likewise.
|
||||
* stdio-common/Makefile (tests): Add tst-long-dbl-fphex.
|
||||
* stdio-common/tst-long-dbl-fphex.c: New file.
|
||||
|
||||
2012-03-06 David S. Miller <davem@davemloft.net>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
|
||||
|
4
NEWS
4
NEWS
@ -13,8 +13,8 @@ Version 2.16
|
||||
5077, 5461, 5805, 5993, 6884, 6907, 9739, 9902, 10110, 10135, 10140,
|
||||
10210, 11174, 11322, 11365, 11494, 12047, 13058, 13525, 13526, 13527,
|
||||
13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, 13553,
|
||||
13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, 13738,
|
||||
13786, 13792
|
||||
13555, 13559, 13583, 13618, 13637, 13656, 13695, 13704, 13706, 13726,
|
||||
13738, 13786, 13792
|
||||
|
||||
* ISO C11 support:
|
||||
|
||||
|
@ -60,7 +60,7 @@ tests := tstscanf test_rdwr test-popen tstgetln test-fseek \
|
||||
tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
|
||||
bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21 bug22 \
|
||||
scanf16 scanf17 tst-setvbuf1 tst-grouping bug23 bug24 \
|
||||
bug-vfprintf-nargs
|
||||
bug-vfprintf-nargs tst-long-dbl-fphex
|
||||
|
||||
test-srcs = tst-unbputc tst-printf
|
||||
|
||||
|
38
stdio-common/tst-long-dbl-fphex.c
Normal file
38
stdio-common/tst-long-dbl-fphex.c
Normal file
@ -0,0 +1,38 @@
|
||||
/* This file is part of the GNU C Library.
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
Contributed by Marek Polacek <polacek@redhat.com>, 2012.
|
||||
|
||||
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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <wchar.h>
|
||||
|
||||
/* Prototype for our test function. */
|
||||
static int do_test (void);
|
||||
|
||||
static int
|
||||
do_test (void)
|
||||
{
|
||||
const long double x = 24.5;
|
||||
wchar_t a[16 * sizeof (wchar_t)];
|
||||
swprintf (a, 16 * sizeof (wchar_t), L"%La\n", x);
|
||||
wchar_t A[16 * sizeof (wchar_t)];
|
||||
swprintf (A, 16 * sizeof (wchar_t), L"%LA\n", x);
|
||||
|
||||
return (wmemcmp (a, L"0xc.4p+1", 8) != 0
|
||||
|| wmemcmp (A, L"0XC.4P+1", 8) != 0);
|
||||
}
|
||||
|
||||
#define TEST_FUNCTION do_test ()
|
||||
#include "../test-skeleton.c"
|
@ -1,5 +1,5 @@
|
||||
/* Print floating point number in hexadecimal notation according to ISO C99.
|
||||
Copyright (C) 1997, 1998, 1999, 2000, 2005 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997-2012 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
|
||||
@ -58,6 +58,7 @@ do { \
|
||||
\
|
||||
/* We use a full nibble for the leading digit. */ \
|
||||
leading = *numstr++; \
|
||||
wnumstr++; \
|
||||
\
|
||||
/* We have 3 bits from the mantissa in the leading nibble. \
|
||||
Therefore we are here using `IEEE854_LONG_DOUBLE_BIAS + 3'. */ \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Print floating point number in hexadecimal notation according to ISO C99.
|
||||
Copyright (C) 1997,1998,1999,2000,2001,2005 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997-2012 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
|
||||
@ -57,6 +57,7 @@ do { \
|
||||
\
|
||||
/* We use a full nibble for the leading digit. */ \
|
||||
leading = *numstr++; \
|
||||
wnumstr++; \
|
||||
\
|
||||
/* We have 3 bits from the mantissa in the leading nibble. \
|
||||
Therefore we are here using `IEEE854_LONG_DOUBLE_BIAS + 3'. */ \
|
||||
|
Loading…
Reference in New Issue
Block a user