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>
* 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';
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. */
this_dir->machdirstatus = nonexisting;
else
@ -863,7 +864,8 @@ open_path (const char *name, size_t namelen,
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. */
this_dir->dirstatus = nonexisting;
else

View File

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

View File

@ -100,7 +100,7 @@ GLIBC_2.0 {
__vsscanf; __vfscanf; __vsnprintf;
_rpc_dtablesize; _null_auth; _seterr_reply;
__res_randomid; __syscall_rt_sigqueueinfo; __getpid; __pread64; __pwrite64;
__strcasecmp;
__strcasecmp; __write;
# Exception handling support functions from libgcc
__register_frame; __register_frame_table; __deregister_frame;
@ -470,4 +470,7 @@ GLIBC_2.1 {
# New special glibc functions.
gnu_get_libc_release; gnu_get_libc_version;
# Changed getline function in libio.
_IO_getline_info;
} 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 library is free software; you can redistribute it and/or
@ -26,13 +26,7 @@
#include "libioP.h"
#include <string.h>
/* 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. */
#if defined _LIBC || !_G_HAVE_IO_GETLINE_INFO
_IO_size_t
_IO_getline (fp, buf, n, delim, extract_delim)
@ -41,38 +35,81 @@ _IO_getline (fp, buf, n, delim, extract_delim)
_IO_size_t n;
int 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;
if (eof != NULL)
*eof = 0;
do
{
_IO_ssize_t len = fp->_IO_read_end - fp->_IO_read_ptr;
char *t;
if (len <= 0)
if (__underflow (fp) == EOF)
break;
else
len = fp->_IO_read_end - fp->_IO_read_ptr;
if ((_IO_size_t) len >= n)
len = n;
t = (char *) memchr ((void *) fp->_IO_read_ptr, delim, len);
if (t != NULL)
{
_IO_size_t old_len = ptr-buf;
len = t - fp->_IO_read_ptr;
if (extract_delim >= 0)
int c = __uflow (fp);
if (c == EOF)
{
++t;
if (eof) *eof = c;
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;
}
memcpy ((void *) ptr, (void *) fp->_IO_read_ptr, len);
fp->_IO_read_ptr = t;
return old_len + len;
*ptr++ = c;
n--;
}
memcpy ((void *) ptr, (void *) fp->_IO_read_ptr, len);
fp->_IO_read_ptr += len;
ptr += len;
n -= len;
else
{
char *t;
if ((_IO_size_t) len >= n)
len = n;
t = (char *) memchr ((void *) fp->_IO_read_ptr, delim, len);
if (t != NULL)
{
_IO_size_t old_len = ptr-buf;
len = t - fp->_IO_read_ptr;
if (extract_delim >= 0)
{
++t;
if (extract_delim > 0)
++len;
}
memcpy ((void *) ptr, (void *) fp->_IO_read_ptr, len);
fp->_IO_read_ptr = t;
return old_len + len;
}
memcpy ((void *) ptr, (void *) fp->_IO_read_ptr, len);
fp->_IO_read_ptr += len;
ptr += len;
n -= len;
}
} while (n != 0);
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 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_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 double _IO_strtod __P ((const char *, char **));
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-dirs := $(basename $(test-input)) en_US
test-names := test1 test2 test3 test4
test-srcs := $(addprefix tests/,$(addsuffix .cm,$(test-names)) \
$(addsuffix .def,$(test-names)))
ld-test-names := test1 test2 test3 test4
ld-test-srcs := $(addprefix tests/,$(addsuffix .cm,$(ld-test-names)) \
$(addsuffix .def,$(ld-test-names)))
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 \
$(charmaps) $(locales) $(test-srcs)
$(charmaps) $(locales) $(ld-test-srcs)
# Get $(inst_i18ndir) defined.
include ../Makeconfig

View File

@ -38,7 +38,9 @@ test_locale ()
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/test2.cm tests/test2.def test2
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
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).
@ -1387,14 +1387,14 @@ The prototype for this function can be found in @file{stdlib.h}.
@comment SVID, Unix98
@deftypefun {char *} gcvt (double @var{value}, int @var{ndigit}, char *@var{buf})
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
@code{printf}. It also does not use a static buffer but instead uses
string but in a way similar to the @code{%g} format of
@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
responsibility to make sure the buffer is long enough to contain the
result. Unlike the @code{ecvt} and @code{fcvt} function @code{gcvt}
includes the sign and the decimal point character (which is determined
result. Unlike the @code{ecvt} and @code{fcvt} functions @code{gcvt}
includes the sign and the decimal point characters (which are determined
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}.
@ -1402,11 +1402,11 @@ The prototype for this function can be found in @file{stdlib.h}.
@end deftypefun
All these three functions have in common that they use @code{double}
values as the parameters. Calling these functions using @code{long
All three functions have in common that they use @code{double}
values as parameter. Calling these functions using @code{long
double} values would mean a loss of precision due to the implicit
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 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})
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
@var{buf}.
@var{buf} with length @var{len}.
This function is a GNU extension. The prototype can be found in
@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})
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
@var{buf}.
@var{buf} with length @var{len}.
This function is a GNU extension. The prototype can be found in
@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})
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
@var{buf}.
@var{buf} with length @var{len}.
This function is a GNU extension. The prototype can be found in
@file{stdlib.h}.
@ -1483,10 +1483,10 @@ This function is a GNU extension. The prototype can be found in
@comment stdlib.h
@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
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
@file{stdlib.h}.

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/* 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.
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 */
#if defined __USE_BSD || defined __USE_UNIX98
/* Some useful constants. */
# define M_E _Mldbl(2.7182818284590452354) /* e */
# define M_LOG2E _Mldbl(1.4426950408889634074) /* log_2 e */
# define M_LOG10E _Mldbl(0.43429448190325182765) /* log_10 e */
# define M_LN2 _Mldbl(0.69314718055994530942) /* log_e 2 */
# define M_LN10 _Mldbl(2.30258509299404568402) /* log_e 10 */
# define M_PI _Mldbl(3.14159265358979323846) /* pi */
# define M_PI_2 _Mldbl(1.57079632679489661923) /* pi/2 */
# define M_PI_4 _Mldbl(0.78539816339744830962) /* pi/4 */
# define M_1_PI _Mldbl(0.31830988618379067154) /* 1/pi */
# define M_2_PI _Mldbl(0.63661977236758134308) /* 2/pi */
# define M_2_SQRTPI _Mldbl(1.12837916709551257390) /* 2/sqrt(pi) */
# define M_SQRT2 _Mldbl(1.41421356237309504880) /* sqrt(2) */
# define M_SQRT1_2 _Mldbl(0.70710678118654752440) /* 1/sqrt(2) */
#if defined __USE_BSD || defined __USE_UNIX98
# define M_E 2.7182818284590452354 /* e */
# define M_LOG2E 1.4426950408889634074 /* log_2 e */
# define M_LOG10E 0.43429448190325182765 /* log_10 e */
# define M_LN2 0.69314718055994530942 /* log_e 2 */
# define M_LN10 2.30258509299404568402 /* log_e 10 */
# define M_PI 3.14159265358979323846 /* pi */
# define M_PI_2 1.57079632679489661923 /* pi/2 */
# define M_PI_4 0.78539816339744830962 /* pi/4 */
# define M_1_PI 0.31830988618379067154 /* 1/pi */
# define M_2_PI 0.63661977236758134308 /* 2/pi */
# define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */
# define M_SQRT2 1.41421356237309504880 /* sqrt(2) */
# define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
#endif
/* Our constants might specify more precision than `double' can represent.
Use `long double' constants in standard and GNU C, where they are
supported and the cast to `double'.
If the constants are use in code which does not use prototypes, one
might get problems if a function takes a `double' argument and any
of the constants are provided as the argument. In this case, cast
the argument to `double'.
Please note we define the macro even if the constants are not defined.
This helps us to use the macros in other places. */
#if (__STDC__ - 0 || __GNUC__ - 0) && defined __USE_GNU
# define _Mldbl(x) x##L
#else /* Traditional C. */
# define _Mldbl(x) x
#endif /* Standard or GNU C. */
/* The above constants are not adequate for computation using `long double's.
Therefore we provide as an extension constants with similar names as a
GNU extension. */
#ifdef __USE_GNU
# define M_El 2.7182818284590452354L /* e */
# define M_LOG2El 1.4426950408889634074L /* log_2 e */
# define M_LOG10El 0.43429448190325182765L /* log_10 e */
# define M_LN2l 0.69314718055994530942L /* log_e 2 */
# define M_LN10l 2.30258509299404568402L /* log_e 10 */
# define M_PIl 3.14159265358979323846L /* pi */
# define M_PI_2l 1.57079632679489661923L /* pi/2 */
# define M_PI_4l 0.78539816339744830962L /* pi/4 */
# define M_1_PIl 0.31830988618379067154L /* 1/pi */
# define M_2_PIl 0.63661977236758134308L /* 2/pi */
# define M_2_SQRTPIl 1.12837916709551257390L /* 2/sqrt(pi) */
# 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). */

