aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog17
-rw-r--r--conform/data/stddef.h-data1
-rw-r--r--conform/data/sys/select.h-data6
-rw-r--r--conform/data/sys/uio.h-data1
-rw-r--r--iconv/gconv.h3
-rw-r--r--misc/sys/select.h6
-rw-r--r--sysdeps/generic/inttypes.h50
-rw-r--r--sysdeps/generic/stdint.h4
-rw-r--r--time/time.h2
9 files changed, 63 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog
index 1f653b49db..c319a21caa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
2001-08-18 Ulrich Drepper <drepper@redhat.com>
+ * time/time.h (struct timespec): Use __time_t for tv_sec element.
+
+ * sysdeps/generic/inttypes.h: Define __wchar_t. Use it instead of
+ wchar_t for function declarations and defintions.
+
+ * misc/sys/select.h: Define __need_time_t before including <time.h>.
+ Define suseconds_t if it hasn't happened yet.
+
+ * iconv/gconv.h: Define __need_wchar_t before including <stddef.h>.
+
+ * conform/data/sys/uio.h-data: Allow UIO_MAXIOV to be defined.
+
+ * sysdeps/generic/stdint.h: Don't get definition of wchar_t from
+ <stddef.h>.
+
+ * conform/data/stddef.h-data: Remove wint_t.
+
* conform/conformtest.pl: Change namespace test to take #undef
lines into account.
diff --git a/conform/data/stddef.h-data b/conform/data/stddef.h-data
index 630e017acf..a9acf2dac5 100644
--- a/conform/data/stddef.h-data
+++ b/conform/data/stddef.h-data
@@ -5,6 +5,5 @@ macro offsetof
type ptrdiff_t
type wchar_t
type size_t
-type wint_t
allow *_t
diff --git a/conform/data/sys/select.h-data b/conform/data/sys/select.h-data
index ade26a4e5a..51f7844cb6 100644
--- a/conform/data/sys/select.h-data
+++ b/conform/data/sys/select.h-data
@@ -1,11 +1,11 @@
#if !defined ISO && !defined POSIX
+type time_t
+type suseconds_t
+
type {struct timeval}
element {struct timeval} time_t tv_sec
element {struct timeval} suseconds_t tv_usec
-type time_t
-type suseconds_t
-
type sigset_t
type {struct timespec}
diff --git a/conform/data/sys/uio.h-data b/conform/data/sys/uio.h-data
index 593cb18ef8..258032b871 100644
--- a/conform/data/sys/uio.h-data
+++ b/conform/data/sys/uio.h-data
@@ -9,3 +9,4 @@ function ssize_t writev (int, const struct iovec*, int)
allow iov_*
allow IOV_*
allow *_t
+allow UIO_MAXIOV
diff --git a/iconv/gconv.h b/iconv/gconv.h
index 25340d1e22..78885c590d 100644
--- a/iconv/gconv.h
+++ b/iconv/gconv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2001 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
@@ -27,6 +27,7 @@
#define __need_mbstate_t
#include <wchar.h>
#define __need_size_t
+#define __need_wchar_t
#include <stddef.h>
/* ISO 10646 value used to signal invalid value. */
diff --git a/misc/sys/select.h b/misc/sys/select.h
index 8f03c73e99..c065113a8b 100644
--- a/misc/sys/select.h
+++ b/misc/sys/select.h
@@ -39,11 +39,17 @@ typedef __sigset_t sigset_t;
#endif
/* Get definition of timer specification structures. */
+#define __need_time_t
#define __need_timespec
#include <time.h>
#define __need_timeval
#include <bits/time.h>
+#ifndef __suseconds_t_defined
+typedef __suseconds_t suseconds_t;
+# define __suseconds_t_defined
+#endif
+
/* The fd_set member is required to be an array of longs. */
typedef long int __fd_mask;
diff --git a/sysdeps/generic/inttypes.h b/sysdeps/generic/inttypes.h
index 7bb3effac4..29830ea2fb 100644
--- a/sysdeps/generic/inttypes.h
+++ b/sysdeps/generic/inttypes.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2001 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
@@ -27,6 +27,18 @@
/* Get the type definitions. */
#include <stdint.h>
+/* Get a definition for wchar_t. But we must not define wchar_t itself. */
+#ifndef ____wchar_t_defined
+# ifdef __WCHAR_TYPE__
+typedef __WCHAR_TYPE__ __wchar_t;
+# else
+# defined __need_wchar_t
+# include <stddef.h>
+typedef wchar_t __wchar_t;
+# endif
+# define ____wchar_t_defined 1
+#endif
+
/* The ISO C99 standard specifies that these macros must only be
defined if explicitly requested. */
@@ -292,16 +304,18 @@ extern intmax_t strtoimax (__const char *__restrict __nptr,
char **__restrict __endptr, int __base) __THROW;
/* Like `strtoul' but convert to `uintmax_t'. */
-extern uintmax_t strtoumax (__const char * __restrict __nptr,
+extern uintmax_t strtoumax (__const char *__restrict __nptr,
char ** __restrict __endptr, int __base) __THROW;
/* Like `wcstol' but convert to `intmax_t'. */
-extern intmax_t wcstoimax (__const wchar_t * __restrict __nptr,
- wchar_t **__restrict __endptr, int __base) __THROW;
+extern intmax_t wcstoimax (__const __wchar_t *__restrict __nptr,
+ __wchar_t **__restrict __endptr, int __base)
+ __THROW;
/* Like `wcstoul' but convert to `uintmax_t'. */
-extern uintmax_t wcstoumax (__const wchar_t * __restrict __nptr,
- wchar_t ** __restrict __endptr, int __base) __THROW;
+extern uintmax_t wcstoumax (__const __wchar_t *__restrict __nptr,
+ __wchar_t ** __restrict __endptr, int __base)
+ __THROW;
#ifdef __USE_EXTERN_INLINES
@@ -338,13 +352,13 @@ strtoumax (__const char *__restrict nptr, char **__restrict endptr,
/* Like `wcstol' but convert to `intmax_t'. */
# ifndef __wcstol_internal_defined
-extern long int __wcstol_internal (__const wchar_t * __restrict __nptr,
- wchar_t **__restrict __endptr,
+extern long int __wcstol_internal (__const __wchar_t * __restrict __nptr,
+ __wchar_t **__restrict __endptr,
int __base, int __group) __THROW;
# define __wcstol_internal_defined 1
# endif
extern __inline intmax_t
-wcstoimax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
+wcstoimax (__const __wchar_t *__restrict nptr, __wchar_t **__restrict endptr,
int base) __THROW
{
return __wcstol_internal (nptr, endptr, base, 0);
@@ -353,15 +367,15 @@ wcstoimax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
/* Like `wcstoul' but convert to `uintmax_t'. */
# ifndef __wcstoul_internal_defined
-extern unsigned long int __wcstoul_internal (__const wchar_t *
+extern unsigned long int __wcstoul_internal (__const __wchar_t *
__restrict __nptr,
- wchar_t **
+ __wchar_t **
__restrict __endptr,
int __base, int __group) __THROW;
# define __wcstoul_internal_defined 1
# endif
extern __inline uintmax_t
-wcstoumax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
+wcstoumax (__const __wchar_t *__restrict nptr, __wchar_t **__restrict endptr,
int base) __THROW
{
return __wcstoul_internal (nptr, endptr, base, 0);
@@ -405,14 +419,14 @@ strtoumax (__const char *__restrict nptr, char **__restrict endptr,
/* Like `wcstol' but convert to `intmax_t'. */
# ifndef __wcstoll_internal_defined
__extension__
-extern long long int __wcstoll_internal (__const wchar_t *
+extern long long int __wcstoll_internal (__const __wchar_t *
__restrict __nptr,
- wchar_t **__restrict __endptr,
+ __wchar_t **__restrict __endptr,
int __base, int __group) __THROW;
# define __wcstoll_internal_defined 1
# endif
extern __inline intmax_t
-wcstoimax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
+wcstoimax (__const __wchar_t *__restrict nptr, __wchar_t **__restrict endptr,
int base) __THROW
{
return __wcstoll_internal (nptr, endptr, base, 0);
@@ -422,16 +436,16 @@ wcstoimax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
/* Like `wcstoul' but convert to `uintmax_t'. */
# ifndef __wcstoull_internal_defined
__extension__
-extern unsigned long long int __wcstoull_internal (__const wchar_t *
+extern unsigned long long int __wcstoull_internal (__const __wchar_t *
__restrict __nptr,
- wchar_t **
+ __wchar_t **
__restrict __endptr,
int __base,
int __group) __THROW;
# define __wcstoull_internal_defined 1
# endif
extern __inline uintmax_t
-wcstoumax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
+wcstoumax (__const __wchar_t *__restrict nptr, __wchar_t **__restrict endptr,
int base) __THROW
{
return __wcstoull_internal (nptr, endptr, base, 0);
diff --git a/sysdeps/generic/stdint.h b/sysdeps/generic/stdint.h
index 1d51c71406..c860030409 100644
--- a/sysdeps/generic/stdint.h
+++ b/sysdeps/generic/stdint.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2001 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
@@ -24,8 +24,6 @@
#define _STDINT_H 1
#include <features.h>
-#define __need_wchar_t
-#include <stddef.h>
#include <bits/wchar.h>
#include <bits/wordsize.h>
diff --git a/time/time.h b/time/time.h
index 08ee502e5e..117bf7b88f 100644
--- a/time/time.h
+++ b/time/time.h
@@ -105,7 +105,7 @@ typedef __timer_t timer_t;
has nanoseconds instead of microseconds. */
struct timespec
{
- long int tv_sec; /* Seconds. */
+ __time_t tv_sec; /* Seconds. */
long int tv_nsec; /* Nanoseconds. */
};