about summary refs log tree commit diff
path: root/libio/bits
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2016-11-20 23:00:02 -0500
committerZack Weinberg <zackw@panix.com>2017-06-08 13:58:17 -0400
commit199fc19d3aaaf57944ef036e15904febe877fc93 (patch)
tree5056d2447de58c0bb197d87740098220f556b242 /libio/bits
parent4615f5aefeaa45345484a9ce8e3d0ea977c80d80 (diff)
downloadglibc-199fc19d3aaaf57944ef036e15904febe877fc93.tar.gz
glibc-199fc19d3aaaf57944ef036e15904febe877fc93.tar.xz
glibc-199fc19d3aaaf57944ef036e15904febe877fc93.zip
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.
Diffstat (limited to 'libio/bits')
-rw-r--r--libio/bits/types/FILE.h9
-rw-r--r--libio/bits/types/__FILE.h7
2 files changed, 16 insertions, 0 deletions
diff --git a/libio/bits/types/FILE.h b/libio/bits/types/FILE.h
new file mode 100644
index 0000000000..f268263209
--- /dev/null
+++ b/libio/bits/types/FILE.h
@@ -0,0 +1,9 @@
+#ifndef __FILE_defined
+#define __FILE_defined 1
+
+struct _IO_FILE;
+
+/* The opaque type of streams.  This is the definition used elsewhere.  */
+typedef struct _IO_FILE FILE;
+
+#endif
diff --git a/libio/bits/types/__FILE.h b/libio/bits/types/__FILE.h
new file mode 100644
index 0000000000..06dd79bc83
--- /dev/null
+++ b/libio/bits/types/__FILE.h
@@ -0,0 +1,7 @@
+#ifndef ____FILE_defined
+#define ____FILE_defined 1
+
+struct _IO_FILE;
+typedef struct _IO_FILE __FILE;
+
+#endif