View File

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

View File

@ -1,5 +1,5 @@
/* 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.
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
here. */
# define __M_SQRT2 _Mldbl(1.41421356237309504880) /* sqrt(2) */
# define __M_SQRT2 1.41421356237309504880L /* sqrt(2) */
__inline_mathcode (log1p, __x, \
register long double __value; \

View File

@ -1,5 +1,5 @@
/* 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.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -40,15 +40,15 @@ __cacoshl (__complex__ long double x)
else
__imag__ res = __copysignl ((rcls == FP_INFINITE
? (__real__ x < 0.0
? M_PI - M_PI_4 : M_PI_4)
: M_PI_2), __imag__ x);
? M_PIl - M_PI_4l : M_PI_4l)
: M_PI_2l), __imag__ x);
}
else if (rcls == FP_INFINITE)
{
__real__ res = HUGE_VALL;
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);
else
__imag__ res = __nanl ("");
@ -62,7 +62,7 @@ __cacoshl (__complex__ long double x)
else if (rcls == FP_ZERO && icls == FP_ZERO)
{
__real__ res = 0.0;
__imag__ res = __copysignl (M_PI_2, __imag__ x);
__imag__ res = __copysignl (M_PI_2l, __imag__ x);
}
else
{

View File

@ -1,5 +1,5 @@
/* 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.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -29,7 +29,7 @@ __cacosl (__complex__ long double x)
y = __casinl (x);
__real__ res = M_PI_2 - __real__ y;
__real__ res = M_PI_2l - __real__ y;
__imag__ res = -__imag__ y;
return res;

View File

@ -1,5 +1,5 @@
/* 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.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -38,7 +38,7 @@ __casinhl (__complex__ long double x)
if (rcls == FP_NAN)
__imag__ res = __nanl ("");
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);
}
else if (rcls <= FP_INFINITE)

View File

@ -1,5 +1,5 @@
/* 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.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -36,13 +36,13 @@ __catanhl (__complex__ long double x)
if (icls == FP_INFINITE)
{
__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)
{
__real__ res = __copysignl (0.0, __real__ x);
if (icls >= FP_ZERO)
__imag__ res = __copysignl (M_PI_2, __imag__ x);
__imag__ res = __copysignl (M_PI_2l, __imag__ x);
else
__imag__ res = __nanl ("");
}

View File

@ -1,5 +1,5 @@
/* 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.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -35,13 +35,13 @@ __catanl (__complex__ long double x)
{
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);
}
else if (icls == FP_INFINITE)
{
if (rcls >= FP_ZERO)
__real__ res = __copysignl (M_PI_2, __real__ x);
__real__ res = __copysignl (M_PI_2l, __real__ x);
else
__real__ res = __nanl ("");
__imag__ res = __copysignl (0.0, __imag__ x);

View File

@ -1,5 +1,5 @@
/* 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.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -34,7 +34,7 @@ __clog10l (__complex__ long double x)
if (rcls == FP_ZERO && icls == FP_ZERO)
{
/* 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);
/* Yes, the following line raises an exception. */
__real__ result = -1.0 / fabsl (__real__ x);
@ -44,7 +44,7 @@ __clog10l (__complex__ long double x)
/* Neither real nor imaginary part is NaN. */
__real__ result = __ieee754_log10l (__ieee754_hypotl (__real__ x,
__imag__ x));
__imag__ result = M_LOG10E * __ieee754_atan2l (__imag__ x, __real__ x);
__imag__ result = M_LOG10El * __ieee754_atan2l (__imag__ x, __real__ x);
}
else
{

View File

@ -1,5 +1,5 @@
/* 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.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -34,7 +34,7 @@ __clogl (__complex__ long double x)
if (rcls == FP_ZERO && icls == FP_ZERO)
{
/* 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);
/* Yes, the following line raises an exception. */
__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_LONG_DOUBLE_IO 1
#define _G_HAVE_IO_FILE_OPEN 1
#define _G_HAVE_IO_GETLINE_INFO 1
#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
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-ialloc.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.
$(objpfx)test-tz.out: $(addprefix $(objpfx)testdata/, America/New_York \