glibc/stdio-common
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 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
_i18n_number.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
_itoa.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
_itowa.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
_itowa.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
asprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
bug1.c
bug1.input
bug2.c
bug3.c
bug4.c
bug5.c
bug6.c
bug6.input
bug7.c
bug8.c
bug9.c
bug10.c
bug11.c
bug12.c
bug13.c
bug14.c
bug16.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
bug17.c [BZ #3902] 2007-01-22 16:18:03 +00:00
bug18.c * libio/wstrops.c (_IO_wstr_underflow): Clear errno before 2007-07-07 21:38:43 +00:00
bug18a.c * libio/wstrops.c (_IO_wstr_underflow): Clear errno before 2007-07-07 21:38:43 +00:00
bug19.c * stdio-common/vfscanf.c (_IO_vfscanf): Add additional test for EOF 2007-07-08 04:41:34 +00:00
bug19a.c * stdio-common/vfscanf.c (_IO_vfscanf): Add additional test for EOF 2007-07-08 04:41:34 +00:00
bug20.c * stdio-common/Makefile (tests): Add bug20. 2007-10-28 16:45:27 +00:00
bug21.c Add macros for diagnostic control, use for scanf %a tests. 2014-12-10 00:41:19 +00:00
bug22.c Bump up stdio bug22 timeout from 30 seconds to 60 seconds 2012-05-17 12:59:08 -04:00
bug23-2.c CVE-2012-3406: Stack overflow in vfprintf [BZ #16617] 2014-12-15 10:09:33 +01:00
bug23-3.c CVE-2012-3406: Stack overflow in vfprintf [BZ #16617] 2014-12-15 10:09:33 +01:00
bug23-4.c CVE-2012-3406: Stack overflow in vfprintf [BZ #16617] 2014-12-15 10:09:33 +01:00
bug23.c Fix allocation when handling positional parameters in printf. 2011-02-20 07:59:49 -05:00
bug24.c Add test for BZ 13114 2011-08-20 09:22:16 -04:00
bug25.c 2012-05-24 Jeff Law <law@redhat.com> 2012-05-24 21:30:43 -06:00
bug26.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
bug-vfprintf-nargs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ctermid.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
cuserid.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Depend
dprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
errlist.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
errnobug.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
flockfile.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ftrylockfile.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
funlockfile.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
fxprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getline.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getw.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_fscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_scanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_sscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_vfscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_vscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
isoc99_vsscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
itoa-digits.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
itoa-udigits.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
itowa-digits.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Makefile Clean up conditionals for declaration of gets. 2017-02-25 09:47:51 -05:00
perror.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
printf_fp.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
printf_fphex.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
printf_size.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
printf-parse.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
printf-parsemb.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
printf-parsewc.c Update. 2003-06-11 23:22:36 +00:00
printf-prs.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
printf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
printf.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
psiginfo-data.h Fix typos. 2013-10-12 14:47:50 +02:00
psiginfo-define.h * locale/langinfo.h: nl_langinfo_l is in POSIX 2008. 2009-02-26 06:18:24 +00:00
psiginfo.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
psignal.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
putw.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
reg-modifier.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
reg-printf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
reg-type.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
remove.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
rename.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
renameat.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
scanf1.c
scanf2.c
scanf3.c
scanf4.c Eliminate -Wno-format from printf/scanf tests. 2014-12-11 13:47:44 -08:00
scanf5.c
scanf7.c Eliminate -Wno-format from printf/scanf tests. 2014-12-11 13:47:44 -08:00
scanf8.c
scanf9.c
scanf10.c
scanf11.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
scanf12.c
scanf12.input
scanf13.c Avoid warning in scanf test. 2009-10-30 09:23:24 -07:00
scanf14.c Add macros for diagnostic control, use for scanf %a tests. 2014-12-10 00:41:19 +00:00
scanf15.c Don't include <bits/stdio-lock.h> from installed <libio.h>. 2015-09-03 20:24:54 +00:00
scanf16.c * libio/stdio.h (vscanf): Fix -std=c99 redirect. 2008-05-24 18:14:36 +00:00
scanf17.c Don't include <bits/stdio-lock.h> from installed <libio.h>. 2015-09-03 20:24:54 +00:00
scanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
siglist.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
snprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stdio_ext.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stdio_lim.h.in Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tempnam.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tempname.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
temptest.c
test_rdwr.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-fseek.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-fwrite.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
test-popen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
test-vfprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tfformat.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
tiformat.c
tllformat.c
tmpfile64.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tmpfile.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tmpnam_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tmpnam.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-cookie.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-fdopen.c
tst-ferror.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
tst-ferror.input
tst-fgets.c * posix/tst-execle1.c (do_test): Add a const. 2005-12-27 22:50:12 +00:00
tst-fileno.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-fmemopen2.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-fmemopen3.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-fmemopen4.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-fmemopen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-fphex-wide.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-fphex.c Clean up tst-fphex test 2012-03-08 03:02:24 -05:00
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-fwrite.c [BZ #1078] 2005-09-27 19:40:49 +00:00
tst-gets.c Clean up conditionals for declaration of gets. 2017-02-25 09:47:51 -05:00
tst-gets.input
tst-grouping.c Fix grouping when rounding increases number of integer digits. 2011-01-12 20:37:51 -05:00
tst-long-dbl-fphex.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-obprintf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-perror.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-popen2.c * libio/iopopen.c (_IO_new_proc_open): Don't close child_std_end 2007-07-19 17:03:08 +00:00
tst-popen.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-printf-bz18872.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-printf-round.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-printf.c Fix testsuite build for GCC 7 -Wformat-truncation. 2017-01-11 14:02:23 +00:00
tst-printf.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-printfsz.c Modify several tests to use test-skeleton.c 2015-08-06 02:59:04 -04:00
tst-put-error.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-rndseek.c
tst-setvbuf1.c * stdio-common/Makefile: Add rules to build and run tst-setvbuf1. 2008-07-08 16:32:55 +00:00
tst-setvbuf1.expect * stdio-common/Makefile: Add rules to build and run tst-setvbuf1. 2008-07-08 16:32:55 +00:00
tst-sprintf2.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-sprintf3.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-sprintf.c stdio-common: Include <libc-internal.h> in some tests 2014-12-15 11:29:09 -06:00
tst-sscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-swprintf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-swscanf.c * stdio-common/Makefile (tests): Add tst-swscanf. 2007-02-18 09:21:24 +00:00
tst-tmpnam.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-unbputc.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-unbputc.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-ungetc.c
tst-unlockedio.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-vfprintf-width-prec.c Add missing header files throughout the testsuite. 2017-02-16 17:33:18 -05:00
tst-wc-printf.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tstdiomisc.c Fix testsuite build for GCC 7 -Wformat-truncation. 2017-01-11 14:02:23 +00:00
tstgetln.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tstgetln.input
tstscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tstscanf.input
Versions Fix crypt snprintf namespace (bug 20829). 2016-11-16 22:46:48 +00:00
vfprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
vfscanf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
vfwprintf.c
vfwscanf.c
vprintf.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
xbug.c Convert 703 function definitions to prototype style. 2015-10-16 20:21:49 +00:00