glibc/stdio-common
Gabriel F. T. Gomes aab0f374e7 Remove duplicated code from __printf_fp_l, __printf_fphex, and __printf_size
In __printf_fp_l, __printf_fphex, and __printf_size the blocks of code that are
used to read a double or long double argument, check for special values and
convert to multiprecision are similar.  When adding float128 support to libc,
more code would be duplicated to deal with the extra type.  This patch moves
the repetitive code to a macro which is now used by double and long double and
will be used for float128 when support is added, thus avoiding more
duplication.

Tested for powerpc64le and s390x.

	* stdio-common/printf_fp.c (PRINTF_FP_FETCH): New macro.
	(__printf_fp_l): Use the new macro to avoid duplicating code.
	* stdio-common/printf_fphex.c (PRINTF_FPHEX_FETCH): New macro.
	(__printf_fphex): Use the new macro to avoid duplicating code.
	* stdio-common/printf_size.c (PRINTF_SIZE_FETCH): New macro.
	(__printf_size): Use the new macro to avoid duplicating code.
2017-06-07 17:04:58 -03: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
bug17.c
bug18.c
bug18a.c
bug19.c
bug19a.c
bug20.c
bug21.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
bug22.c
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
bug24.c
bug25.c Another round of inclusion fixes for _ISOMAC testsuite. 2017-03-22 08:44:32 -04: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 getopt: clean up error reporting 2017-04-07 07:48:57 -04: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 Remove duplicated code from __printf_fp_l, __printf_fphex, and __printf_size 2017-06-07 17:04:58 -03:00
printf_fphex.c Remove duplicated code from __printf_fp_l, __printf_fphex, and __printf_size 2017-06-07 17:04:58 -03:00
printf_size.c Remove duplicated code from __printf_fp_l, __printf_fphex, and __printf_size 2017-06-07 17:04:58 -03: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
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 Change the order of function attributes in printf.h 2017-03-23 15:48:59 -03:00
psiginfo-data.h
psiginfo-define.h
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 Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
scanf5.c
scanf7.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05: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
scanf14.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
scanf15.c Don't include <bits/stdio-lock.h> from installed <libio.h>. 2015-09-03 20:24:54 +00:00
scanf16.c
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 Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
tfformat.c
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
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
tst-fseek.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-fwrite.c
tst-gets.c Clean up conditionals for declaration of gets. 2017-02-25 09:47:51 -05:00
tst-gets.input
tst-grouping.c
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
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 Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
tst-printf.sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
tst-printfsz.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05: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
tst-setvbuf1.expect
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 Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05: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
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 Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05: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 Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05: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 vfprintf.c: Refactor magic number 32 into EXTSIZ. 2017-05-08 16:13:16 -04:00
vfscanf.c Narrowing the visibility of libc-internal.h even further. 2017-03-01 20:33:46 -05: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