glibc/libio
Zack Weinberg 26c07172cd Remove getc and putc macros from the public stdio.h.
The getc and putc macros in the public stdio.h expand to call _IO_getc
and _IO_putc respectively.  As _IO_getc, fgetc, and getc are all aliases
for the same function, and _IO_putc, fputc, and putc are also all aliases
for the same function, the macros are pointless.  The C standard does
not require getc and putc to be macros, so let's just not have macros.
All four symbols are exported from libc.so at the same, ancient symbol
version, so there should be no risks for binary compatibility.  Similarly,
the getchar and putchar inlines in bits/stdio.h forward to getc and putc
instead of their _IO_ aliases.

As a change from longstanding historical practice, this does seem
like it might break _something_, so there is a note in NEWS, which
is also a convenient place to advise people that if they thought getc
and putc had reduced per-character overhead they should consider using
getc_unlocked and putc_unlocked instead.  (These are also not macros,
but when optimizing, they are inlines.)

	* libio/stdio.h: Don't define getc or putc as macros.
	* libio/bits/stdio.h (getchar, putchar): Use getc and putc,
	not _IO_getc and _IO_putc.
2018-02-05 19:59:03 -05:00
..
bits Remove getc and putc macros from the public stdio.h. 2018-02-05 19:59:03 -05:00
__fbufsize.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__flbf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fpending.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fpurge.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__freadable.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__freading.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fsetlocking.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fwritable.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
__fwriting.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
_G_config.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bug-fopena+.c Update. 2002-08-27 06:41:29 +00:00
bug-fseek.c Update. 2002-07-24 11:18:48 +00:00
bug-ftell.c * libio/bug-ftell.c (do_test): Add a cast. 2003-11-01 21:11:05 +00:00
bug-memstream1.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
bug-mmap-fflush.c Update. 2002-08-27 12:10:11 +00:00
bug-rewind2.c Fix warnings in fwscanf / rewind tests. 2014-11-26 12:54:39 +00:00
bug-rewind.c Fix warnings in fwscanf / rewind tests. 2014-11-26 12:54:39 +00:00
bug-ungetc2.c Update. 2003-09-06 09:56:14 +00:00
bug-ungetc3.c Update. 2004-11-09 07:05:27 +00:00
bug-ungetc4.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
bug-ungetc.c 2002-07-24 Roland McGrath <roland@frob.com> 2002-07-24 09:34:59 +00:00
bug-ungetwc1.c Fix libio/bug-ungetwc1.c warning. 2014-11-27 16:01:04 +00:00
bug-ungetwc2.c Update. 2002-04-24 21:09:14 +00:00
bug-wfflush.c * libio/bug-wfflush.c (do_test): Call rewind instead of fsetpos. 2002-11-11 06:55:22 +00:00
bug-wmemstream1.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
bug-wsetpos.c Fix fsetpos on wide stream. 2009-09-02 19:45:33 -07:00
clearerr_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
clearerr.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Depend New file, libio needs localedata for tests. 2000-07-29 07:57:34 +00:00
fcloseall.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
feof_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
feof.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ferror_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ferror.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
filedoalloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fileno.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fileops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fmemopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputwc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fputwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
freopen64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
freopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fseek.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fseeko64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fseeko.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftello64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ftello.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fwide.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fwprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
fwscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
genops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getwchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofdopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofflush_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofflush.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgets_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgets.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetws_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofgetws.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofopen64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofopncook.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputs_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputws_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofputws.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofread_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofread.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofsetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofsetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioftell.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofwide.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofwrite_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iofwrite.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogetdelim.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogetline.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogets.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iogetwline.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iolibio.h Deprecate external use of libio.h and _G_config.h. 2017-12-24 09:03:28 -08:00
iopadn.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iopopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioputs.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioseekoff.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioseekpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iosetbuffer.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iosetvbuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioungetc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioungetwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovdprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovsprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovsscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iovswscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
iowpadn.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libc_fatal.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libio.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libioP.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Makefile Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
memstream.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
obprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldfileops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldfmemopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofdopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofgetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofgetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofsetpos64.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiofsetpos.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldiopopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldpclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldstdfiles.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
oldtmpfile.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pclose.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
peekc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwc_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwchar_u.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putwchar.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
rewind.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
setbuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
setlinebuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdfiles.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdio.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
stdio.h Remove getc and putc macros from the public stdio.h. 2018-02-05 19:59:03 -05:00
strfile.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
strops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
swprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
swscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-fmemopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-freopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-freopen.sh Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst_getwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst_getwc.input Update. 2000-06-23 06:22:36 +00:00
tst_putwc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst_swprintf.c Fix format strings. 2002-09-30 07:47:16 +00:00
tst_swscanf.c Update. 2001-02-09 17:57:28 +00:00
tst_wprintf2.c Add dependencies on needed locales in each subdir tests (bug 18969) 2015-10-12 15:18:08 +02:00
tst_wprintf.c Update. 2000-06-17 19:22:43 +00:00
tst_wscanf.c Update. 2001-02-09 17:57:28 +00:00
tst_wscanf.input Update. 1999-06-16 22:55:47 +00:00
tst-atime.c Fix libio/tst-atime not to presume ST_NOATIME exists. 2015-02-06 12:24:16 -08:00
tst-bz22415.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-eof.c pdate. 2002-07-23 00:31:41 +00:00
tst-ext2.c * libio/Makefile (tests): Add tst-ext2. 2007-10-13 07:33:09 +00:00
tst-ext.c Update. 2001-03-27 00:16:51 +00:00
tst-fgetwc.c (do_test): Use de_DE.UTF-8 as locale name. 2009-06-15 17:27:48 -07:00
tst-fgetwc.input 2009-02-04 Ulrich Drepper <drepper@redhat.com> 2009-02-04 21:27:48 +00:00
tst-fgetws.c Fix format strings. 2002-09-30 07:47:16 +00:00
tst-fopenloc2.c [BZ #2173] 2006-01-19 01:35:28 +00:00
tst-fopenloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-fputws.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-freopen.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-ftell-active-handler.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-ftell-append.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-ftell-partial-wide.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-fwrite-error.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-memstream1.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-memstream2.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-memstream3.c libio: Rename _FWRITE to FWRITE_FUNC 2018-01-29 23:00:17 +01:00
tst-mmap2-eofsync.c 2016-06-11 Paul Pluzhnikov <ppluzhnikov@google.com> 2016-06-11 14:50:16 -07:00
tst-mmap-eofsync.c * locale/xlocale.h (struct __locale_struct): New member `__names'. 2002-08-30 10:36:44 +00:00
tst-mmap-fflushsync.c * locale/xlocale.h (struct __locale_struct): New member `__names'. 2002-08-30 10:36:44 +00:00
tst-mmap-offend.c * locale/xlocale.h (struct __locale_struct): New member `__names'. 2002-08-30 10:36:44 +00:00
tst-mmap-setvbuf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-popen1.c * sysdeps/unix/sysv/linux/syscalls.list: Add __pipe2 alias. 2008-07-27 18:26:13 +00:00
tst-setvbuf1.c [BZ #2337] 2006-12-13 23:17:54 +00:00
tst-sscanf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-swscanf.c Update. 2002-02-26 18:08:08 +00:00
tst-ungetwc1.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-ungetwc2.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-widetext.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
tst-widetext.input Finish change from “Bengali” to “Bangla” 2017-09-09 12:41:54 +02:00
tst-wmemstream1.c * posix/glob.c (glob_in_dir): Add some comments and asserts to 2006-09-30 15:09:35 +00:00
tst-wmemstream2.c * posix/glob.c (glob_in_dir): Add some comments and asserts to 2006-09-30 15:09:35 +00:00
tst-wmemstream3.c libio: Rename _FWRITE to FWRITE_FUNC 2018-01-29 23:00:17 +01:00
vasprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Versions Single threaded stdio optimization 2017-07-04 16:05:12 +01:00
vscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vsnprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vswprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vtables.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vwprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
vwscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wfiledoalloc.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wfileops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wgenops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wmemstream.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wprintf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wscanf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
wstrops.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00