* bits/types.h: Don't include stddef.h, don't define __need_size_t.

* signal/signal.h <__USE_BSD || __USE_XOPEN_EXTENDED>: Define
	__need_size_t and include stddef.h.
	* sysvipc/sys/msg.h: Likewise.
	* posix/sched.h: Likewise.
	* hurd/hurd/signal.h (__need_size_t): Define.

	* CONFORMANCE: ctype.h and wctype.h no longer define size_t,
	neither does signal.h in pedantic ISO C namespaces.  stdio.h
	no longer defines wint_t or wchar_t.
This commit is contained in:
Ulrich Drepper 2007-07-19 17:21:02 +00:00
parent b257c726a4
commit 50e16f8519
7 changed files with 24 additions and 14 deletions

View File

@ -184,15 +184,7 @@ Also, the Single Unix Specification generally requires more types to
be included in headers (if _XOPEN_SOURCE is defined appropriately) be included in headers (if _XOPEN_SOURCE is defined appropriately)
than ISO C permits. than ISO C permits.
<ctype.h> should not declare size_t.
<signal.h> should not declare size_t.
<stdio.h> should not declare or use wchar_t or wint_t.
<wchar.h> does not support AMD1; to support it, the functions <wchar.h> does not support AMD1; to support it, the functions
fwprintf, fwscanf, wprintf, wscanf, swprintf, swscanf, vfwprintf, fwprintf, fwscanf, wprintf, wscanf, swprintf, swscanf, vfwprintf,
vwprintf, vswprintf and fwide would need to be declared when vwprintf, vswprintf and fwide would need to be declared when
__STDC_VERSION__ >= 199409L and not just for C99. __STDC_VERSION__ >= 199409L and not just for C99.
<wctype.h> should not declare size_t.

View File

@ -1,5 +1,16 @@
2007-07-17 Jakub Jelinek <jakub@redhat.com> 2007-07-17 Jakub Jelinek <jakub@redhat.com>
* bits/types.h: Don't include stddef.h, don't define __need_size_t.
* signal/signal.h <__USE_BSD || __USE_XOPEN_EXTENDED>: Define
__need_size_t and include stddef.h.
* sysvipc/sys/msg.h: Likewise.
* posix/sched.h: Likewise.
* hurd/hurd/signal.h (__need_size_t): Define.
* CONFORMANCE: ctype.h and wctype.h no longer define size_t,
neither does signal.h in pedantic ISO C namespaces. stdio.h
no longer defines wint_t or wchar_t.
* libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): New function. * libio/libioP.h (_IO_acquire_lock_clear_flags2_fct): New function.
* debug/vfwprintf_chk.c (__vfwprintf_chk): Use * debug/vfwprintf_chk.c (__vfwprintf_chk): Use
_IO_acquire_lock_clear_flags2 instead of _IO_acquire_lock. _IO_acquire_lock_clear_flags2 instead of _IO_acquire_lock.

View File

@ -1,5 +1,5 @@
/* bits/types.h -- definitions of __*_t types underlying *_t types. /* bits/types.h -- definitions of __*_t types underlying *_t types.
Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Copyright (C) 2002, 2003, 2004, 2005, 2007 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
@ -27,9 +27,6 @@
#include <features.h> #include <features.h>
#include <bits/wordsize.h> #include <bits/wordsize.h>
#define __need_size_t
#include <stddef.h>
/* Convenience types. */ /* Convenience types. */
typedef unsigned char __u_char; typedef unsigned char __u_char;
typedef unsigned short int __u_short; typedef unsigned short int __u_short;

View File

@ -26,6 +26,7 @@
#error "Must have `_GNU_SOURCE' feature test macro to use this file" #error "Must have `_GNU_SOURCE' feature test macro to use this file"
#endif #endif
#define __need_size_t
#define __need_NULL #define __need_NULL
#include <stddef.h> #include <stddef.h>

View File

@ -25,6 +25,9 @@
/* Get type definitions. */ /* Get type definitions. */
#include <bits/types.h> #include <bits/types.h>
#define __need_size_t
#include <stddef.h>
#define __need_timespec #define __need_timespec
#include <time.h> #include <time.h>

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991-2003, 2004 Free Software Foundation, Inc. /* Copyright (C) 1991-2003, 2004, 2007 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
@ -339,6 +339,8 @@ extern int sigreturn (struct sigcontext *__scp) __THROW;
#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
# define __need_size_t
# include <stddef.h>
/* If INTERRUPT is nonzero, make signal SIG interrupt system calls /* If INTERRUPT is nonzero, make signal SIG interrupt system calls
(causing them to fail with EINTR); if INTERRUPT is zero, make system (causing them to fail with EINTR); if INTERRUPT is zero, make system

View File

@ -1,4 +1,5 @@
/* Copyright (C) 1995-1997,1999,2000,2003,2006 Free Software Foundation, Inc. /* Copyright (C) 1995-1997,1999,2000,2003,2006,2007
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
@ -21,6 +22,9 @@
#include <features.h> #include <features.h>
#define __need_size_t
#include <stddef.h>
/* Get common definition of System V style IPC. */ /* Get common definition of System V style IPC. */
#include <sys/ipc.h> #include <sys/ipc.h>