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