mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
Remove __need macros from stdio.h and wchar.h.
wint_t is a little finicky because it might be defined by stddef.h, which belongs to the compiler. In addition to the _types_, a bunch of other declarations shared between wctype.h and wchar.h are factored out to their own header. * libio/bits/types/FILE.h, libio/bits/types/__FILE.h * wcsmbs/bits/types/mbstate_t.h, wcsmbs/bits/types/__mbstate_t.h * wcsmbs/bits/types/wint_t.h: New single-type definition files. * wctype/bits/wctype-wchar.h: New file holding declarations shared between wctype.h and wchar.h. * libio/Makefile, wcsmbs/Makefile, wctype/Makefile: Install them. * include/bits/types/FILE.h, include/bits/types/__FILE.h * include/bits/types/mbstate_t.h, include/bits/types/__mbstate_t.h * include/bits/types/wint_t.h, include/bits/wcsmbs-wchar.h: New wrappers. * include/stdio.h, include/wchar.h, include/wctype.h: No need to handle __need macros. * grp/grp.h, gshadow/gshadow.h, hurd/hurd.h, iconv/gconv.h * libio/stdio.h, mach/mach.h, misc/mntent.h, pwd/pwd.h * shadow/shadow.h, stdio-common/printf.h, wcsmbs/uchar.h * wcsmbs/wchar.h, wctype/wctype.h * sysdeps/generic/_G_config.h, sysdeps/unix/sysv/linux/_G_config.h Use the new files instead of __need macros.
This commit is contained in:
@ -21,48 +21,21 @@
|
||||
*/
|
||||
|
||||
#ifndef _STDIO_H
|
||||
#define _STDIO_H 1
|
||||
|
||||
#if !defined __need_FILE && !defined __need___FILE
|
||||
# define _STDIO_H 1
|
||||
# define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
|
||||
# include <bits/libc-header-start.h>
|
||||
#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
|
||||
#include <bits/libc-header-start.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
# define __need_size_t
|
||||
# define __need_NULL
|
||||
# include <stddef.h>
|
||||
#define __need_size_t
|
||||
#define __need_NULL
|
||||
#include <stddef.h>
|
||||
|
||||
# include <bits/types.h>
|
||||
# define __need_FILE
|
||||
# define __need___FILE
|
||||
#endif /* Don't need FILE. */
|
||||
#include <bits/types.h>
|
||||
#include <bits/types/__FILE.h>
|
||||
#include <bits/types/FILE.h>
|
||||
|
||||
|
||||
#if !defined __FILE_defined && defined __need_FILE
|
||||
|
||||
/* Define outside of namespace so the C++ is happy. */
|
||||
struct _IO_FILE;
|
||||
|
||||
/* The opaque type of streams. This is the definition used elsewhere. */
|
||||
typedef struct _IO_FILE FILE;
|
||||
|
||||
# define __FILE_defined 1
|
||||
#endif /* FILE not defined. */
|
||||
#undef __need_FILE
|
||||
|
||||
|
||||
#if !defined ____FILE_defined && defined __need___FILE
|
||||
|
||||
/* The opaque type of streams. This is the definition used elsewhere. */
|
||||
typedef struct _IO_FILE __FILE;
|
||||
|
||||
# define ____FILE_defined 1
|
||||
#endif /* __FILE not defined. */
|
||||
#undef __need___FILE
|
||||
|
||||
|
||||
#ifdef _STDIO_H
|
||||
#define _STDIO_USES_IOSTREAM
|
||||
|
||||
#include <libio.h>
|
||||
@ -895,5 +868,3 @@ extern void funlockfile (FILE *__stream) __THROW;
|
||||
__END_DECLS
|
||||
|
||||
#endif /* <stdio.h> included. */
|
||||
|
||||
#endif /* !_STDIO_H */
|
||||
|
Reference in New Issue
Block a user