Commit 5d6d1f9
committed
libstdc++: Allow C99 long double math functions to be optional
The C99 math functions in the <cmath> header file are declared if and
only if the `_GLIBCXX_USE_C99_MATH_TR1` is defined, whose autoconf
check, `glibcxx_cv_c99_math_tr1`, requires all C99 math functions,
including the `long double` math functions, to be available.
Some C library implementations (for instance, newlib) may omit the C99
long double math function support when the type of `long double` is
different from the type of `double` and, in such cases, the <cmath>
header file ends up omitting the entirety of the C99 math functions.
This commit reworks the `glibcxx_cv_c99_math_tr1` check such that it
only tests the non-`long double` math functions, and adds a new check,
`glibcxx_cv_c99_math_long_double`, that tests the `long double` math
functions and defines `_GLIBCXX_USE_C99_MATH_LONG_DOUBLE_FUNCS` when
these functions are available; which is then used by the <cmath> header
file to conditionally import the C99 `long double` math functions,
effectively making the C99 long double math function support in <cmath>
an optional feature.
libstdc++-v3/ChangeLog:
* acinclude.m4 (_GLIBCXX_USE_C99_MATH_LONG_DOUBLE_FUNCS): New macro.
(_GLIBCXX_USE_C99_MATH_TR1): Remove long double function tests.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/c_global/cmath: Use _GLIBCXX_USE_C99_MATH_LONG_DOUBLE_FUNCS.
* include/tr1/cmath: Likewise.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Upstream-Status: Inappropriate [non-standard]1 parent ebc0b98 commit 5d6d1f9
File tree
5 files changed
+206
-148
lines changed- libstdc++-v3
- include
- c_global
- tr1
5 files changed
+206
-148
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1819 | 1819 | | |
1820 | 1820 | | |
1821 | 1821 | | |
1822 | | - | |
1823 | 1822 | | |
1824 | 1823 | | |
1825 | | - | |
1826 | 1824 | | |
1827 | 1825 | | |
1828 | | - | |
1829 | 1826 | | |
1830 | 1827 | | |
1831 | | - | |
1832 | 1828 | | |
1833 | 1829 | | |
1834 | | - | |
1835 | 1830 | | |
1836 | 1831 | | |
1837 | | - | |
1838 | 1832 | | |
1839 | 1833 | | |
1840 | | - | |
1841 | 1834 | | |
1842 | 1835 | | |
1843 | | - | |
1844 | 1836 | | |
1845 | 1837 | | |
1846 | | - | |
1847 | 1838 | | |
1848 | 1839 | | |
1849 | | - | |
1850 | 1840 | | |
1851 | 1841 | | |
1852 | | - | |
1853 | 1842 | | |
1854 | 1843 | | |
1855 | | - | |
1856 | 1844 | | |
1857 | 1845 | | |
1858 | | - | |
1859 | 1846 | | |
1860 | 1847 | | |
1861 | | - | |
1862 | 1848 | | |
1863 | 1849 | | |
1864 | | - | |
1865 | 1850 | | |
1866 | 1851 | | |
1867 | | - | |
1868 | 1852 | | |
1869 | 1853 | | |
1870 | 1854 | | |
1871 | | - | |
1872 | 1855 | | |
1873 | 1856 | | |
1874 | | - | |
1875 | 1857 | | |
1876 | 1858 | | |
1877 | 1859 | | |
1878 | | - | |
1879 | 1860 | | |
1880 | 1861 | | |
1881 | | - | |
1882 | 1862 | | |
1883 | 1863 | | |
1884 | | - | |
1885 | 1864 | | |
1886 | 1865 | | |
1887 | | - | |
1888 | 1866 | | |
1889 | 1867 | | |
1890 | | - | |
1891 | 1868 | | |
1892 | 1869 | | |
1893 | | - | |
1894 | 1870 | | |
1895 | 1871 | | |
1896 | | - | |
1897 | 1872 | | |
1898 | 1873 | | |
1899 | | - | |
1900 | | - | |
1901 | | - | |
1902 | | - | |
1903 | 1874 | | |
1904 | 1875 | | |
1905 | | - | |
1906 | 1876 | | |
1907 | 1877 | | |
1908 | | - | |
1909 | 1878 | | |
1910 | 1879 | | |
1911 | | - | |
1912 | 1880 | | |
1913 | 1881 | | |
1914 | | - | |
1915 | 1882 | | |
1916 | 1883 | | |
1917 | | - | |
1918 | 1884 | | |
1919 | 1885 | | |
1920 | | - | |
1921 | 1886 | | |
1922 | 1887 | | |
1923 | | - | |
1924 | 1888 | | |
1925 | 1889 | | |
1926 | | - | |
1927 | 1890 | | |
1928 | 1891 | | |
1929 | 1892 | | |
1930 | 1893 | | |
1931 | 1894 | | |
1932 | 1895 | | |
1933 | 1896 | | |
| 1897 | + | |
| 1898 | + | |
| 1899 | + | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
| 1915 | + | |
| 1916 | + | |
| 1917 | + | |
| 1918 | + | |
| 1919 | + | |
| 1920 | + | |
| 1921 | + | |
| 1922 | + | |
| 1923 | + | |
| 1924 | + | |
| 1925 | + | |
| 1926 | + | |
| 1927 | + | |
| 1928 | + | |
| 1929 | + | |
| 1930 | + | |
| 1931 | + | |
| 1932 | + | |
| 1933 | + | |
| 1934 | + | |
| 1935 | + | |
| 1936 | + | |
| 1937 | + | |
| 1938 | + | |
| 1939 | + | |
| 1940 | + | |
| 1941 | + | |
| 1942 | + | |
| 1943 | + | |
| 1944 | + | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
1934 | 1948 | | |
1935 | 1949 | | |
1936 | 1950 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
925 | 925 | | |
926 | 926 | | |
927 | 927 | | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
928 | 931 | | |
929 | 932 | | |
930 | 933 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20001 | 20001 | | |
20002 | 20002 | | |
20003 | 20003 | | |
20004 | | - | |
20005 | 20004 | | |
20006 | 20005 | | |
20007 | | - | |
20008 | 20006 | | |
20009 | 20007 | | |
20010 | | - | |
20011 | 20008 | | |
20012 | 20009 | | |
20013 | | - | |
20014 | 20010 | | |
20015 | 20011 | | |
20016 | | - | |
20017 | 20012 | | |
20018 | 20013 | | |
20019 | | - | |
20020 | 20014 | | |
20021 | 20015 | | |
20022 | | - | |
20023 | 20016 | | |
20024 | 20017 | | |
20025 | | - | |
20026 | 20018 | | |
20027 | 20019 | | |
20028 | | - | |
20029 | 20020 | | |
20030 | 20021 | | |
20031 | | - | |
20032 | 20022 | | |
20033 | 20023 | | |
20034 | | - | |
20035 | 20024 | | |
20036 | 20025 | | |
20037 | | - | |
20038 | 20026 | | |
20039 | 20027 | | |
20040 | | - | |
20041 | 20028 | | |
20042 | 20029 | | |
20043 | | - | |
20044 | 20030 | | |
20045 | 20031 | | |
20046 | | - | |
20047 | 20032 | | |
20048 | 20033 | | |
20049 | | - | |
20050 | 20034 | | |
20051 | 20035 | | |
20052 | 20036 | | |
20053 | | - | |
20054 | 20037 | | |
20055 | 20038 | | |
20056 | | - | |
20057 | 20039 | | |
20058 | 20040 | | |
20059 | 20041 | | |
20060 | | - | |
20061 | 20042 | | |
20062 | 20043 | | |
20063 | | - | |
20064 | 20044 | | |
20065 | 20045 | | |
20066 | | - | |
20067 | 20046 | | |
20068 | 20047 | | |
20069 | | - | |
20070 | 20048 | | |
20071 | 20049 | | |
20072 | | - | |
20073 | 20050 | | |
20074 | 20051 | | |
20075 | | - | |
20076 | 20052 | | |
20077 | 20053 | | |
20078 | | - | |
20079 | 20054 | | |
20080 | 20055 | | |
20081 | | - | |
20082 | | - | |
20083 | | - | |
20084 | | - | |
20085 | 20056 | | |
20086 | 20057 | | |
20087 | | - | |
20088 | 20058 | | |
20089 | 20059 | | |
20090 | | - | |
20091 | 20060 | | |
20092 | 20061 | | |
20093 | | - | |
20094 | 20062 | | |
20095 | 20063 | | |
20096 | | - | |
20097 | 20064 | | |
20098 | 20065 | | |
20099 | | - | |
20100 | 20066 | | |
20101 | 20067 | | |
20102 | | - | |
20103 | 20068 | | |
20104 | 20069 | | |
20105 | | - | |
20106 | 20070 | | |
20107 | 20071 | | |
20108 | | - | |
20109 | 20072 | | |
20110 | 20073 | | |
20111 | 20074 | | |
| |||
20126 | 20089 | | |
20127 | 20090 | | |
20128 | 20091 | | |
| 20092 | + | |
| 20093 | + | |
| 20094 | + | |
| 20095 | + | |
| 20096 | + | |
| 20097 | + | |
| 20098 | + | |
| 20099 | + | |
| 20100 | + | |
| 20101 | + | |
| 20102 | + | |
| 20103 | + | |
| 20104 | + | |
| 20105 | + | |
| 20106 | + | |
| 20107 | + | |
| 20108 | + | |
| 20109 | + | |
| 20110 | + | |
| 20111 | + | |
| 20112 | + | |
| 20113 | + | |
| 20114 | + | |
| 20115 | + | |
| 20116 | + | |
| 20117 | + | |
| 20118 | + | |
| 20119 | + | |
| 20120 | + | |
| 20121 | + | |
| 20122 | + | |
| 20123 | + | |
| 20124 | + | |
| 20125 | + | |
| 20126 | + | |
| 20127 | + | |
| 20128 | + | |
| 20129 | + | |
| 20130 | + | |
| 20131 | + | |
| 20132 | + | |
| 20133 | + | |
| 20134 | + | |
| 20135 | + | |
| 20136 | + | |
| 20137 | + | |
| 20138 | + | |
| 20139 | + | |
| 20140 | + | |
| 20141 | + | |
| 20142 | + | |
| 20143 | + | |
| 20144 | + | |
| 20145 | + | |
| 20146 | + | |
| 20147 | + | |
| 20148 | + | |
| 20149 | + | |
| 20150 | + | |
| 20151 | + | |
| 20152 | + | |
| 20153 | + | |
| 20154 | + | |
| 20155 | + | |
| 20156 | + | |
| 20157 | + | |
| 20158 | + | |
| 20159 | + | |
| 20160 | + | |
| 20161 | + | |
| 20162 | + | |
| 20163 | + | |
20129 | 20164 | | |
20130 | 20165 | | |
20131 | 20166 | | |
| |||
0 commit comments