2004-09-07 Ulrich Drepper <drepper@redhat.com>
+ * include/atomic.h: Define atomic_increment_val, atomic_decrement_val,
+ and atomic_dealy is not already defined.
+ * sysdeps/i386/i486/bits/atomic.h: Define atomic_delay.
+ * sysdeps/x86_64/bits/atomic.h: Likewise.
+
+ * miscd/sys/cdefs.h (__NTH): New macro.
+ (__THROW): Define using nothrow attribute for C code and gcc >= 3.2.
+ (__REDIRECT_NTH): New macro.
+ * argp/argp.h: Use __NTH and __REDIRECT_NTH where necessary.
+ * ctype/ctype.h: Likewise.
+ * dirent/dirent.h: Likewise.
+ * io/fcntl.h: Likewise.
+ * io/sys/sendfile.h: Likewise.
+ * io/sys/stat.h: Likewise.
+ * io/sys/statfs.h: Likewise.
+ * io/sys/statvfs.h: Likewise.
+ * libio/bits/stdio.h: Likewise.
+ * misc/sys/mman.h: Likewise.
+ * posix/unistd.h: Likewise.
+ * resource/sys/resource.h: Likewise.
+ * rt/aio.h: Likewise.
+ * signal/signal.h: Likewise.
+ * stdlib/stdlib.h: Likewise.
+ * string/argz.h: Likewise.
+ * string/string.h: Likewise.
+ * sysdeps/generic/inttypes.h: Likewise.
+ * sysdeps/i386/fpu/bits/mathinline.h: Likewise.
+ * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
+ * sysdeps/s390/fpu/bits/mathinline.h: Likewise.
+ * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
+ * sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
+ * sysdeps/unix/sysv/linux/bits/sys/sysmacros.h: Likewise.
+ * wcsmbs/wchar.h: Likewise.
+
+ * sysdeps/generic/glob.c: Use __PMT isntead of __P where appropriate.
+
+ * resolv/gethnamaddr.c (getanswer): Remove __P use in variable
+ definition.
+
+ * io/sys/poll.h: Remove __THROW from poll prototype, it's a
+ cancellation point.
+
* io/fts.c (fts_open): Remove uses of __P.
* include/stdlib.h: No need to use __THROW in this header.
/* Hierarchial argument parsing, layered over getopt.
- Copyright (C) 1995,1996,1997,1998,1999,2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999,2003,2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Miles Bader <miles@gnu.ai.mit.edu>.
#ifndef __THROW
# define __THROW
#endif
+#ifndef __NTH
+# define __NTH(fct) fct __THROW
+#endif
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# endif
ARGP_EI void
-__argp_usage (__const struct argp_state *__state) __THROW
+__NTH (__argp_usage (__const struct argp_state *__state))
{
__argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE);
}
ARGP_EI int
-__option_is_short (__const struct argp_option *__opt) __THROW
+__NTH (__option_is_short (__const struct argp_option *__opt))
{
if (__opt->flags & OPTION_DOC)
return 0;
}
ARGP_EI int
-__option_is_end (__const struct argp_option *__opt) __THROW
+__NTH (__option_is_end (__const struct argp_option *__opt))
{
return !__opt->key && !__opt->name && !__opt->doc && !__opt->group;
}
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,02
+/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004
Free Software Foundation, Inc.
This file is part of the GNU C Library.
# ifdef __USE_EXTERN_INLINES
extern __inline int
-tolower (int __c) __THROW
+__NTH (tolower (int __c))
{
return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
}
extern __inline int
-toupper (int __c) __THROW
+__NTH (toupper (int __c))
{
return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c;
}
-/* Copyright (C) 1991-1999, 2000, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2000, 2003, 2004 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
__THROW __attribute_pure__;
# else
# ifdef __REDIRECT
-extern int __REDIRECT (alphasort,
- (__const void *__e1, __const void *__e2) __THROW,
- alphasort64) __attribute_pure__;
+extern int __REDIRECT_NTH (alphasort,
+ (__const void *__e1, __const void *__e2),
+ alphasort64) __attribute_pure__;
# else
# define alphasort alphasort64
# endif
__THROW __attribute_pure__;
# else
# ifdef __REDIRECT
-extern int __REDIRECT (versionsort,
- (__const void *__e1, __const void *__e2) __THROW,
- versionsort64) __attribute_pure__;
+extern int __REDIRECT_NTH (versionsort,
+ (__const void *__e1, __const void *__e2),
+ versionsort64) __attribute_pure__;
# else
# define versionsort versionsort64
# endif
__off_t *__restrict __basep) __THROW;
# else
# ifdef __REDIRECT
-extern __ssize_t __REDIRECT (getdirentries,
- (int __fd, char *__restrict __buf,
- size_t __nbytes,
- __off64_t *__restrict __basep) __THROW,
- getdirentries64);
+extern __ssize_t __REDIRECT_NTH (getdirentries,
+ (int __fd, char *__restrict __buf,
+ size_t __nbytes,
+ __off64_t *__restrict __basep),
+ getdirentries64);
# else
# define getdirentries getdirentries64
# endif
/* Internal macros for atomic operations for GNU C Library.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
#endif
+#ifndef atomic_increment_val
+# define atomic_increment_val(mem) (atomic_exchange_and_add ((mem), 1) + 1)
+#endif
+
+
/* Add one to *MEM and return true iff it's now zero. */
#ifndef atomic_increment_and_test
# define atomic_increment_and_test(mem) \
#endif
+#ifndef atomic_decrement_val
+# define atomic_decrement_val(mem) (atomic_exchange_and_add ((mem), -1) - 1)
+#endif
+
+
/* Subtract 1 from *MEM and return true iff it's now zero. */
#ifndef atomic_decrement_and_test
# define atomic_decrement_and_test(mem) \
# define atomic_write_barrier() atomic_full_barrier ()
#endif
+
+#ifndef atomic_delay
+# define atomic_delay() do { /* nothing */ } while (0)
+#endif
+
#endif /* atomic.h */
-/* Copyright (C) 1991,1992,1994-2001,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1994-2001,2003,2004 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
extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len,
int __advise) __THROW;
# else
-# ifdef __REDIRECT
-extern int __REDIRECT (posix_fadvise, (int __fd, __off64_t __offset,
- __off64_t __len, int __advise) __THROW,
- posix_fadvise64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (posix_fadvise, (int __fd, __off64_t __offset,
+ __off64_t __len, int __advise),
+ posix_fadvise64);
# else
# define posix_fadvise posix_fadvise64
# endif
/* sendfile -- copy data directly from one file descriptor to another
- Copyright (C) 1998,99,01,2002 Free Software Foundation, Inc.
+ Copyright (C) 1998,99,01,2002,2004 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
extern ssize_t sendfile (int __out_fd, int __in_fd, off_t *__offset,
size_t __count) __THROW;
#else
-# ifdef __REDIRECT
-extern ssize_t __REDIRECT (sendfile,
- (int __out_fd, int __in_fd, __off64_t *__offset,
- size_t __count) __THROW,
- sendfile64);
+# ifdef __REDIRECT_NTH
+extern ssize_t __REDIRECT_NTH (sendfile,
+ (int __out_fd, int __in_fd, __off64_t *__offset,
+ size_t __count), sendfile64);
# else
# define sendfile sendfile64
# endif
that file descriptor FD is open on and put them in BUF. */
extern int fstat (int __fd, struct stat *__buf) __THROW;
#else
-# ifdef __REDIRECT
-extern int __REDIRECT (stat,
- (__const char *__restrict __file,
- struct stat *__restrict __buf) __THROW,
- stat64);
-extern int __REDIRECT (fstat, (int __fd, struct stat *__buf) __THROW, fstat64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (stat, (__const char *__restrict __file,
+ struct stat *__restrict __buf), stat64);
+extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), fstat64);
# else
# define stat stat64
# define fstat fstat64
extern int lstat (__const char *__restrict __file,
struct stat *__restrict __buf) __THROW;
# else
-# ifdef __REDIRECT
-extern int __REDIRECT (lstat,
- (__const char *__restrict __file,
- struct stat *__restrict __buf) __THROW,
- lstat64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (lstat,
+ (__const char *__restrict __file,
+ struct stat *__restrict __buf), lstat64);
# else
# define lstat lstat64
# endif
extern int __lxstat (int __ver, __const char *__filename,
struct stat *__stat_buf) __THROW;
#else
-# ifdef __REDIRECT
-extern int __REDIRECT (__fxstat, (int __ver, int __fildes,
- struct stat *__stat_buf) __THROW,
- __fxstat64);
-extern int __REDIRECT (__xstat, (int __ver, __const char *__filename,
- struct stat *__stat_buf) __THROW, __xstat64);
-extern int __REDIRECT (__lxstat, (int __ver, __const char *__filename,
- struct stat *__stat_buf) __THROW,
- __lxstat64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (__fxstat, (int __ver, int __fildes,
+ struct stat *__stat_buf), __fxstat64);
+extern int __REDIRECT_NTH (__xstat, (int __ver, __const char *__filename,
+ struct stat *__stat_buf), __xstat64);
+extern int __REDIRECT_NTH (__lxstat, (int __ver, __const char *__filename,
+ struct stat *__stat_buf), __lxstat64);
# else
# define __fxstat __fxstat64
#if defined __GNUC__ && __GNUC__ >= 2
/* Inlined versions of the real stat and mknod functions. */
-extern __inline__ int stat (__const char *__path,
- struct stat *__statbuf) __THROW
+extern __inline__ int
+__NTH (stat (__const char *__path, struct stat *__statbuf))
{
return __xstat (_STAT_VER, __path, __statbuf);
}
# if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
-extern __inline__ int lstat (__const char *__path,
- struct stat *__statbuf) __THROW
+extern __inline__ int
+__NTH (lstat (__const char *__path, struct stat *__statbuf))
{
return __lxstat (_STAT_VER, __path, __statbuf);
}
# endif
-extern __inline__ int fstat (int __fd, struct stat *__statbuf) __THROW
+extern __inline__ int
+__NTH (fstat (int __fd, struct stat *__statbuf))
{
return __fxstat (_STAT_VER, __fd, __statbuf);
}
# if defined __USE_MISC || defined __USE_BSD
-extern __inline__ int mknod (__const char *__path, __mode_t __mode,
- __dev_t __dev) __THROW
+extern __inline__ int
+__NTH (mknod (__const char *__path, __mode_t __mode, __dev_t __dev))
{
return __xmknod (_MKNOD_VER, __path, __mode, &__dev);
}
# if defined __USE_LARGEFILE64 \
&& (! defined __USE_FILE_OFFSET64 \
- || (defined __REDIRECT && defined __OPTIMIZE__))
-extern __inline__ int stat64 (__const char *__path,
- struct stat64 *__statbuf) __THROW
+ || (defined __REDIRECT_NTH && defined __OPTIMIZE__))
+extern __inline__ int
+__NTH (stat64 (__const char *__path, struct stat64 *__statbuf))
{
return __xstat64 (_STAT_VER, __path, __statbuf);
}
# if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
-extern __inline__ int lstat64 (__const char *__path,
- struct stat64 *__statbuf) __THROW
+extern __inline__ int
+__NTH (lstat64 (__const char *__path, struct stat64 *__statbuf))
{
return __lxstat64 (_STAT_VER, __path, __statbuf);
}
# endif
-extern __inline__ int fstat64 (int __fd, struct stat64 *__statbuf) __THROW
+extern __inline__ int
+__NTH (fstat64 (int __fd, struct stat64 *__statbuf))
{
return __fxstat64 (_STAT_VER, __fd, __statbuf);
}
/* Definitions for getting information about a filesystem.
- Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2004 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
#ifndef __USE_FILE_OFFSET64
extern int statfs (__const char *__file, struct statfs *__buf) __THROW;
#else
-# ifdef __REDIRECT
-extern int __REDIRECT (statfs,
- (__const char *__file, struct statfs *__buf) __THROW,
- statfs64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (statfs,
+ (__const char *__file, struct statfs *__buf),
+ statfs64);
# else
# define statfs statfs64
# endif
#ifndef __USE_FILE_OFFSET64
extern int fstatfs (int __fildes, struct statfs *__buf) __THROW;
#else
-# ifdef __REDIRECT
-extern int __REDIRECT (fstatfs, (int __fildes, struct statfs *__buf) __THROW,
- fstatfs64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (fstatfs, (int __fildes, struct statfs *__buf),
+ fstatfs64);
# else
# define fstatfs fstatfs64
# endif
/* Definitions for getting information about a filesystem.
- Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2004 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
extern int statvfs (__const char *__restrict __file,
struct statvfs *__restrict __buf) __THROW;
#else
-# ifdef __REDIRECT
-extern int __REDIRECT (statvfs,
- (__const char *__restrict __file,
- struct statvfs *__restrict __buf) __THROW,
- statvfs64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (statvfs,
+ (__const char *__restrict __file,
+ struct statvfs *__restrict __buf), statvfs64);
# else
# define statvfs statvfs64
# endif
#ifndef __USE_FILE_OFFSET64
extern int fstatvfs (int __fildes, struct statvfs *__buf) __THROW;
#else
-# ifdef __REDIRECT
-extern int __REDIRECT (fstatvfs, (int __fildes, struct statvfs *__buf) __THROW,
- fstatvfs64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (fstatvfs, (int __fildes, struct statvfs *__buf),
+ fstatvfs64);
# else
# define fstatvfs fstatvfs64
# endif
# ifdef __USE_MISC
/* Faster versions when locking is not required. */
__STDIO_INLINE int
-feof_unlocked (FILE *__stream) __THROW
+__NTH (feof_unlocked (FILE *__stream))
{
return _IO_feof_unlocked (__stream);
}
/* Faster versions when locking is not required. */
__STDIO_INLINE int
-ferror_unlocked (FILE *__stream) __THROW
+__NTH (ferror_unlocked (FILE *__stream))
{
return _IO_ferror_unlocked (__stream);
}
-/* Copyright (C) 1992-2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2001, 2002, 2004 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
/* GCC can always grok prototypes. For C++ programs we add throw()
to help it optimize the function calls. But this works only with
- gcc 2.8.x and egcs. */
-# if defined __cplusplus && __GNUC_PREREQ (2,8)
-# define __THROW throw ()
+ gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
+ as non-throwing using a function attribute since programs can use
+ the -fexceptions options for C code as well. */
+# if !defined __cplusplus && __GNUC_PREREQ (3, 2)
+# define __THROW __attribute__ ((__nothrow__))
+# define __NTH(fct) __attribute__ ((__nothrow__)) fct
# else
-# define __THROW
+# if defined __cplusplus && __GNUC_PREREQ (2,8)
+# define __THROW throw ()
+# define __NTH(fct) fct throw ()
+# else
+# define __THROW
+# define __NTH(fct) fct
+# endif
# endif
# define __P(args) args __THROW
/* This macro will be used for functions which might take C++ callback
# define __inline /* No inline functions. */
# define __THROW
+# define __NTH(fct) fct
# define __P(args) args
# define __PMT(args) args
#if defined __GNUC__ && __GNUC__ >= 2
# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
+# define __REDIRECT_NTH(name, proto, alias) \
+ name proto __asm__ (__ASMNAME (#alias)) __THROW
# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
# define __ASMNAME2(prefix, cname) __STRING (prefix) cname
/* Definitions for BSD-style memory management.
- Copyright (C) 1994-1999, 2000, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1994-2000, 2003, 2004 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
extern void *mmap (void *__addr, size_t __len, int __prot,
int __flags, int __fd, __off_t __offset) __THROW;
#else
-# ifdef __REDIRECT
-extern void * __REDIRECT (mmap,
- (void *__addr, size_t __len, int __prot,
- int __flags, int __fd, __off64_t __offset) __THROW,
- mmap64);
+# ifdef __REDIRECT_NTH
+extern void * __REDIRECT_NTH (mmap,
+ (void *__addr, size_t __len, int __prot,
+ int __flags, int __fd, __off64_t __offset),
+ mmap64);
# else
# define mmap mmap64
# endif
#ifndef __USE_FILE_OFFSET64
extern __off_t lseek (int __fd, __off_t __offset, int __whence) __THROW;
#else
-# ifdef __REDIRECT
-extern __off64_t __REDIRECT (lseek,
- (int __fd, __off64_t __offset, int __whence)
- __THROW,
- lseek64);
+# ifdef __REDIRECT_NTH
+extern __off64_t __REDIRECT_NTH (lseek,
+ (int __fd, __off64_t __offset, int __whence),
+ lseek64);
# else
# define lseek lseek64
# endif
#ifndef __FAVOR_BSD
extern __pid_t getpgrp (void) __THROW;
#else
-# ifdef __REDIRECT
-extern __pid_t __REDIRECT (getpgrp, (__pid_t __pid) __THROW, __getpgid);
+# ifdef __REDIRECT_NTH
+extern __pid_t __REDIRECT_NTH (getpgrp, (__pid_t __pid), __getpgid);
# else
# define getpgrp __getpgid
# endif
# else
/* Another name for `setpgid' (above). */
-# ifdef __REDIRECT
-extern int __REDIRECT (setpgrp, (__pid_t __pid, __pid_t __pgrp) __THROW,
- setpgid);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (setpgrp, (__pid_t __pid, __pid_t __pgrp), setpgid);
# else
# define setpgrp setpgid
# endif
# ifndef __USE_FILE_OFFSET64
extern int truncate (__const char *__file, __off_t __length) __THROW;
# else
-# ifdef __REDIRECT
-extern int __REDIRECT (truncate,
- (__const char *__file, __off64_t __length) __THROW,
- truncate64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (truncate,
+ (__const char *__file, __off64_t __length),
+ truncate64);
# else
# define truncate truncate64
# endif
# ifndef __USE_FILE_OFFSET64
extern int ftruncate (int __fd, __off_t __length) __THROW;
# else
-# ifdef __REDIRECT
-extern int __REDIRECT (ftruncate, (int __fd, __off64_t __length) __THROW,
- ftruncate64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (ftruncate, (int __fd, __off64_t __length),
+ ftruncate64);
# else
# define ftruncate ftruncate64
# endif
-/* Copyright (C) 1992,94,96,97,98,99,2000,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1992,94,1996-2000,2002,2004 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
extern int getrlimit (__rlimit_resource_t __resource,
struct rlimit *__rlimits) __THROW;
#else
-# ifdef __REDIRECT
-extern int __REDIRECT (getrlimit, (__rlimit_resource_t __resource,
- struct rlimit *__rlimits) __THROW,
- getrlimit64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (getrlimit, (__rlimit_resource_t __resource,
+ struct rlimit *__rlimits), getrlimit64);
# else
# define getrlimit getrlimit64
# endif
extern int setrlimit (__rlimit_resource_t __resource,
__const struct rlimit *__rlimits) __THROW;
#else
-# ifdef __REDIRECT
-extern int __REDIRECT (setrlimit, (__rlimit_resource_t __resource,
- __const struct rlimit *__rlimits) __THROW,
- setrlimit64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (setrlimit, (__rlimit_resource_t __resource,
+ __const struct rlimit *__rlimits),
+ setrlimit64);
# else
# define setrlimit setrlimit64
# endif
-/* Copyright (C) 1996,1997,1998,1999,2000,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2000,2003,2004 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
`aio_fildes' member of AIOCBP. */
extern int aio_fsync (int __operation, struct aiocb *__aiocbp) __THROW;
#else
-# ifdef __REDIRECT
-extern int __REDIRECT (aio_read, (struct aiocb *__aiocbp) __THROW, aio_read64);
-extern int __REDIRECT (aio_write, (struct aiocb *__aiocbp) __THROW,
- aio_write64);
-
-extern int __REDIRECT (lio_listio,
- (int __mode,
- struct aiocb *__const __list[__restrict_arr],
- int __nent, struct sigevent *__restrict __sig) __THROW,
- lio_listio64);
-
-extern int __REDIRECT (aio_error, (__const struct aiocb *__aiocbp) __THROW,
- aio_error64);
-extern __ssize_t __REDIRECT (aio_return, (struct aiocb *__aiocbp) __THROW,
- aio_return64);
-
-extern int __REDIRECT (aio_cancel,
- (int __fildes, struct aiocb *__aiocbp) __THROW,
- aio_cancel64);
-
-extern int __REDIRECT (aio_suspend,
- (__const struct aiocb *__const __list[],
- int __nent,
- __const struct timespec *__restrict __timeout) __THROW,
- aio_suspend64);
-
-extern int __REDIRECT (aio_fsync,
- (int __operation, struct aiocb *__aiocbp) __THROW,
- aio_fsync64);
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (aio_read, (struct aiocb *__aiocbp), aio_read64);
+extern int __REDIRECT_NTH (aio_write, (struct aiocb *__aiocbp), aio_write64);
+
+extern int __REDIRECT_NTH (lio_listio,
+ (int __mode,
+ struct aiocb *__const __list[__restrict_arr],
+ int __nent, struct sigevent *__restrict __sig),
+ lio_listio64);
+
+extern int __REDIRECT_NTH (aio_error, (__const struct aiocb *__aiocbp),
+ aio_error64);
+extern __ssize_t __REDIRECT_NTH (aio_return, (struct aiocb *__aiocbp),
+ aio_return64);
+
+extern int __REDIRECT_NTH (aio_cancel,
+ (int __fildes, struct aiocb *__aiocbp),
+ aio_cancel64);
+
+extern int __REDIRECT_NTH (aio_suspend,
+ (__const struct aiocb *__const __list[], int __nent,
+ __const struct timespec *__restrict __timeout),
+ aio_suspend64);
+
+extern int __REDIRECT_NTH (aio_fsync,
+ (int __operation, struct aiocb *__aiocbp),
+ aio_fsync64);
# else
# define aio_read aio_read64
extern __sighandler_t signal (int __sig, __sighandler_t __handler) __THROW;
#else
/* Make sure the used `signal' implementation is the SVID version. */
-# ifdef __REDIRECT
-extern __sighandler_t __REDIRECT (signal,
- (int __sig,
- __sighandler_t __handler) __THROW,
- __sysv_signal);
+# ifdef __REDIRECT_NTH
+extern __sighandler_t __REDIRECT_NTH (signal,
+ (int __sig, __sighandler_t __handler),
+ __sysv_signal);
# else
# define signal __sysv_signal
# endif
-/* Copyright (C) 1991-2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2002, 2003, 2004 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
__BEGIN_NAMESPACE_STD
extern __inline double
-strtod (__const char *__restrict __nptr, char **__restrict __endptr) __THROW
+__NTH (strtod (__const char *__restrict __nptr, char **__restrict __endptr))
{
return __strtod_internal (__nptr, __endptr, 0);
}
extern __inline long int
-strtol (__const char *__restrict __nptr, char **__restrict __endptr,
- int __base) __THROW
+__NTH (strtol (__const char *__restrict __nptr, char **__restrict __endptr,
+ int __base))
{
return __strtol_internal (__nptr, __endptr, __base, 0);
}
extern __inline unsigned long int
-strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
- int __base) __THROW
+__NTH (strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
+ int __base))
{
return __strtoul_internal (__nptr, __endptr, __base, 0);
}
# ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99
extern __inline float
-strtof (__const char *__restrict __nptr, char **__restrict __endptr) __THROW
+__NTH (strtof (__const char *__restrict __nptr, char **__restrict __endptr))
{
return __strtof_internal (__nptr, __endptr, 0);
}
extern __inline long double
-strtold (__const char *__restrict __nptr, char **__restrict __endptr) __THROW
+__NTH (strtold (__const char *__restrict __nptr, char **__restrict __endptr))
{
return __strtold_internal (__nptr, __endptr, 0);
}
# ifdef __USE_BSD
__extension__ extern __inline long long int
-strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
- int __base) __THROW
+__NTH (strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
+ int __base))
{
return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
-strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
- int __base) __THROW
+__NTH (strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
+ int __base))
{
return __strtoull_internal (__nptr, __endptr, __base, 0);
}
# if defined __USE_MISC || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
__extension__ extern __inline long long int
-strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
- int __base) __THROW
+__NTH (strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
+ int __base))
{
return __strtoll_internal (__nptr, __endptr, __base, 0);
}
__extension__ extern __inline unsigned long long int
-strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
- int __base) __THROW
+__NTH (strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
+ int __base))
{
return __strtoull_internal (__nptr, __endptr, __base, 0);
}
__BEGIN_NAMESPACE_STD
extern __inline double
-atof (__const char *__nptr) __THROW
+__NTH (atof (__const char *__nptr))
{
return strtod (__nptr, (char **) NULL);
}
extern __inline int
-atoi (__const char *__nptr) __THROW
+__NTH (atoi (__const char *__nptr))
{
return (int) strtol (__nptr, (char **) NULL, 10);
}
extern __inline long int
-atol (__const char *__nptr) __THROW
+__NTH (atol (__const char *__nptr))
{
return strtol (__nptr, (char **) NULL, 10);
}
# if defined __USE_MISC || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99
__extension__ extern __inline long long int
-atoll (__const char *__nptr) __THROW
+__NTH (atoll (__const char *__nptr))
{
return strtoll (__nptr, (char **) NULL, 10);
}
/* Routines for dealing with '\0' separated arg vectors.
- Copyright (C) 1995, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1995,96,97,98,99,2000,2004 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
#ifdef __USE_EXTERN_INLINES
extern inline char *
-__argz_next (__const char *__argz, size_t __argz_len,
- __const char *__entry) __THROW
+__NTH (__argz_next (__const char *__argz, size_t __argz_len,
+ __const char *__entry))
{
if (__entry)
{
return __argz_len > 0 ? (char *) __argz : 0;
}
extern inline char *
-argz_next (__const char *__argz, size_t __argz_len,
- __const char *__entry) __THROW
+__NTH (argz_next (__const char *__argz, size_t __argz_len,
+ __const char *__entry))
{
return __argz_next (__argz, __argz_len, __entry);
}
-/* Copyright (C) 1991-1993, 1995-2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1995-2003, 2004 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
# if defined __USE_XOPEN2K && !defined __USE_GNU
/* Fill BUF with a string describing the meaning of the `errno' code in
ERRNUM. */
-# ifdef __REDIRECT
-extern int __REDIRECT (strerror_r,
- (int __errnum, char *__buf, size_t __buflen),
- __xpg_strerror_r) __THROW;
+# ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (strerror_r,
+ (int __errnum, char *__buf, size_t __buflen),
+ __xpg_strerror_r);
# else
extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen)
__THROW;
# define __strtol_internal_defined 1
# endif
extern __inline intmax_t
-strtoimax (__const char *__restrict nptr, char **__restrict endptr,
- int base) __THROW
+__NTH (strtoimax (__const char *__restrict nptr, char **__restrict endptr,
+ int base))
{
return __strtol_internal (nptr, endptr, base, 0);
}
# define __strtoul_internal_defined 1
# endif
extern __inline uintmax_t
-strtoumax (__const char *__restrict nptr, char **__restrict endptr,
- int base) __THROW
+__NTH (strtoumax (__const char *__restrict nptr, char **__restrict endptr,
+ int base))
{
return __strtoul_internal (nptr, endptr, base, 0);
}
# define __wcstol_internal_defined 1
# endif
extern __inline intmax_t
-wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr,
- int base) __THROW
+__NTH (wcstoimax (__const __gwchar_t *__restrict nptr,
+ __gwchar_t **__restrict endptr, int base))
{
return __wcstol_internal (nptr, endptr, base, 0);
}
# define __wcstoul_internal_defined 1
# endif
extern __inline uintmax_t
-wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr,
- int base) __THROW
+__NTH (wcstoumax (__const __gwchar_t *__restrict nptr,
+ __gwchar_t **__restrict endptr, int base))
{
return __wcstoul_internal (nptr, endptr, base, 0);
}
# define __strtoll_internal_defined 1
# endif
extern __inline intmax_t
-strtoimax (__const char *__restrict nptr, char **__restrict endptr,
- int base) __THROW
+__NTH (strtoimax (__const char *__restrict nptr, char **__restrict endptr,
+ int base))
{
return __strtoll_internal (nptr, endptr, base, 0);
}
# define __strtoull_internal_defined 1
# endif
extern __inline uintmax_t
-strtoumax (__const char *__restrict nptr, char **__restrict endptr,
- int base) __THROW
+__NTH (strtoumax (__const char *__restrict nptr, char **__restrict endptr,
+ int base))
{
return __strtoull_internal (nptr, endptr, base, 0);
}
# define __wcstoll_internal_defined 1
# endif
extern __inline intmax_t
-wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr,
- int base) __THROW
+__NTH (wcstoimax (__const __gwchar_t *__restrict nptr,
+ __gwchar_t **__restrict endptr, int base))
{
return __wcstoll_internal (nptr, endptr, base, 0);
}
# define __wcstoull_internal_defined 1
# endif
extern __inline uintmax_t
-wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr,
- int base) __THROW
+__NTH (wcstoumax (__const __gwchar_t *__restrict nptr,
+ __gwchar_t **__restrict endptr, int base))
{
return __wcstoull_internal (nptr, endptr, base, 0);
}
# if __GNUC_PREREQ (2, 8)
/* Test for negative number. Used in the signbit() macro. */
__MATH_INLINE int
-__signbitf (float __x) __THROW
+__NTH (__signbitf (float __x))
{
__extension__ union { float __f; int __i; } __u = { __f: __x };
return __u.__i < 0;
}
__MATH_INLINE int
-__signbit (double __x) __THROW
+__NTH (__signbit (double __x))
{
__extension__ union { double __d; int __i[2]; } __u = { __d: __x };
return __u.__i[1] < 0;
}
__MATH_INLINE int
-__signbitl (long double __x) __THROW
+__NTH (__signbitl (long double __x))
{
__extension__ union { long double __l; int __i[3]; } __u = { __l: __x };
return (__u.__i[2] & 0x8000) != 0;
__inline_mathop_declNP_ (float_type, func, op, params)
#define __inline_mathop_declNP_(float_type, func, op, params...) \
- __MATH_INLINE float_type func (float_type __x) __THROW \
+ __MATH_INLINE float_type __NTH (func (float_type __x)) \
{ \
register float_type __result; \
__asm __volatile__ (op : "=t" (__result) : params); \
__inline_mathcodeNP_(float_type, func, arg, code)
#define __inline_mathcodeNP_(float_type, func, arg, code) \
- __MATH_INLINE float_type func (float_type arg) __THROW \
+ __MATH_INLINE float_type __NTH (func (float_type arg)) \
{ \
code; \
}
__inline_mathcodeNP2_ (float_type, func, arg1, arg2, code)
#define __inline_mathcodeNP2_(float_type, func, arg1, arg2, code) \
- __MATH_INLINE float_type func (float_type arg1, float_type arg2) __THROW \
+ __MATH_INLINE float_type __NTH (func (float_type arg1, float_type arg2)) \
{ \
code; \
}
__inline_mathcodeNP3_(float_type, func, arg1, arg2, arg3, code)
#define __inline_mathcodeNP3_(float_type, func, arg1, arg2, arg3, code) \
- __MATH_INLINE float_type func (float_type arg1, float_type arg2, \
- float_type arg3) __THROW \
+ __MATH_INLINE float_type __NTH (func (float_type arg1, float_type arg2, \
+ float_type arg3)) \
{ \
code; \
}
*__cosx = __cosr
__MATH_INLINE void
-__sincos (double __x, double *__sinx, double *__cosx) __THROW
+__NTH (__sincos (double __x, double *__sinx, double *__cosx))
{
__sincos_code;
}
__MATH_INLINE void
-__sincosf (float __x, float *__sinx, float *__cosx) __THROW
+__NTH (__sincosf (float __x, float *__sinx, float *__cosx))
{
__sincos_code;
}
__MATH_INLINE void
-__sincosl (long double __x, long double *__sinx, long double *__cosx) __THROW
+__NTH (__sincosl (long double __x, long double *__sinx, long double *__cosx))
{
__sincos_code;
}
return __value
__MATH_INLINE double
-ldexp (double __x, int __y) __THROW
+__NTH (ldexp (double __x, int __y))
{
__ldexp_code;
}
# endif
__MATH_INLINE float
-ldexpf (float __x, int __y) __THROW
+__NTH (ldexpf (float __x, int __y))
{
__ldexp_code;
}
__MATH_INLINE long double
-ldexpl (long double __x, int __y) __THROW
+__NTH (ldexpl (long double __x, int __y))
{
__ldexp_code;
}
: "=m" (__lrintres) : "t" (__x) : "st"); \
return __lrintres
__MATH_INLINE long int
-lrintf (float __x) __THROW
+__NTH (lrintf (float __x))
{
__lrint_code;
}
__MATH_INLINE long int
-lrint (double __x) __THROW
+__NTH (lrint (double __x))
{
__lrint_code;
}
__MATH_INLINE long int
-lrintl (long double __x) __THROW
+__NTH (lrintl (long double __x))
{
__lrint_code;
}
: "=m" (__llrintres) : "t" (__x) : "st"); \
return __llrintres
__MATH_INLINE long long int
-llrintf (float __x) __THROW
+__NTH (llrintf (float __x))
{
__llrint_code;
}
__MATH_INLINE long long int
-llrint (double __x) __THROW
+__NTH (llrint (double __x))
{
__llrint_code;
}
__MATH_INLINE long long int
-llrintl (long double __x) __THROW
+__NTH (llrintl (long double __x))
{
__llrint_code;
}
/* This function is used in the `isfinite' macro. */
__MATH_INLINE int
-__finite (double __x) __THROW
+__NTH (__finite (double __x))
{
return (__extension__
(((((union { double __d; int __i[2]; }) {__d: __x}).__i[1]
else \
abort (); \
__result; })
+
+
+#define atomic_delay() asm ("rep; nop")
# if __GNUC_PREREQ (2, 8)
/* Test for negative number. Used in the signbit() macro. */
__MATH_INLINE int
-__signbitf (float __x) __THROW
+__NTH (__signbitf (float __x))
{
__extension__ union { float __f; int __i; } __u = { __f: __x };
return __u.__i < 0;
}
__MATH_INLINE int
-__signbit (double __x) __THROW
+__NTH (__signbit (double __x))
{
__extension__ union { double __d; int __i[2]; } __u = { __d: __x };
return __u.__i[0] < 0;
# ifndef __powerpc64__
__MATH_INLINE long int lrint (double __x) __THROW;
__MATH_INLINE long int
-lrint (double __x) __THROW
+__NTH (lrint (double __x))
{
union {
double __d;
__MATH_INLINE long int lrintf (float __x) __THROW;
__MATH_INLINE long int
-lrintf (float __x) __THROW
+__NTH (lrintf (float __x))
{
union {
double __d;
__MATH_INLINE double fdim (double __x, double __y) __THROW;
__MATH_INLINE double
-fdim (double __x, double __y) __THROW
+__NTH (fdim (double __x, double __y))
{
return __x < __y ? 0 : __x - __y;
}
__MATH_INLINE float fdimf (float __x, float __y) __THROW;
__MATH_INLINE float
-fdimf (float __x, float __y) __THROW
+__NTH (fdimf (float __x, float __y))
{
return __x < __y ? 0 : __x - __y;
}
extern double __slow_ieee754_sqrt (double);
__MATH_INLINE double
-__ieee754_sqrt (double __x)
+__NTH (__ieee754_sqrt (double __x))
{
double __z;
-
+
/* If the CPU is 64-bit we can use the optional FP instructions we. */
if ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0)
{
- /* Volatile is required to prevent the compiler from moving the
+ /* Volatile is required to prevent the compiler from moving the
fsqrt instruction above the branch. */
__asm __volatile (
" fsqrt %0,%1\n"
}
else
__z = __slow_ieee754_sqrt(__x);
-
+
return __z;
}
extern float __slow_ieee754_sqrtf (float);
__MATH_INLINE float
-__ieee754_sqrtf (float __x)
+__NTH (__ieee754_sqrtf (float __x))
{
float __z;
-
+
/* If the CPU is 64-bit we can use the optional FP instructions we. */
if ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0)
{
- /* Volatile is required to prevent the compiler from moving the
+ /* Volatile is required to prevent the compiler from moving the
fsqrts instruction above the branch. */
__asm __volatile (
" fsqrts %0,%1\n"
}
else
__z = __slow_ieee754_sqrtf(__x);
-
+
return __z;
}
# endif /* __LIBC_INTERNAL_MATH_INLINES */
#ifdef __USE_ISOC99
/* Test for negative number. Used in the signbit() macro. */
-__MATH_INLINE int __signbitf (float __x) __THROW
+__MATH_INLINE int
+__NTH (__signbitf (float __x))
{
__extension__ union { float __f; int __i; } __u = { __f: __x };
return __u.__i < 0;
}
-__MATH_INLINE int __signbit (double __x) __THROW
+__MATH_INLINE int
+__NTH (__signbit (double __x))
{
__extension__ union { double __d; long __i; } __u = { __d: __x };
return __u.__i < 0;
#include <dl-procinfo.h>
__MATH_INLINE double
-__ieee754_sqrt (double x)
+__NTH (__ieee754_sqrt (double x))
{
double res;
-
+
asm ( "sqdbr %0,%1" : "=f" (res) : "f" (x) );
return res;
}
__MATH_INLINE float
-__ieee754_sqrtf (float x)
+__NTH (__ieee754_sqrtf (float x))
{
float res;
-
+
asm ( "sqebr %0,%1" : "=f" (res) : "f" (x) );
return res;
}
/* System-specific socket constants and types. Linux version.
- Copyright (C) 1991,1992,1994-1999,2000,2001 Free Software Foundation, Inc.
+ Copyright (C) 1991,1992,1994-2001, 2004 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
# define _EXTERN_INLINE extern __inline
# endif
_EXTERN_INLINE struct cmsghdr *
-__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW
+__NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
{
if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
/* The kernel header does this so there may be a reason. */
/* Definitions of macros to access `dev_t' values.
- Copyright (C) 1996, 1997, 1999, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1999, 2003, 2004 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
# if defined __GNUC__ && __GNUC__ >= 2
__extension__ extern __inline unsigned int
-gnu_dev_major (unsigned long long int __dev) __THROW
+__NTH (gnu_dev_major (unsigned long long int __dev))
{
return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
}
__extension__ extern __inline unsigned int
-gnu_dev_minor (unsigned long long int __dev) __THROW
+__NTH (gnu_dev_minor (unsigned long long int __dev))
{
return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
}
__extension__ extern __inline unsigned long long int
-gnu_dev_makedev (unsigned int __major, unsigned int __minor) __THROW
+__NTH (gnu_dev_makedev (unsigned int __major, unsigned int __minor))
{
return ((__minor & 0xff) | ((__major & 0xfff) << 8)
| (((unsigned long long int) (__minor & ~0xff)) << 12)
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
: "=q" (__result), "=m" (*mem) \
: "m" (*mem), "ir" (bit)); \
__result; })
+
+
+#define atomic_delay() asm ("rep; nop")
/* Inline math functions for x86-64.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@suse.de>, 2002.
/* Test for negative number. Used in the signbit() macro. */
__MATH_INLINE int
-__signbitf (float __x) __THROW
+__NTH (__signbitf (float __x))
{
__extension__ union { float __f; int __i; } __u = { __f: __x };
return __u.__i < 0;
}
__MATH_INLINE int
-__signbit (double __x) __THROW
+__NTH (__signbit (double __x))
{
__extension__ union { double __d; int __i[2]; } __u = { __d: __x };
return __u.__i[1] < 0;
}
__MATH_INLINE int
-__signbitl (long double __x) __THROW
+__NTH (__signbitl (long double __x))
{
__extension__ union { long double __l; int __i[3]; } __u = { __l: __x };
return (__u.__i[2] & 0x8000) != 0;
-/* Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2003, 2004 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
#ifdef __USE_EXTERN_INLINES
/* Define inline function as optimization. */
-extern __inline size_t mbrlen (__const char *__restrict __s, size_t __n,
- mbstate_t *__restrict __ps) __THROW
+extern __inline size_t
+__NTH (mbrlen (__const char *__restrict __s, size_t __n,
+ mbstate_t *__restrict __ps))
{ return (__ps != NULL
? mbrtowc (NULL, __s, __n, __ps) : __mbrlen (__s, __n, NULL)); }
#endif
/* Define inline functions which call the internal entry points. */
__BEGIN_NAMESPACE_C99
-extern __inline double wcstod (__const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr) __THROW
+extern __inline double
+__NTH (wcstod (__const wchar_t *__restrict __nptr,
+ wchar_t **__restrict __endptr))
{ return __wcstod_internal (__nptr, __endptr, 0); }
-extern __inline long int wcstol (__const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr,
- int __base) __THROW
+extern __inline long int
+__NTH (wcstol (__const wchar_t *__restrict __nptr,
+ wchar_t **__restrict __endptr, int __base))
{ return __wcstol_internal (__nptr, __endptr, __base, 0); }
-extern __inline unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr,
- int __base) __THROW
+extern __inline unsigned long int
+__NTH (wcstoul (__const wchar_t *__restrict __nptr,
+ wchar_t **__restrict __endptr, int __base))
{ return __wcstoul_internal (__nptr, __endptr, __base, 0); }
__END_NAMESPACE_C99
# ifdef __USE_GNU
-extern __inline float wcstof (__const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr) __THROW
+extern __inline float
+__NTH (wcstof (__const wchar_t *__restrict __nptr,
+ wchar_t **__restrict __endptr))
{ return __wcstof_internal (__nptr, __endptr, 0); }
-extern __inline long double wcstold (__const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr) __THROW
+extern __inline long double
+__NTH (wcstold (__const wchar_t *__restrict __nptr,
+ wchar_t **__restrict __endptr))
{ return __wcstold_internal (__nptr, __endptr, 0); }
__extension__
-extern __inline long long int wcstoq (__const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr,
- int __base) __THROW
+extern __inline long long int
+__NTH (wcstoq (__const wchar_t *__restrict __nptr,
+ wchar_t **__restrict __endptr, int __base))
{ return __wcstoll_internal (__nptr, __endptr, __base, 0); }
__extension__
-extern __inline unsigned long long int wcstouq (__const wchar_t *
- __restrict __nptr,
- wchar_t **__restrict __endptr,
- int __base) __THROW
+extern __inline unsigned long long int
+__NTH (wcstouq (__const wchar_t *__restrict __nptr,
+ wchar_t **__restrict __endptr, int __base))
{ return __wcstoull_internal (__nptr, __endptr, __base, 0); }
# endif /* Use GNU. */
#endif /* Optimizing GCC >=2. */