From b5f7b1192580309fd638feaa8bbc99f8f73d366f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 19 Feb 2003 09:06:14 +0000 Subject: Update. * stdlib/tst-strtod.c (main): Add test for strtof bug. --- stdlib/tst-strtod.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'stdlib/tst-strtod.c') diff --git a/stdlib/tst-strtod.c b/stdlib/tst-strtod.c index afd522b9cc..9496c3d776 100644 --- a/stdlib/tst-strtod.c +++ b/stdlib/tst-strtod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,96,97,98,99,2000,2001 Free Software Foundation, Inc. +/* Copyright (C) 1991,96,97,98,99,2000,2001,2003 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 @@ -125,6 +125,29 @@ main (int argc, char ** argv) status = 1; } + const char input[] = "3752432815e-39"; + + float f1 = strtold (input, NULL); + float f2; + float f3 = strtof (input, NULL); + sscanf (input, "%g", &f2); + + if (f1 != f2) + { + printf ("f1 = %a != f2 = %a\n", f1, f2); + status = 1; + } + if (f1 != f3) + { + printf ("f1 = %a != f3 = %a\n", f1, f3); + status = 1; + } + if (f2 != f3) + { + printf ("f2 = %a != f3 = %a\n", f2, f3); + status = 1; + } + status |= long_dbl (); status |= locale_test (); -- cgit 1.4.1