1
0
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:
Zack Weinberg
2016-11-20 23:00:02 -05:00
parent 4615f5aefe
commit 199fc19d3a
34 changed files with 362 additions and 387 deletions

View File

@ -1,8 +1,6 @@
#ifndef _STDIO_H
# if defined _ISOMAC || defined __need_FILE || defined __need___FILE
# include <libio/stdio.h>
# else
# include <libio/stdio.h>
# include <libio/stdio.h>
# ifndef _ISOMAC
/* Now define the internal interfaces. */
@ -71,11 +69,11 @@ libc_hidden_proto (__isoc99_vfscanf)
extern FILE *__new_tmpfile (void);
extern FILE *__old_tmpfile (void);
# define __need_size_t
# define __need_wint_t
# include <stddef.h>
# include <bits/types/wint_t.h>
/* Generate a unique file name (and possibly open it). */
extern int __path_search (char *__tmpl, size_t __tmpl_len,
const char *__dir, const char *__pfx,
@ -183,5 +181,5 @@ libc_hidden_proto (__obstack_vprintf_chk)
extern FILE * __fmemopen (void *buf, size_t len, const char *mode);
libc_hidden_proto (__fmemopen)
# endif
#endif
# endif /* not _ISOMAC */
#endif /* stdio.h */