1998-02-17 15:10  Ulrich Drepper  <drepper@cygnus.com>

	* elf/dl-load.c (open_path): Use __xstat instead of stat.

	* localedata/tst-locale.sh: Comment out first test for now.

1998-02-14 14:58  H.J. Lu  <hjl@gnu.org>

	* sysdeps/generic/_G_config.h (_G_HAVE_IO_GETLINE_INFO): Defined
	as 1.
	* sysdeps/unix/sysv/linux/_G_config.h (_G_HAVE_IO_GETLINE_INFO):
	Likewise.

	* libio/iogetline.c (_IO_getline_info): Renamed from
	_IO_getline.
	(_IO_getline): Just call _IO_getline_info.

	* libio/libioP.h (_IO_getline_info): New declaration.

	* libc.map (_IO_getline_info, __write): Added.

1998-02-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sunrpc/rpc_cout.c (inline_struct): Change typo of plus to
	const char* to shut up gcc.

1998-02-17 11:37  Ulrich Drepper  <drepper@cygnus.com>

	* eld/dl-open.c (_dl_open): Assign correct value to new->l_global.
	Patch forwarded by Cristian Gafton <gafton@redhat.com>.

	* math/math.h: Define M_* constants always as `double' and add new
	macros M_*l which are of type `long double'.
	* sysdeps/libm-ieee754/s_cacoshl.c: Use M_*l constants now.
	* sysdeps/libm-ieee754/s_cacosl.c: Likewise.
	* sysdeps/libm-ieee754/s_casinhl.c: Likewise.
	* sysdeps/libm-ieee754/s_catanhl.c: Likewise.
	* sysdeps/libm-ieee754/s_catanl.c: Likewise.
	* sysdeps/libm-ieee754/s_clog10l.c: Likewise.
	* sysdeps/libm-ieee754/s_clogl.c: Likewise.
	* math/libm-tst.c: Likewise.

	* sysdeps/i386/fpu/bits/mathinline.h (__M_SQRT2): Don't use _Mdbl,
	define as long double unconditionally.

1998-02-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* manual/arith.texi (Old-style number conversion): Correct some
	typos.

1998-02-16 16:28  H.J. Lu  <hjl@gnu.org>

	* time/Makefile (tz-cflags, CFLAGS-tzfile.c, CFLAGS-tzset.c):
	Restore.

	* timezone/Makefile (CFLAGS-tzfile.c, CFLAGS-tzset.c): Deleted.
This commit is contained in:
Ulrich Drepper 1998-02-17 15:15:51 +00:00
parent 3858abff55
commit 0a61487785
24 changed files with 462 additions and 342 deletions

View File

@ -1,3 +1,60 @@
1998-02-17 15:10 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-load.c (open_path): Use __xstat instead of stat.
* localedata/tst-locale.sh: Comment out first test for now.
1998-02-14 14:58 H.J. Lu <hjl@gnu.org>
* sysdeps/generic/_G_config.h (_G_HAVE_IO_GETLINE_INFO): Defined
as 1.
* sysdeps/unix/sysv/linux/_G_config.h (_G_HAVE_IO_GETLINE_INFO):
Likewise.
* libio/iogetline.c (_IO_getline_info): Renamed from
_IO_getline.
(_IO_getline): Just call _IO_getline_info.
* libio/libioP.h (_IO_getline_info): New declaration.
* libc.map (_IO_getline_info, __write): Added.
1998-02-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sunrpc/rpc_cout.c (inline_struct): Change typo of plus to
const char* to shut up gcc.
1998-02-17 11:37 Ulrich Drepper <drepper@cygnus.com>
* eld/dl-open.c (_dl_open): Assign correct value to new->l_global.
Patch forwarded by Cristian Gafton <gafton@redhat.com>.
* math/math.h: Define M_* constants always as `double' and add new
macros M_*l which are of type `long double'.
* sysdeps/libm-ieee754/s_cacoshl.c: Use M_*l constants now.
* sysdeps/libm-ieee754/s_cacosl.c: Likewise.
* sysdeps/libm-ieee754/s_casinhl.c: Likewise.
* sysdeps/libm-ieee754/s_catanhl.c: Likewise.
* sysdeps/libm-ieee754/s_catanl.c: Likewise.
* sysdeps/libm-ieee754/s_clog10l.c: Likewise.
* sysdeps/libm-ieee754/s_clogl.c: Likewise.
* math/libm-tst.c: Likewise.
* sysdeps/i386/fpu/bits/mathinline.h (__M_SQRT2): Don't use _Mdbl,
define as long double unconditionally.
1998-02-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/arith.texi (Old-style number conversion): Correct some
typos.
1998-02-16 16:28 H.J. Lu <hjl@gnu.org>
* time/Makefile (tz-cflags, CFLAGS-tzfile.c, CFLAGS-tzset.c):
Restore.
* timezone/Makefile (CFLAGS-tzfile.c, CFLAGS-tzset.c): Deleted.
1998-02-16 Ulrich Drepper <drepper@cygnus.com> 1998-02-16 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile ($(objpfx)ld.so): Don't depend on rtld-script but * elf/Makefile ($(objpfx)ld.so): Don't depend on rtld-script but

