From 85740d3cc56fda699beae689b5d73233d16097af Mon Sep 17 00:00:00 2001 From: bule Date: Thu, 8 Jul 2021 11:52:47 +0800 Subject: [PATCH 01/13] [libquadmath] Enable libquadmath on kunpeng This enable libquadmath on kunpeng platform to convenient users that migrating from x86 platform. libquadmath uses "__float128" as quad precision floating point type and with math functions with "q" suffix like "cosq". For those who do not need to adapt to x86 platform, you can use "long double" as quad precision floating point type and math functions with "l" suffix like "cosl" in libm for quad precision math. diff --git a/libquadmath/Makefile.in b/libquadmath/Makefile.in index 8c011212258..66df9c922f8 100644 --- a/libquadmath/Makefile.in +++ b/libquadmath/Makefile.in @@ -90,7 +90,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -@BUILD_LIBQUADMATH_FALSE@libquadmath_la_DEPENDENCIES = +#libquadmath_la_DEPENDENCIES = subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ @@ -147,68 +147,68 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" \ "$(DESTDIR)$(libsubincludedir)" LTLIBRARIES = $(toolexeclib_LTLIBRARIES) am__dirstamp = $(am__leading_dot)dirstamp -@BUILD_LIBQUADMATH_TRUE@am_libquadmath_la_OBJECTS = math/x2y2m1q.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/acoshq.lo math/fmodq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/acosq.lo math/frexpq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/rem_pio2q.lo math/asinhq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/hypotq.lo math/remainderq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/asinq.lo math/rintq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/atan2q.lo math/isinfq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/roundq.lo math/atanhq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/isnanq.lo math/scalblnq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/atanq.lo math/j0q.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/scalbnq.lo math/cbrtq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/j1q.lo math/signbitq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/ceilq.lo math/jnq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/sincos_table.lo math/complex.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/ldexpq.lo math/sincosq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/copysignq.lo math/lgammaq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/sincosq_kernel.lo math/coshq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/llroundq.lo math/sinhq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/cosq.lo math/log10q.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/sinq.lo math/cosq_kernel.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/log1pq.lo math/sinq_kernel.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/erfq.lo math/logq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/sqrtq.lo math/expm1q.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/lroundq.lo math/tanhq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/expq.lo math/modfq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/tanq.lo math/fabsq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/nanq.lo math/tgammaq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/finiteq.lo math/nextafterq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/truncq.lo math/floorq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/powq.lo math/fmaq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/logbq.lo math/exp2q.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/issignalingq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/lgammaq_neg.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/lgammaq_product.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/tanq_kernel.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/tgammaq_product.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/casinhq_kernel.lo math/cacoshq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/cacosq.lo math/casinhq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/casinq.lo math/catanhq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/catanq.lo math/cimagq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/conjq.lo math/cprojq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/crealq.lo math/fdimq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/fmaxq.lo math/fminq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/ilogbq.lo math/llrintq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/log2q.lo math/lrintq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/nearbyintq.lo math/remquoq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/ccoshq.lo math/cexpq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/clog10q.lo math/clogq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/csinq.lo math/csinhq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/csqrtq.lo math/ctanq.lo \ -@BUILD_LIBQUADMATH_TRUE@ math/ctanhq.lo printf/addmul_1.lo \ -@BUILD_LIBQUADMATH_TRUE@ printf/add_n.lo printf/cmp.lo \ -@BUILD_LIBQUADMATH_TRUE@ printf/divrem.lo printf/flt1282mpn.lo \ -@BUILD_LIBQUADMATH_TRUE@ printf/fpioconst.lo printf/lshift.lo \ -@BUILD_LIBQUADMATH_TRUE@ printf/mul_1.lo printf/mul_n.lo \ -@BUILD_LIBQUADMATH_TRUE@ printf/mul.lo printf/printf_fphex.lo \ -@BUILD_LIBQUADMATH_TRUE@ printf/printf_fp.lo \ -@BUILD_LIBQUADMATH_TRUE@ printf/quadmath-printf.lo \ -@BUILD_LIBQUADMATH_TRUE@ printf/rshift.lo printf/submul_1.lo \ -@BUILD_LIBQUADMATH_TRUE@ printf/sub_n.lo strtod/strtoflt128.lo \ -@BUILD_LIBQUADMATH_TRUE@ strtod/mpn2flt128.lo \ -@BUILD_LIBQUADMATH_TRUE@ strtod/tens_in_limb.lo +am_libquadmath_la_OBJECTS = math/x2y2m1q.lo \ + math/acoshq.lo math/fmodq.lo \ + math/acosq.lo math/frexpq.lo \ + math/rem_pio2q.lo math/asinhq.lo \ + math/hypotq.lo math/remainderq.lo \ + math/asinq.lo math/rintq.lo \ + math/atan2q.lo math/isinfq.lo \ + math/roundq.lo math/atanhq.lo \ + math/isnanq.lo math/scalblnq.lo \ + math/atanq.lo math/j0q.lo \ + math/scalbnq.lo math/cbrtq.lo \ + math/j1q.lo math/signbitq.lo \ + math/ceilq.lo math/jnq.lo \ + math/sincos_table.lo math/complex.lo \ + math/ldexpq.lo math/sincosq.lo \ + math/copysignq.lo math/lgammaq.lo \ + math/sincosq_kernel.lo math/coshq.lo \ + math/llroundq.lo math/sinhq.lo \ + math/cosq.lo math/log10q.lo \ + math/sinq.lo math/cosq_kernel.lo \ + math/log1pq.lo math/sinq_kernel.lo \ + math/erfq.lo math/logq.lo \ + math/sqrtq.lo math/expm1q.lo \ + math/lroundq.lo math/tanhq.lo \ + math/expq.lo math/modfq.lo \ + math/tanq.lo math/fabsq.lo \ + math/nanq.lo math/tgammaq.lo \ + math/finiteq.lo math/nextafterq.lo \ + math/truncq.lo math/floorq.lo \ + math/powq.lo math/fmaq.lo \ + math/logbq.lo math/exp2q.lo \ + math/issignalingq.lo \ + math/lgammaq_neg.lo \ + math/lgammaq_product.lo \ + math/tanq_kernel.lo \ + math/tgammaq_product.lo \ + math/casinhq_kernel.lo math/cacoshq.lo \ + math/cacosq.lo math/casinhq.lo \ + math/casinq.lo math/catanhq.lo \ + math/catanq.lo math/cimagq.lo \ + math/conjq.lo math/cprojq.lo \ + math/crealq.lo math/fdimq.lo \ + math/fmaxq.lo math/fminq.lo \ + math/ilogbq.lo math/llrintq.lo \ + math/log2q.lo math/lrintq.lo \ + math/nearbyintq.lo math/remquoq.lo \ + math/ccoshq.lo math/cexpq.lo \ + math/clog10q.lo math/clogq.lo \ + math/csinq.lo math/csinhq.lo \ + math/csqrtq.lo math/ctanq.lo \ + math/ctanhq.lo printf/addmul_1.lo \ + printf/add_n.lo printf/cmp.lo \ + printf/divrem.lo printf/flt1282mpn.lo \ + printf/fpioconst.lo printf/lshift.lo \ + printf/mul_1.lo printf/mul_n.lo \ + printf/mul.lo printf/printf_fphex.lo \ + printf/printf_fp.lo \ + printf/quadmath-printf.lo \ + printf/rshift.lo printf/submul_1.lo \ + printf/sub_n.lo strtod/strtoflt128.lo \ + strtod/mpn2flt128.lo \ + strtod/tens_in_limb.lo libquadmath_la_OBJECTS = $(am_libquadmath_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -218,8 +218,8 @@ libquadmath_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(libquadmath_la_LDFLAGS) $(LDFLAGS) -o \ $@ -@BUILD_LIBQUADMATH_TRUE@am_libquadmath_la_rpath = -rpath \ -@BUILD_LIBQUADMATH_TRUE@ $(toolexeclibdir) +am_libquadmath_la_rpath = -rpath \ + $(toolexeclibdir) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -337,7 +337,7 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ +DEFS = @DEFS@ -D__float128="long double" DEPDIR = @DEPDIR@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ @@ -409,7 +409,7 @@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ -enable_shared = @enable_shared@ +enable_shared = yes enable_static = @enable_static@ exec_prefix = @exec_prefix@ get_gcc_base_ver = @get_gcc_base_ver@ @@ -451,109 +451,109 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign info-in-builddir -@BUILD_LIBQUADMATH_TRUE@ACLOCAL_AMFLAGS = -I .. -I ../config -@BUILD_LIBQUADMATH_TRUE@AM_CPPFLAGS = -I $(top_srcdir)/../include -@BUILD_LIBQUADMATH_TRUE@AM_CFLAGS = $(XCFLAGS) -@BUILD_LIBQUADMATH_TRUE@gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_FALSE@version_arg = -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_GNU_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_arg = -Wl,--version-script=$(srcdir)/quadmath.map -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_arg = -Wl,-M,quadmath.map-sun -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_FALSE@version_dep = -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_GNU_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = $(srcdir)/quadmath.map -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = quadmath.map-sun -@BUILD_LIBQUADMATH_TRUE@toolexeclib_LTLIBRARIES = libquadmath.la -@BUILD_LIBQUADMATH_TRUE@libquadmath_la_LIBADD = -@BUILD_LIBQUADMATH_TRUE@libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ -@BUILD_LIBQUADMATH_TRUE@ $(version_arg) $(lt_host_flags) -lm - -@BUILD_LIBQUADMATH_TRUE@libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD) -@BUILD_LIBQUADMATH_TRUE@nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h -@BUILD_LIBQUADMATH_TRUE@libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include -@BUILD_LIBQUADMATH_TRUE@libquadmath_la_SOURCES = \ -@BUILD_LIBQUADMATH_TRUE@ math/x2y2m1q.c math/acoshq.c math/fmodq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/acosq.c math/frexpq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/rem_pio2q.c math/asinhq.c math/hypotq.c math/remainderq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/asinq.c math/rintq.c math/atan2q.c math/isinfq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/roundq.c math/atanhq.c math/isnanq.c math/scalblnq.c math/atanq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/j0q.c math/scalbnq.c math/cbrtq.c math/j1q.c math/signbitq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/ceilq.c math/jnq.c math/sincos_table.c math/complex.c math/ldexpq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/sincosq.c math/copysignq.c math/lgammaq.c math/sincosq_kernel.c \ -@BUILD_LIBQUADMATH_TRUE@ math/coshq.c math/llroundq.c math/sinhq.c math/cosq.c math/log10q.c \ -@BUILD_LIBQUADMATH_TRUE@ math/sinq.c math/cosq_kernel.c math/log1pq.c math/sinq_kernel.c \ -@BUILD_LIBQUADMATH_TRUE@ math/erfq.c math/logq.c math/sqrtq.c math/expm1q.c math/lroundq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/tanhq.c math/expq.c math/modfq.c math/tanq.c math/fabsq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/nanq.c math/tgammaq.c math/finiteq.c math/nextafterq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/truncq.c math/floorq.c math/powq.c math/fmaq.c math/logbq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/exp2q.c math/issignalingq.c math/lgammaq_neg.c math/lgammaq_product.c \ -@BUILD_LIBQUADMATH_TRUE@ math/tanq_kernel.c math/tgammaq_product.c math/casinhq_kernel.c \ -@BUILD_LIBQUADMATH_TRUE@ math/cacoshq.c math/cacosq.c math/casinhq.c math/casinq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/catanhq.c math/catanq.c math/cimagq.c math/conjq.c math/cprojq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/crealq.c math/fdimq.c math/fmaxq.c math/fminq.c math/ilogbq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/llrintq.c math/log2q.c math/lrintq.c math/nearbyintq.c math/remquoq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/ccoshq.c math/cexpq.c math/clog10q.c math/clogq.c math/csinq.c \ -@BUILD_LIBQUADMATH_TRUE@ math/csinhq.c math/csqrtq.c math/ctanq.c math/ctanhq.c \ -@BUILD_LIBQUADMATH_TRUE@ printf/addmul_1.c printf/add_n.c printf/cmp.c printf/divrem.c \ -@BUILD_LIBQUADMATH_TRUE@ printf/flt1282mpn.c printf/fpioconst.c printf/lshift.c printf/mul_1.c \ -@BUILD_LIBQUADMATH_TRUE@ printf/mul_n.c printf/mul.c printf/printf_fphex.c printf/printf_fp.c \ -@BUILD_LIBQUADMATH_TRUE@ printf/quadmath-printf.c printf/rshift.c printf/submul_1.c printf/sub_n.c \ -@BUILD_LIBQUADMATH_TRUE@ strtod/strtoflt128.c strtod/mpn2flt128.c strtod/tens_in_limb.c +ACLOCAL_AMFLAGS = -I .. -I ../config +AM_CPPFLAGS = -I $(top_srcdir)/../include +AM_CFLAGS = $(XCFLAGS) +gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER) +@LIBQUAD_USE_SYMVER_FALSE@version_arg = +@LIBQUAD_USE_SYMVER_GNU_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_arg = -Wl,--version-script=$(srcdir)/quadmath.map +@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_arg = -Wl,-M,quadmath.map-sun +@LIBQUAD_USE_SYMVER_FALSE@version_dep = +@LIBQUAD_USE_SYMVER_GNU_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = $(srcdir)/quadmath.map +@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@version_dep = quadmath.map-sun +toolexeclib_LTLIBRARIES = libquadmath.la +libquadmath_la_LIBADD = +libquadmath_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` \ + $(version_arg) $(lt_host_flags) -lm + +libquadmath_la_DEPENDENCIES = $(version_dep) $(libquadmath_la_LIBADD) +nodist_libsubinclude_HEADERS = quadmath.h quadmath_weak.h +libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include +libquadmath_la_SOURCES = \ + math/x2y2m1q.c math/acoshq.c math/fmodq.c \ + math/acosq.c math/frexpq.c \ + math/rem_pio2q.c math/asinhq.c math/hypotq.c math/remainderq.c \ + math/asinq.c math/rintq.c math/atan2q.c math/isinfq.c \ + math/roundq.c math/atanhq.c math/isnanq.c math/scalblnq.c math/atanq.c \ + math/j0q.c math/scalbnq.c math/cbrtq.c math/j1q.c math/signbitq.c \ + math/ceilq.c math/jnq.c math/sincos_table.c math/complex.c math/ldexpq.c \ + math/sincosq.c math/copysignq.c math/lgammaq.c math/sincosq_kernel.c \ + math/coshq.c math/llroundq.c math/sinhq.c math/cosq.c math/log10q.c \ + math/sinq.c math/cosq_kernel.c math/log1pq.c math/sinq_kernel.c \ + math/erfq.c math/logq.c math/sqrtq.c math/expm1q.c math/lroundq.c \ + math/tanhq.c math/expq.c math/modfq.c math/tanq.c math/fabsq.c \ + math/nanq.c math/tgammaq.c math/finiteq.c math/nextafterq.c \ + math/truncq.c math/floorq.c math/powq.c math/fmaq.c math/logbq.c \ + math/exp2q.c math/issignalingq.c math/lgammaq_neg.c math/lgammaq_product.c \ + math/tanq_kernel.c math/tgammaq_product.c math/casinhq_kernel.c \ + math/cacoshq.c math/cacosq.c math/casinhq.c math/casinq.c \ + math/catanhq.c math/catanq.c math/cimagq.c math/conjq.c math/cprojq.c \ + math/crealq.c math/fdimq.c math/fmaxq.c math/fminq.c math/ilogbq.c \ + math/llrintq.c math/log2q.c math/lrintq.c math/nearbyintq.c math/remquoq.c \ + math/ccoshq.c math/cexpq.c math/clog10q.c math/clogq.c math/csinq.c \ + math/csinhq.c math/csqrtq.c math/ctanq.c math/ctanhq.c \ + printf/addmul_1.c printf/add_n.c printf/cmp.c printf/divrem.c \ + printf/flt1282mpn.c printf/fpioconst.c printf/lshift.c printf/mul_1.c \ + printf/mul_n.c printf/mul.c printf/printf_fphex.c printf/printf_fp.c \ + printf/quadmath-printf.c printf/rshift.c printf/submul_1.c printf/sub_n.c \ + strtod/strtoflt128.c strtod/mpn2flt128.c strtod/tens_in_limb.c # Work around what appears to be a GNU make bug handling MAKEFLAGS # values defined in terms of make variables, as is the case for CC and # friends when we are called from the top level Makefile. -@BUILD_LIBQUADMATH_TRUE@AM_MAKEFLAGS = \ -@BUILD_LIBQUADMATH_TRUE@ "AR_FLAGS=$(AR_FLAGS)" \ -@BUILD_LIBQUADMATH_TRUE@ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ -@BUILD_LIBQUADMATH_TRUE@ "CFLAGS=$(CFLAGS)" \ -@BUILD_LIBQUADMATH_TRUE@ "CXXFLAGS=$(CXXFLAGS)" \ -@BUILD_LIBQUADMATH_TRUE@ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ -@BUILD_LIBQUADMATH_TRUE@ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ -@BUILD_LIBQUADMATH_TRUE@ "INSTALL=$(INSTALL)" \ -@BUILD_LIBQUADMATH_TRUE@ "INSTALL_DATA=$(INSTALL_DATA)" \ -@BUILD_LIBQUADMATH_TRUE@ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ -@BUILD_LIBQUADMATH_TRUE@ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ -@BUILD_LIBQUADMATH_TRUE@ "JC1FLAGS=$(JC1FLAGS)" \ -@BUILD_LIBQUADMATH_TRUE@ "LDFLAGS=$(LDFLAGS)" \ -@BUILD_LIBQUADMATH_TRUE@ "LIBCFLAGS=$(LIBCFLAGS)" \ -@BUILD_LIBQUADMATH_TRUE@ "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ -@BUILD_LIBQUADMATH_TRUE@ "MAKE=$(MAKE)" \ -@BUILD_LIBQUADMATH_TRUE@ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ -@BUILD_LIBQUADMATH_TRUE@ "PICFLAG=$(PICFLAG)" \ -@BUILD_LIBQUADMATH_TRUE@ "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ -@BUILD_LIBQUADMATH_TRUE@ "SHELL=$(SHELL)" \ -@BUILD_LIBQUADMATH_TRUE@ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ -@BUILD_LIBQUADMATH_TRUE@ "exec_prefix=$(exec_prefix)" \ -@BUILD_LIBQUADMATH_TRUE@ "infodir=$(infodir)" \ -@BUILD_LIBQUADMATH_TRUE@ "libdir=$(libdir)" \ -@BUILD_LIBQUADMATH_TRUE@ "prefix=$(prefix)" \ -@BUILD_LIBQUADMATH_TRUE@ "includedir=$(includedir)" \ -@BUILD_LIBQUADMATH_TRUE@ "AR=$(AR)" \ -@BUILD_LIBQUADMATH_TRUE@ "AS=$(AS)" \ -@BUILD_LIBQUADMATH_TRUE@ "CC=$(CC)" \ -@BUILD_LIBQUADMATH_TRUE@ "CXX=$(CXX)" \ -@BUILD_LIBQUADMATH_TRUE@ "LD=$(LD)" \ -@BUILD_LIBQUADMATH_TRUE@ "LIBCFLAGS=$(LIBCFLAGS)" \ -@BUILD_LIBQUADMATH_TRUE@ "NM=$(NM)" \ -@BUILD_LIBQUADMATH_TRUE@ "PICFLAG=$(PICFLAG)" \ -@BUILD_LIBQUADMATH_TRUE@ "RANLIB=$(RANLIB)" \ -@BUILD_LIBQUADMATH_TRUE@ "DESTDIR=$(DESTDIR)" +AM_MAKEFLAGS = \ + "AR_FLAGS=$(AR_FLAGS)" \ + "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ + "CFLAGS=$(CFLAGS)" \ + "CXXFLAGS=$(CXXFLAGS)" \ + "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ + "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ + "INSTALL=$(INSTALL)" \ + "INSTALL_DATA=$(INSTALL_DATA)" \ + "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ + "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ + "JC1FLAGS=$(JC1FLAGS)" \ + "LDFLAGS=$(LDFLAGS)" \ + "LIBCFLAGS=$(LIBCFLAGS)" \ + "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ + "MAKE=$(MAKE)" \ + "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ + "PICFLAG=$(PICFLAG)" \ + "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ + "SHELL=$(SHELL)" \ + "RUNTESTFLAGS=$(RUNTESTFLAGS)" \ + "exec_prefix=$(exec_prefix)" \ + "infodir=$(infodir)" \ + "libdir=$(libdir)" \ + "prefix=$(prefix)" \ + "includedir=$(includedir)" \ + "AR=$(AR)" \ + "AS=$(AS)" \ + "CC=$(CC)" \ + "CXX=$(CXX)" \ + "LD=$(LD)" \ + "LIBCFLAGS=$(LIBCFLAGS)" \ + "NM=$(NM)" \ + "PICFLAG=$(PICFLAG)" \ + "RANLIB=$(RANLIB)" \ + "DESTDIR=$(DESTDIR)" # Subdir rules rely on $(FLAGS_TO_PASS) -@BUILD_LIBQUADMATH_TRUE@FLAGS_TO_PASS = $(AM_MAKEFLAGS) -@BUILD_LIBQUADMATH_TRUE@MAKEOVERRIDES = -@BUILD_LIBQUADMATH_TRUE@@GENINSRC_FALSE@STAMP_GENINSRC = +FLAGS_TO_PASS = $(AM_MAKEFLAGS) +MAKEOVERRIDES = +@GENINSRC_FALSE@STAMP_GENINSRC = # AM_CONDITIONAL on configure option --generated-files-in-srcdir -@BUILD_LIBQUADMATH_TRUE@@GENINSRC_TRUE@STAMP_GENINSRC = stamp-geninsrc -@BUILD_LIBQUADMATH_TRUE@ALL_LOCAL_DEPS = $(STAMP_GENINSRC) -@BUILD_INFO_FALSE@@BUILD_LIBQUADMATH_TRUE@STAMP_BUILD_INFO = +@GENINSRC_TRUE@STAMP_GENINSRC = stamp-geninsrc +ALL_LOCAL_DEPS = $(STAMP_GENINSRC) +@BUILD_INFO_FALSE@STAMP_BUILD_INFO = # AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO]) -@BUILD_INFO_TRUE@@BUILD_LIBQUADMATH_TRUE@STAMP_BUILD_INFO = stamp-build-info -@BUILD_LIBQUADMATH_TRUE@CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) -@BUILD_LIBQUADMATH_TRUE@MAINTAINERCLEANFILES = $(srcdir)/libquadmath.info +@BUILD_INFO_TRUE@STAMP_BUILD_INFO = stamp-build-info +CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) +MAINTAINERCLEANFILES = $(srcdir)/libquadmath.info # Automake Documentation: # If your package has Texinfo files in many directories, you can use the @@ -564,8 +564,8 @@ TEXINFO_TEX = ../gcc/doc/include/texinfo.tex # Defines info, dvi, pdf and html targets MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include -@BUILD_LIBQUADMATH_FALSE@info_TEXINFOS = -@BUILD_LIBQUADMATH_TRUE@info_TEXINFOS = libquadmath.texi +info_TEXINFOS = +info_TEXINFOS = libquadmath.texi libquadmath_TEXINFOS = libquadmath-vers.texi MULTISRCTOP = MULTIBUILDTOP = @@ -1187,6 +1187,7 @@ distclean-tags: -rm -f cscope.out cscope.in.out cscope.po.out cscope.files check-am: all-am check: check-am +#all-local all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(HEADERS) config.h \ all-local installdirs: @@ -1425,22 +1426,22 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ .PRECIOUS: Makefile -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@quadmath.map-sun : $(srcdir)/quadmath.map \ -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(top_srcdir)/../contrib/make_sunver.pl \ -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD) -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ perl $(top_srcdir)/../contrib/make_sunver.pl \ -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(srcdir)/quadmath.map \ -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ `echo $(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD) | \ -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \ -@BUILD_LIBQUADMATH_TRUE@@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ > $@ || (rm -f $@ ; exit 1) - -@BUILD_LIBQUADMATH_TRUE@stamp-geninsrc: libquadmath.info -@BUILD_LIBQUADMATH_TRUE@ cp -p $(top_builddir)/libquadmath.info $(srcdir)/libquadmath.info -@BUILD_LIBQUADMATH_TRUE@ @touch $@ - -@BUILD_LIBQUADMATH_TRUE@stamp-build-info: libquadmath.texi $(libquadmath_TEXINFOS) -@BUILD_LIBQUADMATH_TRUE@ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libquadmath.info $(srcdir)/libquadmath.texi -@BUILD_LIBQUADMATH_TRUE@ @touch $@ +@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@quadmath.map-sun : $(srcdir)/quadmath.map \ +@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(top_srcdir)/../contrib/make_sunver.pl \ +@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD) +@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ perl $(top_srcdir)/../contrib/make_sunver.pl \ +@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ $(srcdir)/quadmath.map \ +@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ `echo $(libquadmath_la_OBJECTS) $(libquadmath_la_LIBADD) | \ +@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \ +@LIBQUAD_USE_SYMVER_SUN_TRUE@@LIBQUAD_USE_SYMVER_TRUE@ > $@ || (rm -f $@ ; exit 1) + +stamp-geninsrc: libquadmath.info + cp -p $(top_builddir)/libquadmath.info $(srcdir)/libquadmath.info + @touch $@ + +stamp-build-info: libquadmath.texi $(libquadmath_TEXINFOS) + $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libquadmath.info $(srcdir)/libquadmath.texi + @touch $@ all-local: $(ALL_LOCAL_DEPS) diff --git a/libquadmath/quadmath.h b/libquadmath/quadmath.h index 81eb957d2fa..faa5977cbc9 100644 --- a/libquadmath/quadmath.h +++ b/libquadmath/quadmath.h @@ -27,6 +27,9 @@ Boston, MA 02110-1301, USA. */ extern "C" { #endif +#ifdef AARCH64_QUADMATH +typedef long double __float128; +#endif /* Define the complex type corresponding to __float128 ("_Complex __float128" is not allowed) */ #if (!defined(_ARCH_PPC)) || defined(__LONG_DOUBLE_IEEE128__) @@ -160,10 +163,9 @@ extern int quadmath_snprintf (char *str, size_t size, #define FLT128_MAX_10_EXP 4932 -#define HUGE_VALQ __builtin_huge_valq() /* The following alternative is valid, but brings the warning: (floating constant exceeds range of ‘__float128’) */ -/* #define HUGE_VALQ (__extension__ 0x1.0p32767Q) */ + #define HUGE_VALQ (__extension__ 0x1.0p32767Q) #define M_Eq 2.718281828459045235360287471352662498Q /* e */ #define M_LOG2Eq 1.442695040888963407359924681001892137Q /* log_2 e */ -- 2.21.0.windows.1