[multiple changes]
[official-gcc.git] / libquadmath / ChangeLog
blob71fbc2f547ba84266c2742992dce51154981cdec
1 2011-02-20  Jakub Jelinek  <jakub@redhat.com>
3         PR bootstrap/47827
4         * printf/quadmath-printf.h (NAN): Redefine to __builtin_nanf ("").
6 2011-02-17  Jakub Jelinek  <jakub@redhat.com>
8         * libquadmath.texi (FLT128_DIG, FLT128_MIN_10_EXP,
9         FLT128_MAX_10_EXP): Document.
10         (strtoflt128): Remove obsolete comment.
11         * configure.ac (HAVE_STRTOULL): New check.
12         * printf/gmp-impl.h (mpn_construct_float128): New prototype,
13         define.
14         * printf/mul_n.c: Include <config.h>.
15         * printf/add_n.c: Likewise.
16         * printf/cmp.c: Likewise.
17         * printf/fpioconst.c: Likewise.
18         * printf/mul_1.c: Likewise.
19         * printf/rshift.c: Likewise.
20         * printf/lshift.c: Likewise.
21         * printf/submul_1.c: Likewise.
22         * printf/sub_n.c: Likewise.
23         * printf/divrem.c: Likewise.
24         * printf/addmul_1.c: Likewise.
25         * printf/mul.c: Likewise.
26         * printf/quadmath-printf.h (isupper, isdigit, tolower): Change
27         to avoid evaluating argument multiple times.
28         (isxdigit): Redefine.
29         * strtod/strtoflt128.c: New file.
30         * strtod/strtod_l.c: New file.
31         * strtod/mpn2flt128.c: New file.
32         * strtod/grouping.h: New file.
33         * strtod/tens_in_limb.c: New file.
34         * gdtoa/arith.h: Removed.
35         * gdtoa/gd_qnan.h: Removed.
36         * gdtoa/gdtoa_fltrnds.h: Removed.
37         * gdtoa/gdtoa.h: Removed.
38         * gdtoa/gdtoaimp.h: Removed.
39         * gdtoa/gethex.c: Removed.
40         * gdtoa/gmisc.c: Removed.
41         * gdtoa/hd_init.c: Removed.
42         * gdtoa/hexnan.c: Removed.
43         * gdtoa/makefile: Removed.
44         * gdtoa/misc.c: Removed.
45         * gdtoa/README.gdtoa: Removed.
46         * gdtoa/smisc.c: Removed.
47         * gdtoa/strtodg.c: Removed.
48         * gdtoa/strtopQ.c: Removed.
49         * gdtoa/sum.c: Removed.
50         * quadmath.h (FLT128_DIG, FLT128_MIN_10_EXP, FLT128_MAX_10_EXP):
51         Define.
52         * Makefile.am (libquadmath_la_SOURCES): Remove gdtoa/*, add
53         strtod/strtoflt128.c, strtod/mpn2flt128.c and strtod/tens_in_limb.c.
54         * config.h.in: Regenerated.
55         * configure: Regenerated.
56         * Makefile.in: Regenerated.
58 2011-02-16  Jakub Jelinek  <jakub@redhat.com>
60         * printf/quadmath-printf.c: Also check __GLIBC__ when checking
61         whether workarounds for printf hook handling should be added.
63         * configure.ac: Check for locale.h too.
64         (USE_LOCALE_SUPPORT): Remove check.
65         (USE_NL_LANGINFO, USE_NL_LANGINFO_WC, USE_LOCALECONV): New checks.
66         (USE_I18_NUMBER_H): Check also for _NL_CTYPE_MB_CUR_MAX.
67         * printf/printf_fphex.c (__quadmath_printf_fphex): Use nl_langinfo
68         or localeconv for narrow version and nl_langinfo if USE_NL_LANGINFO_WC
69         for wide version.
70         * printf/quadmath-printf.h: Include locale.h if HAVE_LOCALE_H.
71         * printf/printf_fp.c (USE_I18N_NUMBER_H): Don't define to 0.
72         (__quadmath_printf_fp): Use nl_langinfo or localeconv for narrow
73         version and nl_langinfo if USE_NL_LANGINFO_WC for wide version.
74         Guard nl_langinfo (_NL_CTYPE_MB_CUR_MAX) use with
75         USE_I18N_NUMBER_H #ifdef.
76         * configure: Regenerated.
77         * config.h.in: Regenerated.
79 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
81         PR bootstrap/47736
82         * configure.ac (HAVE_PRINTF_HOOKS): Test if printf_info struct has
83         user field.
84         * printf/quadmath-printf.c (quadmath_snprintf): Clear whole info
85         field instead of setting individual fields to 0.  Don't set info.user
86         to -1.
87         * configure: Regenerated.
89         * configure.ac (HAVE_HIDDEN_VISIBILITY): Test with -Werror in CFLAGS.
90         * printf/printf_fp.c: Don't include <alloca.h>.
91         * printf/quadmath-printf.h (_itoa): Redefine to __quadmath_itoa.
92         * configure: Regenerated.
94         PR fortran/47642
95         * libquadmath.texi (quadmath_snprintf): Document.
96         (quadmath_flt128tostr): Remove.
97         * Makefile.am (libquadmath_la_SOURCES): Add printf/*.c.
98         Remove  quadmath_io.c, gdtoa/gdtoa.c, gdtoa/g__fmt.c,
99         gdtoa/g_Qfmt.c, gdtoa/dmisc.c and gdtoa/ulp.c.
100         * quadmath.h (quadmath_snprintf): New prototype.
101         (quadmath_flt128tostr): Remove.
102         * quadmath_weak.h (quadmath_snprintf): Add.
103         (quadmath_flt128tostr): Remove.
104         * configure.ac: New AC_CHECK_HEADERS headers: langinfo.h, wchar.h,
105         wctype.h, limits.h, ctype.h, printf.h, errno.h.
106         (AC_USE_SYSTEM_EXTENSIONS): Add.
107         (HAVE_HIDDEN_VISIBILITY, HAVE_PRINTF_HOOKS,
108         USE_LOCALE_SUPPORT, USE_I18N_NUMBER_H): New checks.
109         * quadmath.map (QUADMATH_1.0): Add quadmath_snprintf.  Remove
110         quadmath_flt128tostr.
111         * printf/printf_fphex.c: New file.
112         * printf/_itowa.h: New file.
113         * printf/mul_n.c: New file.
114         * printf/quadmath-printf.h: New file.
115         * printf/submul_1.c: New file.
116         * printf/quadmath-printf.c: New file.
117         * printf/gmp-impl.h: New file.
118         * printf/lshift.c: New file.
119         * printf/fpioconst.h: New file.
120         * printf/add_n.c: New file.
121         * printf/cmp.c: New file.
122         * printf/sub_n.c: New file.
123         * printf/mul.c: New file.
124         * printf/divrem.c: New file.
125         * printf/addmul_1.c: New file.
126         * printf/printf_fp.c: New file.
127         * printf/_itoa.h: New file.
128         * printf/fpioconst.c: New file.
129         * printf/_i18n_number.h: New file.
130         * printf/flt1282mpn.c: New file.
131         * printf/rshift.c: New file.
132         * printf/mul_1.c: New file.
133         * quadmath_io.c: Removed.
134         * gdtoa/gdtoa.c: Removed.
135         * gdtoa/g__fmt.c: Removed.
136         * gdtoa/g_Qfmt.c: Removed.
137         * gdtoa/dmisc.c: Removed.
138         * gdtoa/ulp.c: Removed.
139         * config.h.in: Regenerated.
140         * configure: Regenerated.
141         * Makefile.in: Regenerated.
143 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
145         * Makefile.in: Regenerate.
146         * aclocal.m4: Likewise.
147         * configure: Likewise.
149 2011-01-31  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
151         PR libquadmath/47293
152         * gdtoa/qd_qnan.h: Fix NAN bit patterns.
153         * gdtoa/strtopQ.c (strtoflt128): Handle endianess with NAN.
155 2011-01-17  Tobias Burnus  <burnus@net-b.de>
157         PR fortran/47295
158         * libquadmath.text: Document typedef and constants.
160 2011-01-17  Tobias Burnus  <burnus@net-b.de>
162         PR fortran/46817
163         * quadmath-imp.h: Refer to libquadmath not ot libiberty,
164         bump copyright year and use /**/ instead of // comments.
165         * quadmath.h: Ditto.
166         * quadmath-weak.h: Ditto.
167         * quadmath_io.c: Ditto.
169 2011-01-16  Jakub Jelinek  <jakub@redhat.com>
171         PR libfortran/47322
172         * math/remquoq.c (remquoq): Use uint64_t type instead of u_int64_t.
174         PR fortran/46625
175         * quadmath.map (QUADMATH_1.0): Remove quadmath_strtopQ
176         and quadmath_dtoaq.  Add strtoflt128 and quadmath_flt128tostr.
177         * quadmath_weak.h (quadmath_strtopQ, quadmath_dtoaq): Remove.
178         (strtoflt128, quadmath_flt128tostr): Add.
179         * gdtoa/strtopQ.c (quadmath_strtopQ): Rename to...
180         (strtoflt128): ... this.  Return __float128, instead of writing
181         to memory pointed by last argument.
182         * quadmath.h: Use C style comments instead of C++ style.
183         (quadmath_strtopQ, quadmath_dtoaq): Remove prototypes.
184         (strtoflt128, quadmath_flt128tostr): Add prototypes.
185         * libquadmath.texi (quadmath_dtoaq): Rename to quadmath_flt128tostr.
186         (quadmath_strtopQ): Rename to strtoflt128.  Adjust prototype,
187         adjust examples.
188         * quadmath_io.c (quadmath_dtoaq): Rename to...
189         (quadmath_flt128tostr): ... this.
191         * quadmath.h (__quadmath_throw, __quadmath_nth): Define.
192         Use it for all prototypes.
194         PR fortran/46416
195         * quadmath.h (cbrtq, finiteq, isnanq, signbitq, sqrtq): Remove
196         const from prototype argument.
197         (cimagq, conjq, cprojq, crealq, fdimq, fmaxq, fminq, ilogbq,
198         llrintq, log2q, lrintq, nearbyintq, remquoq): New prototypes.
199         (__quadmath_extern_inline): Define.
200         (cimagq, conjq, crealq): New inlines.
201         * Makefile.am (libquadmath_la_SOURCES): Add math/cimagq.c,
202         math/conjq.c, math/cprojq.c, math/crealq.c, math/fdimq.c,
203         math/fmaxq.c, math/fminq.c, math/ilogbq.c, math/llrintq.c,
204         math/log2q.c, math/lrintq.c, math/nearbyintq.c and math/remquoq.c.
205         * Makefile.in: Regenerated.
206         * quadmath_weak.h (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
207         fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
208         * quadmath-imp.h (__LITTLE_ENDIAN__): Don't define.
209         (ieee854_float128): Use __BYTE_ORDER == __ORDER_BIG_ENDIAN__
210         tests instead of __BIG_ENDIAN__.
211         * quadmath.map (QUADMATH_1.0): Add cimagq, conjq, cprojq, crealq,
212         fdimq, fmaxq, fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq
213         and remquoq.
214         * libquadmath.texi (cimagq, conjq, cprojq, crealq, fdimq, fmaxq,
215         fminq, ilogbq, llrintq, log2q, lrintq, nearbyintq, remquoq): Add.
216         * math/cprojq.c: New file.
217         * math/ilogbq.c: New file.
218         * math/fminq.c: New file.
219         * math/llrintq.c: New file.
220         * math/log2q.c: New file.
221         * math/lrintq.c: New file.
222         * math/crealq.c: New file.
223         * math/nearbyintq.c: New file.
224         * math/fmaxq.c: New file.
225         * math/conjq.c: New file.
226         * math/remquoq.c: New file.
227         * math/cimagq.c: New file.
228         * math/fdimq.c: New file.
230         * math/ldexpq.c: Include errno.h.  Set errno to ERANGE if needed.
232         PR fortran/46416
233         * quadmath.h (cacosq, cacoshq, casinq, casinhq, catanq, catanhq):
234         New prototypes.
235         (M_Eq, M_LOG2Eq, M_LOG10Eq, M_LN2q, M_LN10q, M_PIq, M_PI_2q, M_PI_4q,
236         M_1_PIq, M_2_PIq, M_2_SQRTPIq, M_SQRT2q, M_SQRT1_2q): Define.
237         * quadmath_weak.h (cacosq, cacoshq, casinq, casinhq, catanq,
238         catanhq): Add.
239         * quadmath-imp.h (fpclassifyq, QUADFP_NAN, QUADFP_INFINITE,
240         QUADFP_ZERO, QUADFP_SUBNORMAL, QUADFP_NORMAL): Define.
241         * quadmath.map (QUADMATH_1.0): Add cacosq, cacoshq, casinq, casinhq,
242         catanq and catanhq.
243         * Makefile.am (libquadmath_la_SOURCES): Add math/cacosq.c,
244         math/cacoshq.c, math/casinq.c, math/casinhq.c, math/catanq.c
245         and math/catanhq.c.
246         * Makefile.in: Regenerated.
247         * libquadmath.texi (cacosq, cacoshq, casinq, casinhq,
248         catanq, catanhq): Add.
249         * math/cacoshq.c: New file.
250         * math/cacosq.c: New file.
251         * math/catanq.c: New file.
252         * math/catanhq.c: New file.
253         * math/casinq.c: New file.
254         * math/casinhq.c: New file.
256         * math/hypotq.c (hypotq): Use Q suffix instead of L.
257         * math/atan2q.c (tiny, pi_o_4, pi_o_2, pi, pi_lo, atan2q): Likewise.
258         * math/cosq.c (cosq): Likewise.
260         PR fortran/46402
261         * quadmath.map (QUADMATH_1.0): Add fmaq.
262         * configure.ac: Check for fenv.h, feholdexcept, fesetround,
263         feupdateenv, fesetenv and fetestexcept.
264         * configure: Regenerated.
265         * config.h.in: Regenerated.
266         * quadmath.h (fmaq): New prototype.
267         * quadmath_weak.h (fmaq): Add.
268         * Makefile.am (libquadmath_la_SOURCES): Add math/fmaq.c.
269         * Makefile.in: Regenerated.
270         * quadmath-imp.h: Include config.h.
271         * math/expq.c: Include fenv.h.
272         (USE_FENV_H): Define if libm support for fe* is there.
273         (expq): Add fesetround etc. support if USE_FENV_H is defined.
274         * math/fmaq.c: New file.
275         * libquadmath.texi (fmaq): Add.
277 2011-01-14  Tobias Burnus  <burnus@net-b.de>
279         PR fortran/47182
280         * configure.ac: Use ACX_BUGURL.
281         * libquadmath.texi: Include libquadmath-vers.texi for BUGURL.
282         * Makefile.am: Create libquadmath-vers.texi.
283         * configure.in: Regenerate.
284         * Makefile.in: Regenerate.
286 2011-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
288         PR fortran/47174
289         * Makefile.am (libquadmath.info): Unconditionally override
290         target, not only if BUILD_LIBQUADMATH.
291         * Makefile.in: Regenerate.
292         * configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override option to
293         avoid warning from automake.
295 2010-12-19  Tobias Burnus  <burnus@net-b.de>
297         PR fortran/46520
298         * configure.ac: Do not call AC_CHECK_LIB for gcc_no_link.
299         * configure: Regenerate
301 2010-12-13  Tobias Burnus  <burnus@net-b.de>
303         PR fortran/46625
304         * gdtoa/gdtoaimp.h: Mangle internal functions by
305         prefixing them with __quadmath. Don't use gdtoa's strcp(y).
306         * gdtoa/g_Qfmt.c (g_Qfmt): Use strcpy instead of strcp.
307         * gdtoa/misc.c (strcpy): Renamed from strcp and only use
308         if NO_STRING_H is set.
309         * quadmath-imp.h (__quadmath_rem_pio2q, __quadmath_kernel_sincosq
310         __quadmath_kernel_sinq, __quadmath_kernel_cosq): Added
311         __quadmath prefix to internal functions.
312         * math/cosq.c (cosq): Ditto.
313         * math/sinq.c (cosq): Ditto.
314         * math/tanq.c (tanq,__quadmath_kernel_tanq): Ditto.
315         * math/rem_pio2q.c (rem_pio2, __quadmath_kernel_rem_pio2): Ditto.
316         * math/sinq_kernel.c (__quadmath_kernel_sinq): Ditto.
317         * math/cosq_kernel.c (__quadmath_kernel_cosq): Ditto.
319 2010-12-08  Tobias Burnus  <burnus@net-b.de>
321         PR fortran/46772
322         * gdtoa/gdtoa.h: Include stdlib.h instead of declare strtod.
323         * gdtoa/gdtoaimp.h: Don't declare strtod.
325 2010-12-08  Tobias Burnus  <burnus@net-b.de>
327         PR fortran/46520
328         * configure.ac: Use GCC_TRY_COMPILE_OR_LINK instead of
329         AC_TRY_LINK and cache libquad_have_float128.
330         * configure: Regenerate.
332 2010-12-08  Tobias Burnus  <burnus@net-b.de>
334         PR fortran/46543
335         * configure.ac: Add texinfo checks.
336         * Makefile.am: Handle .texi documentation.
337         * libquadmath.texi: New.
338         * configure: Regenerated.
339         * Makefile.in: Regenerated.
341 2010-12-06  Tobias Burnus  <burnus@net-b.de>
343         PR fortran/46817
344         * quadmath-imp.h: Add LGPL header.
345         * quadmath.h: Add LGPL header.
346         * quadmath_io.c: Add LGPL header.
347         * quadmath_weak.h: Add LGPL header.
349 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
351         PR target/40125
352         PR lto/46695
353         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
354         * Makefile.am (libquadmath_la_LDFLAGS): Use lt_host_flags.
355         * aclocal.m4: Regenerate.
356         * configure: Regenerate.
357         * Makefile.in: Regenerate.
359 2010-11-30  Tobias Burnus  <burnus@net-b.de>
361         PR fortran/46594
362         * Makefile.am: Install include files in
363         target/version specific directory.
364         * Makefile.in: Regenerate.
366 2010-11-30  Tobias Burnus  <burnus@net-b.de>
368         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS,
369         LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY,
370         LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT): Remove.
372 2010-11-29  Kai Tietz  <kai.tietz@onevision.com>
374         * configure: Regenerated.
375         * Makefile.in: Regenerated.
376         * configure.ac (ACX_NONCANONICAL_TARGET): Call it.
377         (target_alias): Use AC_SUBST for it.
378         (GCC_NO_EXECUTABLES): Call it.
379         (AC_PROG_CC): Improve multilib handling.
380         Check that gcc is used for compilation.
381         Use pattern from libssp for symbol versioning checking.
382         * Makefile.am (LTLDFLAGS): Removed.
383         (libquadmath_la_LDFLAGS): Add -no-undefined.
384         (libquadmath_la_LINK): Commented out.
385         (libquadmath_la_DEPENDENCIES): Add libquadmath_la_LIBADD.
386         (AM_MAKEFLAGS): Add hack for argument passing by top-level.
387         (MAKEOVERRIDES): New.
388         * aclocal.m4: Regenerated.
390 2010-11-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
392         * Makefile.am (libquadmath_la_LIBADD): Move -lm ...
393         (libquadmath_la_LDFLAGS): ... here.
394         (quadmath.map-sun): Tabify.
395         Fix sed expression.
396         * Makefile.in: Regenerate.
398 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
399             Tobias Burnus  <burnus@net-b.de>
401         PR fortran/32049
402         Initial implementation and checkin.