Do not hardcode list of libm functions in libm-err-tab.pl.
commit2b7dc4c868553db14f439ee4b49873f6ca3ef71f
authorJoseph Myers <joseph@codesourcery.com>
Mon, 6 Feb 2017 17:55:59 +0000 (6 17:55 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 6 Feb 2017 17:55:59 +0000 (6 17:55 +0000)
tree60fe632bd22b5b5927421c6dea2a08ed6659cce0
parent95b2e07fafddc57d818dd408e5ab1e0eb26cd9f1
Do not hardcode list of libm functions in libm-err-tab.pl.

manual/libm-err-tab.pl contains a hardcoded list of libm functions for
which ulps are listed in the manual, and another hardcoded list in a
comment of functions deliberately excluded because of an expected lack
of ulps (and the two together are not in fact an exhaustive list of
libm functions tested through the libm-test machinery).

This patch removes these hardcoded lists, so eliminating this from the
places needing updating when a new libm function is added.  Instead,
ulps are tabulated for functions for which they are seen in
libm-test-ulps files, in alphabetical order.  The pseudo-function
names such as *_downward and *_vlen* are excluded since they are
excluded from the existing lists, and the description in the manual is
updated to explain how those entries are excluded and if a function is
not listed at all it does not have known errors.

Tested for x86_64.

* manual/libm-err-tab.pl (@all_functions): Change to
%all_functions.  Initialize as empty.
(parse_ulps): Add to %all_functions based on functions found in
ulps files.  Ignore results for non-default rounding modes and
vector functions.
(print_platforms): Use %all_platforms.
* manual/math.texi (Errors in Math Functions): Document omissions
from the table.
ChangeLog
manual/libm-err-tab.pl
manual/math.texi