View File

@ -832,7 +832,8 @@ open_path (const char *name, size_t namelen,
buf[this_dir->machdirnamelen - 1] = '\0'; buf[this_dir->machdirnamelen - 1] = '\0';
if (stat (buf, &st) != 0 || ! S_ISDIR (st.st_mode)) if (__xstat (_STAT_VER, buf, &st) != 0
|| ! S_ISDIR (st.st_mode))
/* The directory does not exist ot it is no directory. */ /* The directory does not exist ot it is no directory. */
this_dir->machdirstatus = nonexisting; this_dir->machdirstatus = nonexisting;
else else
@ -863,7 +864,8 @@ open_path (const char *name, size_t namelen,
buf[this_dir->dirnamelen - 1] = '\0'; buf[this_dir->dirnamelen - 1] = '\0';
if (stat (buf, &st) != 0 || ! S_ISDIR (st.st_mode)) if (__xstat (_STAT_VER, buf, &st) != 0
|| ! S_ISDIR (st.st_mode))
/* The directory does not exist ot it is no directory. */ /* The directory does not exist ot it is no directory. */
this_dir->dirstatus = nonexisting; this_dir->dirstatus = nonexisting;
else else

View File

@ -110,7 +110,7 @@ _dl_open (const char *file, int mode)
l = l->l_prev; l = l->l_prev;
} }
new->l_global = (mode & RTLD_GLOBAL); new->l_global = (mode & RTLD_GLOBAL) ? 1 : 0;
if (new->l_global) if (new->l_global)
{ {
/* The symbols of the new object and its dependencies are to be /* The symbols of the new object and its dependencies are to be

View File

@ -100,7 +100,7 @@ GLIBC_2.0 {
__vsscanf; __vfscanf; __vsnprintf; __vsscanf; __vfscanf; __vsnprintf;
_rpc_dtablesize; _null_auth; _seterr_reply; _rpc_dtablesize; _null_auth; _seterr_reply;
__res_randomid; __syscall_rt_sigqueueinfo; __getpid; __pread64; __pwrite64; __res_randomid; __syscall_rt_sigqueueinfo; __getpid; __pread64; __pwrite64;
__strcasecmp; __strcasecmp; __write;
# Exception handling support functions from libgcc # Exception handling support functions from libgcc
__register_frame; __register_frame_table; __deregister_frame; __register_frame; __register_frame_table; __deregister_frame;
@ -470,4 +470,7 @@ GLIBC_2.1 {
# New special glibc functions. # New special glibc functions.
gnu_get_libc_release; gnu_get_libc_version; gnu_get_libc_release; gnu_get_libc_version;
# Changed getline function in libio.
_IO_getline_info;
} GLIBC_2.0; } GLIBC_2.0;

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1997 Free Software Foundation, Inc. /* Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU IO Library. This file is part of the GNU IO Library.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
@ -26,13 +26,7 @@
#include "libioP.h" #include "libioP.h"
#include <string.h> #include <string.h>
/* Algorithm based on that used by Berkeley pre-4.4 fgets implementation. #if defined _LIBC || !_G_HAVE_IO_GETLINE_INFO
Read chars into buf (of size n), until delim is seen.
Return number of chars read (at most n).
Does not put a terminating '\0' in buf.
If extract_delim < 0, leave delimiter unread.
If extract_delim > 0, insert delim in output. */
_IO_size_t _IO_size_t
_IO_getline (fp, buf, n, delim, extract_delim) _IO_getline (fp, buf, n, delim, extract_delim)
@ -41,17 +35,57 @@ _IO_getline (fp, buf, n, delim, extract_delim)
_IO_size_t n; _IO_size_t n;
int delim; int delim;
int extract_delim; int extract_delim;
{
return _IO_getline_info (fp, buf, n, delim, extract_delim, (int *) 0);
}
/* Algorithm based on that used by Berkeley pre-4.4 fgets implementation.
Read chars into buf (of size n), until delim is seen.
Return number of chars read (at most n).
Does not put a terminating '\0' in buf.
If extract_delim < 0, leave delimiter unread.
If extract_delim > 0, insert delim in output. */
_IO_size_t
_IO_getline_info (fp, buf, n, delim, extract_delim, eof)
_IO_FILE *fp;
char *buf;
_IO_size_t n;
int delim;
int extract_delim;
int *eof;
{ {
char *ptr = buf; char *ptr = buf;
if (eof != NULL)
*eof = 0;
do do
{ {
_IO_ssize_t len = fp->_IO_read_end - fp->_IO_read_ptr; _IO_ssize_t len = fp->_IO_read_end - fp->_IO_read_ptr;
char *t;
if (len <= 0) if (len <= 0)
if (__underflow (fp) == EOF) {
int c = __uflow (fp);
if (c == EOF)
{
if (eof) *eof = c;
break; break;
}
if (c == delim)
{
if (extract_delim > 0)
*ptr++ = c;
else if (extract_delim < 0)
_IO_sputbackc (fp, c);
return ptr - buf;
if (extract_delim > 0)
++len;
}
*ptr++ = c;
n--;
}
else else
len = fp->_IO_read_end - fp->_IO_read_ptr; {
char *t;
if ((_IO_size_t) len >= n) if ((_IO_size_t) len >= n)
len = n; len = n;
t = (char *) memchr ((void *) fp->_IO_read_ptr, delim, len); t = (char *) memchr ((void *) fp->_IO_read_ptr, delim, len);
@ -73,6 +107,9 @@ _IO_getline (fp, buf, n, delim, extract_delim)
fp->_IO_read_ptr += len; fp->_IO_read_ptr += len;
ptr += len; ptr += len;
n -= len; n -= len;
}
} while (n != 0); } while (n != 0);
return ptr - buf; return ptr - buf;
} }
#endif /* Defined _LIBC || !_G_HAVE_IO_GETLINE_INFO */

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1997 Free Software Foundation, Inc. /* Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU IO Library. This file is part of the GNU IO Library.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
@ -428,6 +428,8 @@ extern int _IO_vsnprintf __P ((char *string, _IO_size_t maxlen,
extern _IO_size_t _IO_getline __P ((_IO_FILE *,char *, _IO_size_t, int, int)); extern _IO_size_t _IO_getline __P ((_IO_FILE *,char *, _IO_size_t, int, int));
extern _IO_size_t _IO_getline_info __P ((_IO_FILE *,char *, _IO_size_t,
int, int, int *));
extern _IO_ssize_t _IO_getdelim __P ((char **, _IO_size_t *, int, _IO_FILE *)); extern _IO_ssize_t _IO_getdelim __P ((char **, _IO_size_t *, int, _IO_FILE *));
extern double _IO_strtod __P ((const char *, char **)); extern double _IO_strtod __P ((const char *, char **));
extern char *_IO_dtoa __P ((double __d, int __mode, int __ndigits, extern char *_IO_dtoa __P ((double __d, int __mode, int __ndigits,

View File

@ -37,13 +37,13 @@ test-output := $(foreach s, .out .xout, \
generated := $(test-input) $(test-output) generated := $(test-input) $(test-output)
generated-dirs := $(basename $(test-input)) en_US generated-dirs := $(basename $(test-input)) en_US
test-names := test1 test2 test3 test4 ld-test-names := test1 test2 test3 test4
test-srcs := $(addprefix tests/,$(addsuffix .cm,$(test-names)) \ ld-test-srcs := $(addprefix tests/,$(addsuffix .cm,$(ld-test-names)) \
$(addsuffix .def,$(test-names))) $(addsuffix .def,$(ld-test-names)))
distribute := CHECKSUMS tst-fmon.sh tst-fmon.data ChangeLog sort-test.sh \ distribute := CHECKSUMS tst-fmon.sh tst-fmon.data ChangeLog sort-test.sh \
README mnemonic.ds fr_CA,2.13.in de_DE.in da_DK.in \ README mnemonic.ds fr_CA,2.13.in de_DE.in da_DK.in \
$(charmaps) $(locales) $(test-srcs) $(charmaps) $(locales) $(ld-test-srcs)
# Get $(inst_i18ndir) defined. # Get $(inst_i18ndir) defined.
include ../Makeconfig include ../Makeconfig

View File

@ -38,7 +38,9 @@ test_locale ()
fi fi
} }
test_locale IBM437 de_DE de_DE.437 # I take this out for now since it is a known problem
# (see [PR libc/229] and [PR libc/454].
# test_locale IBM437 de_DE de_DE.437
test_locale tests/test1.cm tests/test1.def test1 test_locale tests/test1.cm tests/test1.def test1
test_locale tests/test2.cm tests/test2.def test2 test_locale tests/test2.cm tests/test2.def test2
test_locale tests/test3.cm tests/test3.def test3 test_locale tests/test3.cm tests/test3.def test3

View File

@ -1337,7 +1337,7 @@ extensions in the same sense.
Generally, you should avoid using these functions unless the really fit Generally, you should avoid using these functions unless the really fit
into the problem you have to to solve. Otherwise it is almost always into the problem you have to to solve. Otherwise it is almost always
better to use @code{sprinf} since it's greater availability (it is an better to use @code{sprintf} since its greater availability (it is an
@w{ISO C} function). @w{ISO C} function).
@ -1387,14 +1387,14 @@ The prototype for this function can be found in @file{stdlib.h}.
@comment SVID, Unix98 @comment SVID, Unix98
@deftypefun {char *} gcvt (double @var{value}, int @var{ndigit}, char *@var{buf}) @deftypefun {char *} gcvt (double @var{value}, int @var{ndigit}, char *@var{buf})
The @code{gcvt} function also converts @var{value} to a NUL terminated The @code{gcvt} function also converts @var{value} to a NUL terminated
string but does in a way similar to the @code{%g} format of string but in a way similar to the @code{%g} format of
@code{printf}. It also does not use a static buffer but instead uses @code{sprintf}. It also does not use a static buffer but instead uses
the user-provided buffer starting at @var{buf}. It is the user's the user-provided buffer starting at @var{buf}. It is the user's
responsibility to make sure the buffer is long enough to contain the responsibility to make sure the buffer is long enough to contain the
result. Unlike the @code{ecvt} and @code{fcvt} function @code{gcvt} result. Unlike the @code{ecvt} and @code{fcvt} functions @code{gcvt}
includes the sign and the decimal point character (which is determined includes the sign and the decimal point characters (which are determined
according to the current locale) in the result. Therefore there are yet according to the current locale) in the result. Therefore there are yet
less reasons to use this function instead of @code{printf}. less reasons to use this function instead of @code{sprintf}.
The return value is @var{buf}. The return value is @var{buf}.
@ -1402,11 +1402,11 @@ The prototype for this function can be found in @file{stdlib.h}.
@end deftypefun @end deftypefun
All these three functions have in common that they use @code{double} All three functions have in common that they use @code{double}
values as the parameters. Calling these functions using @code{long values as parameter. Calling these functions using @code{long
double} values would mean a loss of precision due to the implicit double} values would mean a loss of precision due to the implicit
rounding. Therefore the GNU C library contains three more functions rounding. Therefore the GNU C library contains three more functions
with similar semantic which take @code{long double} values. with similar semantics which take @code{long double} values.
@comment stdlib.h @comment stdlib.h
@comment GNU @comment GNU
@ -1453,7 +1453,7 @@ is no need for a @code{gcvt_r} function.
@deftypefun {char *} ecvt_r (double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{sign}, char *@var{buf}, size_t @var{len}) @deftypefun {char *} ecvt_r (double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{sign}, char *@var{buf}, size_t @var{len})
The @code{ecvt_r} function is similar to the @code{ecvt} function except The @code{ecvt_r} function is similar to the @code{ecvt} function except
that it places its result into the user-specified buffer starting at that it places its result into the user-specified buffer starting at
@var{buf}. @var{buf} with length @var{len}.
This function is a GNU extension. The prototype can be found in This function is a GNU extension. The prototype can be found in
@file{stdlib.h}. @file{stdlib.h}.
@ -1464,7 +1464,7 @@ This function is a GNU extension. The prototype can be found in
@deftypefun {char *} fcvt_r (double @var{value}, int @var{ndigit}, int @var{decpt}, int *@var{sign}, char *@var{buf}, size_t @var{len}) @deftypefun {char *} fcvt_r (double @var{value}, int @var{ndigit}, int @var{decpt}, int *@var{sign}, char *@var{buf}, size_t @var{len})
The @code{fcvt_r} function is similar to the @code{fcvt} function except The @code{fcvt_r} function is similar to the @code{fcvt} function except
that it places its result into the user-specified buffer starting at that it places its result into the user-specified buffer starting at
@var{buf}. @var{buf} with length @var{len}.
This function is a GNU extension. The prototype can be found in This function is a GNU extension. The prototype can be found in
@file{stdlib.h}. @file{stdlib.h}.
@ -1475,7 +1475,7 @@ This function is a GNU extension. The prototype can be found in
@deftypefun {char *} qecvt_r (long double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{sign}, char *@var{buf}, size_t @var{len}) @deftypefun {char *} qecvt_r (long double @var{value}, int @var{ndigit}, int *@var{decpt}, int *@var{sign}, char *@var{buf}, size_t @var{len})
The @code{qecvt_r} function is similar to the @code{qecvt} function except The @code{qecvt_r} function is similar to the @code{qecvt} function except
that it places its result into the user-specified buffer starting at that it places its result into the user-specified buffer starting at
@var{buf}. @var{buf} with length @var{len}.
This function is a GNU extension. The prototype can be found in This function is a GNU extension. The prototype can be found in
@file{stdlib.h}. @file{stdlib.h}.
@ -1483,10 +1483,10 @@ This function is a GNU extension. The prototype can be found in
@comment stdlib.h @comment stdlib.h
@comment GNU @comment GNU
@deftypefun {char *} qfcvt (long double @var{value}, int @var{ndigit}, int @var{decpt}, int *@var{sign}, char *@var{buf}, size_t @var{len}) @deftypefun {char *} qfcvt_r (long double @var{value}, int @var{ndigit}, int @var{decpt}, int *@var{sign}, char *@var{buf}, size_t @var{len})
The @code{qfcvt_r} function is similar to the @code{qfcvt} function except The @code{qfcvt_r} function is similar to the @code{qfcvt} function except
that it places its result into the user-specified buffer starting at that it places its result into the user-specified buffer starting at
@var{buf}. @var{buf} with length @var{len}.
This function is a GNU extension. The prototype can be found in This function is a GNU extension. The prototype can be found in
@file{stdlib.h}. @file{stdlib.h}.

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/* Declarations for math functions. /* Declarations for math functions.
Copyright (C) 1991, 92, 93, 95, 96, 97 Free Software Foundation, Inc. Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -262,41 +262,41 @@ extern int matherr __P ((struct exception *__exc));
#endif /* SVID */ #endif /* SVID */
#if defined __USE_BSD || defined __USE_UNIX98
/* Some useful constants. */ /* Some useful constants. */
# define M_E _Mldbl(2.7182818284590452354) /* e */ #if defined __USE_BSD || defined __USE_UNIX98
# define M_LOG2E _Mldbl(1.4426950408889634074) /* log_2 e */ # define M_E 2.7182818284590452354 /* e */
# define M_LOG10E _Mldbl(0.43429448190325182765) /* log_10 e */ # define M_LOG2E 1.4426950408889634074 /* log_2 e */
# define M_LN2 _Mldbl(0.69314718055994530942) /* log_e 2 */ # define M_LOG10E 0.43429448190325182765 /* log_10 e */
# define M_LN10 _Mldbl(2.30258509299404568402) /* log_e 10 */ # define M_LN2 0.69314718055994530942 /* log_e 2 */
# define M_PI _Mldbl(3.14159265358979323846) /* pi */ # define M_LN10 2.30258509299404568402 /* log_e 10 */
# define M_PI_2 _Mldbl(1.57079632679489661923) /* pi/2 */ # define M_PI 3.14159265358979323846 /* pi */
# define M_PI_4 _Mldbl(0.78539816339744830962) /* pi/4 */ # define M_PI_2 1.57079632679489661923 /* pi/2 */
# define M_1_PI _Mldbl(0.31830988618379067154) /* 1/pi */ # define M_PI_4 0.78539816339744830962 /* pi/4 */
# define M_2_PI _Mldbl(0.63661977236758134308) /* 2/pi */ # define M_1_PI 0.31830988618379067154 /* 1/pi */
# define M_2_SQRTPI _Mldbl(1.12837916709551257390) /* 2/sqrt(pi) */ # define M_2_PI 0.63661977236758134308 /* 2/pi */
# define M_SQRT2 _Mldbl(1.41421356237309504880) /* sqrt(2) */ # define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
# define M_SQRT1_2 _Mldbl(0.70710678118654752440) /* 1/sqrt(2) */ # define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
# define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
#endif #endif
/* Our constants might specify more precision than `double' can represent. /* The above constants are not adequate for computation using `long double's.
Use `long double' constants in standard and GNU C, where they are Therefore we provide as an extension constants with similar names as a
supported and the cast to `double'. GNU extension. */
#ifdef __USE_GNU
If the constants are use in code which does not use prototypes, one # define M_El 2.7182818284590452354L /* e */
might get problems if a function takes a `double' argument and any # define M_LOG2El 1.4426950408889634074L /* log_2 e */
of the constants are provided as the argument. In this case, cast # define M_LOG10El 0.43429448190325182765L /* log_10 e */
the argument to `double'. # define M_LN2l 0.69314718055994530942L /* log_e 2 */
# define M_LN10l 2.30258509299404568402L /* log_e 10 */
Please note we define the macro even if the constants are not defined. # define M_PIl 3.14159265358979323846L /* pi */
This helps us to use the macros in other places. */ # define M_PI_2l 1.57079632679489661923L /* pi/2 */
#if (__STDC__ - 0 || __GNUC__ - 0) && defined __USE_GNU # define M_PI_4l 0.78539816339744830962L /* pi/4 */
# define _Mldbl(x) x##L # define M_1_PIl 0.31830988618379067154L /* 1/pi */
#else /* Traditional C. */ # define M_2_PIl 0.63661977236758134308L /* 2/pi */
# define _Mldbl(x) x # define M_2_SQRTPIl 1.12837916709551257390L /* 2/sqrt(pi) */
#endif /* Standard or GNU C. */ # define M_SQRT2l 1.41421356237309504880L /* sqrt(2) */
# define M_SQRT1_2l 0.70710678118654752440L /* 1/sqrt(2) */
#endif
/* Get machine-dependent inline versions (if there are any). */ /* Get machine-dependent inline versions (if there are any). */

View File

@ -442,9 +442,11 @@ inline_struct (definition *def, int flag)
{ {
decl_list *dl; decl_list *dl;
int i, size; int i, size;
decl_list *cur, *psav; decl_list *cur = NULL;
decl_list *psav;
bas_type *ptr; bas_type *ptr;
char *sizestr, *plus; char *sizestr;
const char *plus;
char ptemp[256]; char ptemp[256];
int indent = 1; int indent = 1;
@ -760,14 +762,16 @@ emit_single_in_line (int indent, declaration *decl, int flag, relation rel)
{ {
free (upp_case); free (upp_case);
freed = 1; freed = 1;
upp_case = "LONG"; /* Casting is safe since the `freed' flag is set. */
upp_case = (char *) "LONG";
} }
if (!strcmp (upp_case, "U_INT")) if (!strcmp (upp_case, "U_INT"))
{ {
free (upp_case); free (upp_case);
freed = 1; freed = 1;
upp_case = "U_LONG"; /* Casting is safe since the `freed' flag is set. */
upp_case = (char *) "U_LONG";
} }
if (flag == PUT) if (flag == PUT)

View File

@ -51,6 +51,7 @@ typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
#define _G_HAVE_MMAP 1 #define _G_HAVE_MMAP 1
#define _G_HAVE_LONG_DOUBLE_IO 1 #define _G_HAVE_LONG_DOUBLE_IO 1
#define _G_HAVE_IO_FILE_OPEN 1 #define _G_HAVE_IO_FILE_OPEN 1
#define _G_HAVE_IO_GETLINE_INFO 1
#define _G_IO_IO_FILE_VERSION 0x20001 #define _G_IO_IO_FILE_VERSION 0x20001

View File

@ -1,5 +1,5 @@
/* Inline math functions for i387. /* Inline math functions for i387.
Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by John C. Bowman <bowman@math.ualberta.ca>, 1995. Contributed by John C. Bowman <bowman@math.ualberta.ca>, 1995.
@ -505,7 +505,7 @@ __inline_mathcode (expm1, __x, __expm1_code)
/* We cannot rely on M_SQRT being defined. So we do it for ourself /* We cannot rely on M_SQRT being defined. So we do it for ourself
here. */ here. */
# define __M_SQRT2 _Mldbl(1.41421356237309504880) /* sqrt(2) */ # define __M_SQRT2 1.41421356237309504880L /* sqrt(2) */
__inline_mathcode (log1p, __x, \ __inline_mathcode (log1p, __x, \
register long double __value; \ register long double __value; \

View File

@ -1,5 +1,5 @@
/* Return arc hyperbole cosine for long double value. /* Return arc hyperbole cosine for long double value.
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -40,15 +40,15 @@ __cacoshl (__complex__ long double x)
else else
__imag__ res = __copysignl ((rcls == FP_INFINITE __imag__ res = __copysignl ((rcls == FP_INFINITE
? (__real__ x < 0.0 ? (__real__ x < 0.0
? M_PI - M_PI_4 : M_PI_4) ? M_PIl - M_PI_4l : M_PI_4l)
: M_PI_2), __imag__ x); : M_PI_2l), __imag__ x);
} }
else if (rcls == FP_INFINITE) else if (rcls == FP_INFINITE)
{ {
__real__ res = HUGE_VALL; __real__ res = HUGE_VALL;
if (icls >= FP_ZERO) if (icls >= FP_ZERO)
__imag__ res = __copysignl (signbit (__real__ x) ? M_PI : 0.0, __imag__ res = __copysignl (signbit (__real__ x) ? M_PIl : 0.0,
__imag__ x); __imag__ x);
else else
__imag__ res = __nanl (""); __imag__ res = __nanl ("");
@ -62,7 +62,7 @@ __cacoshl (__complex__ long double x)
else if (rcls == FP_ZERO && icls == FP_ZERO) else if (rcls == FP_ZERO && icls == FP_ZERO)
{ {
__real__ res = 0.0; __real__ res = 0.0;
__imag__ res = __copysignl (M_PI_2, __imag__ x); __imag__ res = __copysignl (M_PI_2l, __imag__ x);
} }
else else
{ {

View File

@ -1,5 +1,5 @@
/* Return cosine of complex long double value. /* Return cosine of complex long double value.
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -29,7 +29,7 @@ __cacosl (__complex__ long double x)
y = __casinl (x); y = __casinl (x);
__real__ res = M_PI_2 - __real__ y; __real__ res = M_PI_2l - __real__ y;
__imag__ res = -__imag__ y; __imag__ res = -__imag__ y;
return res; return res;

View File

@ -1,5 +1,5 @@
/* Return arc hyperbole sine for long double value. /* Return arc hyperbole sine for long double value.
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -38,7 +38,7 @@ __casinhl (__complex__ long double x)
if (rcls == FP_NAN) if (rcls == FP_NAN)
__imag__ res = __nanl (""); __imag__ res = __nanl ("");
else else
__imag__ res = __copysignl (rcls >= FP_ZERO ? M_PI_2 : M_PI_4, __imag__ res = __copysignl (rcls >= FP_ZERO ? M_PI_2l : M_PI_4l,
__imag__ x); __imag__ x);
} }
else if (rcls <= FP_INFINITE) else if (rcls <= FP_INFINITE)

View File

@ -1,5 +1,5 @@
/* Return arc hyperbole tangent for long double value. /* Return arc hyperbole tangent for long double value.
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -36,13 +36,13 @@ __catanhl (__complex__ long double x)
if (icls == FP_INFINITE) if (icls == FP_INFINITE)
{ {
__real__ res = __copysignl (0.0, __real__ x); __real__ res = __copysignl (0.0, __real__ x);
__imag__ res = __copysignl (M_PI_2, __imag__ x); __imag__ res = __copysignl (M_PI_2l, __imag__ x);
} }
else if (rcls == FP_INFINITE || rcls == FP_ZERO) else if (rcls == FP_INFINITE || rcls == FP_ZERO)
{ {
__real__ res = __copysignl (0.0, __real__ x); __real__ res = __copysignl (0.0, __real__ x);
if (icls >= FP_ZERO) if (icls >= FP_ZERO)
__imag__ res = __copysignl (M_PI_2, __imag__ x); __imag__ res = __copysignl (M_PI_2l, __imag__ x);
else else
__imag__ res = __nanl (""); __imag__ res = __nanl ("");
} }

View File

@ -1,5 +1,5 @@
/* Return arc tangent of complex long double value. /* Return arc tangent of complex long double value.
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -35,13 +35,13 @@ __catanl (__complex__ long double x)
{ {
if (rcls == FP_INFINITE) if (rcls == FP_INFINITE)
{ {
__real__ res = __copysignl (M_PI_2, __real__ x); __real__ res = __copysignl (M_PI_2l, __real__ x);
__imag__ res = __copysignl (0.0, __imag__ x); __imag__ res = __copysignl (0.0, __imag__ x);
} }
else if (icls == FP_INFINITE) else if (icls == FP_INFINITE)
{ {
if (rcls >= FP_ZERO) if (rcls >= FP_ZERO)
__real__ res = __copysignl (M_PI_2, __real__ x); __real__ res = __copysignl (M_PI_2l, __real__ x);
else else
__real__ res = __nanl (""); __real__ res = __nanl ("");
__imag__ res = __copysignl (0.0, __imag__ x); __imag__ res = __copysignl (0.0, __imag__ x);

View File

@ -1,5 +1,5 @@
/* Compute complex base 10 logarithm. /* Compute complex base 10 logarithm.
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -34,7 +34,7 @@ __clog10l (__complex__ long double x)
if (rcls == FP_ZERO && icls == FP_ZERO) if (rcls == FP_ZERO && icls == FP_ZERO)
{ {
/* Real and imaginary part are 0.0. */ /* Real and imaginary part are 0.0. */
__imag__ result = signbit (__real__ x) ? M_PI : 0.0; __imag__ result = signbit (__real__ x) ? M_PIl : 0.0;
__imag__ result = __copysignl (__imag__ result, __imag__ x); __imag__ result = __copysignl (__imag__ result, __imag__ x);
/* Yes, the following line raises an exception. */ /* Yes, the following line raises an exception. */
__real__ result = -1.0 / fabsl (__real__ x); __real__ result = -1.0 / fabsl (__real__ x);
@ -44,7 +44,7 @@ __clog10l (__complex__ long double x)
/* Neither real nor imaginary part is NaN. */ /* Neither real nor imaginary part is NaN. */
__real__ result = __ieee754_log10l (__ieee754_hypotl (__real__ x, __real__ result = __ieee754_log10l (__ieee754_hypotl (__real__ x,
__imag__ x)); __imag__ x));
__imag__ result = M_LOG10E * __ieee754_atan2l (__imag__ x, __real__ x); __imag__ result = M_LOG10El * __ieee754_atan2l (__imag__ x, __real__ x);
} }
else else
{ {

View File

@ -1,5 +1,5 @@
/* Compute complex natural logarithm. /* Compute complex natural logarithm.
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -34,7 +34,7 @@ __clogl (__complex__ long double x)
if (rcls == FP_ZERO && icls == FP_ZERO) if (rcls == FP_ZERO && icls == FP_ZERO)
{ {
/* Real and imaginary part are 0.0. */ /* Real and imaginary part are 0.0. */
__imag__ result = signbit (__real__ x) ? M_PI : 0.0; __imag__ result = signbit (__real__ x) ? M_PIl : 0.0;
__imag__ result = __copysignl (__imag__ result, __imag__ x); __imag__ result = __copysignl (__imag__ result, __imag__ x);
/* Yes, the following line raises an exception. */ /* Yes, the following line raises an exception. */
__real__ result = -1.0 / fabsl (__real__ x); __real__ result = -1.0 / fabsl (__real__ x);

View File

@ -51,6 +51,7 @@ typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
#define _G_HAVE_MMAP 1 #define _G_HAVE_MMAP 1
#define _G_HAVE_LONG_DOUBLE_IO 1 #define _G_HAVE_LONG_DOUBLE_IO 1
#define _G_HAVE_IO_FILE_OPEN 1 #define _G_HAVE_IO_FILE_OPEN 1
#define _G_HAVE_IO_GETLINE_INFO 1
#define _G_IO_IO_FILE_VERSION 0x20001 #define _G_IO_IO_FILE_VERSION 0x20001

View File

@ -33,3 +33,10 @@ routines := offtime asctime clock ctime ctime_r difftime \
tests := test_time clocktest tests := test_time clocktest
include ../Rules include ../Rules
tz-cflags = -DTZDIR='"$(zonedir)"' \
-DTZDEFAULT='"$(localtime-file)"' \
-DTZDEFRULES='"$(posixrules-file)"'
CFLAGS-tzfile.c = $(tz-cflags)
CFLAGS-tzset.c = $(tz-cflags)

View File

@ -161,8 +161,6 @@ CFLAGS-zdump.c = -Wno-strict-prototypes -DNOID
CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags) CFLAGS-zic.c = -Wno-strict-prototypes -DNOID $(tz-cflags)
CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID CFLAGS-ialloc.c = -Wno-strict-prototypes -DNOID
CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID CFLAGS-scheck.c = -Wno-strict-prototypes -DNOID
CFLAGS-tzfile.c = $(tz-cflags)
CFLAGS-tzset.c = $(tz-cflags)
# We have to make sure the data for testing the tz functions is available. # We have to make sure the data for testing the tz functions is available.
$(objpfx)test-tz.out: $(addprefix $(objpfx)testdata/, America/New_York \ $(objpfx)test-tz.out: $(addprefix $(objpfx)testdata/, America/New_York \