glibc/libio
Zack Weinberg 7caa5054af Clean up conditionals for declaration of gets.
gets has the dubious honor of being the only C89 library feature that
has been completely removed from the current C and C++ standards.
glibc follows suit by not declaring it in _GNU_SOURCE mode either,
but it remains present in older compatibility modes.  Internally,
two test cases need to see stdio.h make the declaration, but all our
internal code is of course compiled under _GNU_SOURCE.  This is currently
kludged by duplicating the gets declaration, fortify wrapper and all,
in include/stdio.h.  Also, the conditional in the public headers for
deciding when to declare gets is complicated and repeated in two places.

This patch adds a new macro to features.h that encapsulates the
complicated rule for when to declare gets.  stdio.h and bits/stdio2.h
then simply test __GLIBC_USE (DEPRECATED_GETS), and instead of having
a duplicate gets declaration in include/stdio.h, debug/tst-chk1.c and
stdio-common/tst-gets.c can force gets to be declared.

        * include/features.h (__GLIBC_USE_DEPRECATED_GETS): New macro.
        * libio/stdio.h, libio/bits/stdio2.h: Condition gets on
        __GLIBC_USE (DEPRECATED_GETS).  Update comments to indicate
        gets was removed from C++ in C++14.
        * include/stdio.h: Remove redundant declaration of gets.
        * debug/tst-chk1.c, stdio-common/tst-gets.c: Force gets to
        be declared, since we are testing it.
        * stdio-common/Makefile (tst-gets.c): Compile with
        -Wno-deprecated-declarations.
	* debug/Makefile (tst-chk1.c, tst-chk2.c, tst-chk3.c, tst-chk4.cc)
	(tst-chk5.cc, tst-chk6.cc, tst-lfschk1.c, tst-lfschk2.c)
	(tst-lfschk3.c, tst-lfschk4.cc, tst-lfschk5.cc, tst-lfschk6.cc):
	Compile with -Wno-deprecated-declarations.
2017-02-25 09:47:51 -05:00
..
bits Clean up conditionals for declaration of gets. 2017-02-25 09:47:51 -05:00
__fbufsize.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__flbf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__fpending.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__fpurge.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__freadable.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__freading.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__fsetlocking.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__fwritable.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
__fwriting.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +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. 2017-01-01 00:14:16 +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. 2017-01-01 00:14:16 +00:00
clearerr.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +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. 2017-01-01 00:14:16 +00:00
feof_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
feof.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ferror_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ferror.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
filedoalloc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fileno.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fileops.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fmemopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fputc_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fputc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fputwc_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fputwc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
freopen64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
freopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fseek.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fseeko64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fseeko.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ftello64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ftello.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fwide.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fwprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fwscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
genops.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getc_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getchar_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getchar.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getwc_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getwc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getwchar_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getwchar.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofclose.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofdopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofflush_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofflush.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofgetpos64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofgetpos.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofgets_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofgets.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofgetws_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofgetws.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofopen64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofopncook.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofputs_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofputs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofputws_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofputws.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofread_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofread.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofsetpos64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofsetpos.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ioftell.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofwide.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofwrite_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iofwrite.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iogetdelim.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iogetline.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iogets.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iogetwline.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iolibio.h Remove use of INTDEF/INTUSE in libio 2012-05-24 23:06:20 +02:00
iopadn.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iopopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ioputs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ioseekoff.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ioseekpos.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iosetbuffer.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iosetvbuf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ioungetc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ioungetwc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iovdprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iovsprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iovsscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iovswscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
iowpadn.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
libc_fatal.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
libio.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
libioP.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makefile Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
memstream.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
obprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldfileops.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldfmemopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldiofclose.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldiofdopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldiofgetpos64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldiofgetpos.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldiofopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldiofsetpos64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldiofsetpos.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldiopopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldpclose.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldstdfiles.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
oldtmpfile.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
pclose.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
peekc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
putc_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
putc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
putchar_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
putchar.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
putwc_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
putwc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
putwchar_u.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
putwchar.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rewind.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
setbuf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
setlinebuf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stdfiles.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stdio.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stdio.h Clean up conditionals for declaration of gets. 2017-02-25 09:47:51 -05:00
strfile.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
strops.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
swprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
swscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-fmemopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-freopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-freopen.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst_getwc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst_getwc.input Update. 2000-06-23 06:22:36 +00:00
tst_putwc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +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-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. 2017-01-01 00:14:16 +00:00
tst-fputws.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-freopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-ftell-active-handler.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-ftell-append.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-ftell-partial-wide.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-fwrite-error.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05: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 Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05: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. 2017-01-01 00:14:16 +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. 2017-01-01 00:14:16 +00:00
tst-widetext.input Rename Oriya locale to Odia (bug 15601) 2013-11-20 17:47:41 +05:30
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 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
vasprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Versions libio: fmemopen rewrite to POSIX compliance 2015-07-08 12:07:21 -03:00
vscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
vsnprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
vswprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
vtables.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
vwprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
vwscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wfiledoalloc.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wfileops.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wgenops.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wmemstream.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wstrops.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00