regex: correct #pragma guard expression
[gnulib.git] / ChangeLog
index 6719180..d41141c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,273 @@
+2012-04-04  Jim Meyering  <meyering@redhat.com>
+
+       regex: correct #pragma guard expression
+       * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
+       not 4.3.  Correct its cpp guard expression.
+
+2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       regex: remove unnecessary type punning
+       Problem reported by Vladimir Serbinenko in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
+       * lib/regex.h (struct re_pattern_buffer): Change the type of
+       __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
+       Fix comment to match code.
+       * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
+       (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
+       (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
+       * lib/regexec.c (regexec, re_search_stub, re_search_internal)
+       (set_regs):
+       Omit no-longer-necessary casts.
+
+2012-04-03  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'ilogbl'.
+       * modules/ilogbl-tests: New file.
+       * tests/test-ilogbl.c: New file.
+
+       New module 'ilogbl'.
+       * lib/math.in.h (ilogbl): New declaration.
+       * lib/ilogbl.c: New file.
+       * m4/ilogbl.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
+       * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
+       Split sed invocation, to avoid the limit of 100 substitutions of
+       HP-UX 'sed'.
+       * modules/ilogbl: New file.
+       * tests/test-math-c++.cc: Check the declaration of ilogbl.
+       * doc/posix-functions/ilogbl.texi: Mention the new module.
+
+2012-04-03  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'ilogbf'.
+       * modules/ilogbf-tests: New file.
+       * tests/test-ilogbf.c: New file.
+
+       New module 'ilogbf'.
+       * lib/math.in.h (ilogbf): New declaration.
+       * lib/ilogbf.c: New file.
+       * m4/ilogbf.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
+       REPLACE_ILOGBF.
+       * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
+       REPLACE_ILOGBF.
+       * modules/ilogbf: New file.
+       * tests/test-math-c++.cc: Check the declaration of ilogbf.
+       * doc/posix-functions/ilogbf.texi: Mention the new module.
+
+2012-04-03  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'ilogb'.
+       * modules/ilogb-tests: New file.
+       * tests/test-ilogb.c: New file.
+       * tests/test-ilogb.h: New file, based on tests/test-logb.h and
+       tests/test-logb-ieee.h.
+
+       New module 'ilogb'.
+       * lib/math.in.h (ilogb): New declaration.
+       * lib/ilogb.c: New file.
+       * m4/ilogb.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
+       REPLACE_ILOGB.
+       * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
+       REPLACE_ILOGB.
+       * modules/ilogb: New file.
+       * tests/test-math-c++.cc: Check the declaration of ilogb.
+       * doc/posix-functions/ilogb.texi: Mention the new module.
+
+2012-04-03  Bruno Haible  <bruno@clisp.org>
+
+       math: Provide FP_ILOGB0 and FP_ILOGBNAN.
+       * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
+       * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
+       (main): Check their values.
+       * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
+       problem.
+
+2012-04-03  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'logbl-ieee'.
+       * modules/logbl-ieee-tests: New file.
+       * tests/test-logbl-ieee.c: New file.
+
+       New module 'logbl-ieee'.
+       * modules/logbl-ieee: New file.
+
+       Tests for module 'logb-ieee'.
+       * modules/logb-ieee-tests: New file.
+       * tests/test-logb-ieee.c: New file.
+
+       New module 'logb-ieee'.
+       * modules/logb-ieee: New file.
+
+       Tests for module 'logbf-ieee'.
+       * modules/logbf-ieee-tests: New file.
+       * tests/test-logbf-ieee.c: New file.
+       * tests/test-logb-ieee.h: New file.
+
+       New module 'logbf-ieee'.
+       * modules/logbf-ieee: New file.
+
+2012-04-03  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'logbl'.
+       * modules/logbl-tests: New file.
+       * tests/test-logbl.c: New file.
+
+       New module 'logbl'.
+       * lib/math.in.h (logbl): New declaration.
+       * lib/logbl.c: New file.
+       * m4/logbl.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
+       REPLACE_LOGBL.
+       * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
+       REPLACE_LOGBL.
+       * modules/logbl: New file.
+       * tests/test-math-c++.cc: Check the declaration of logbl.
+       * doc/posix-functions/logbl.texi: Mention the new module.
+
+2012-04-02  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'logbf'.
+       * modules/logbf-tests: New file.
+       * tests/test-logbf.c: New file.
+
+       New module 'logbf'.
+       * lib/math.in.h (logbf): New declaration.
+       * lib/logbf.c: New file.
+       * m4/logbf.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
+       REPLACE_LOGBF.
+       * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
+       REPLACE_LOGBF.
+       * modules/logbf: New file.
+       * tests/test-math-c++.cc: Check the declaration of logbf.
+       * doc/posix-functions/logbf.texi: Mention the new module.
+
+2012-04-02  Bruno Haible  <bruno@clisp.org>
+
+       logb tests: More tests.
+       * tests/test-logb.h: New file, based on tests/test-logb.c and
+       tests/test-frexp.h.
+       * tests/test-logb.c: Include minus-zero.h, test-logb.h.
+       (main): Just invoke test_function.
+       * modules/logb-tests (Files): Add tests/test-logb.h,
+       tests/minus-zero.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_logb_SOURCES.
+
+       logb: Provide replacement and workarounds.
+       * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
+       is 1.
+       * lib/logb.c: New file.
+       * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
+       (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
+       * modules/math (Makefile.am): Substitute REPLACE_LOGB.
+       * modules/logb (Files): Add lib/logb.c.
+       (Depends-on): Add isfinite, frexp, isnand.
+       (configure.ac): Compile the replacement code logb.c if needed.
+       * tests/test-math-c++.cc: Check the declaration of logb.
+       * doc/posix-functions/logb.texi: Mention the replacement and the bug
+       with subnormal numbers.
+
+2012-04-02  Bruno Haible  <bruno@clisp.org>
+
+       log10* tests: Speed up.
+       * tests/test-log10.h (test_function): Reduce amount of random numbers
+       to test.
+
+2012-04-01  Bruno Haible  <bruno@clisp.org>
+
+       logf-ieee: Fix test whether logf works.
+       * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
+
+2012-04-01  Bruno Haible  <bruno@clisp.org>
+
+       log10l: Work around log10l-ieee test failure on IRIX 6.5.
+       * lib/log10l.c: Include <float.h>
+       (log10l): On IRIX, normalize the +Infinity value.
+       * modules/log10l (Depends-on): Add 'float'.
+       * doc/posix-functions/log10l.texi: Mention the IRIX problem with
+       +Infinity.
+
+       log10f-ieee: Work around test failure on NetBSD 5.1.
+       * m4/log10f-ieee.m4: New file.
+       * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
+       test whether log10f works with a negative argument. Replace it if not.
+       * lib/log10f.c (log10f): For negative arguments, return NaN.
+       * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
+       (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
+       * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
+
+       log10f-ieee: Work around test failure on Solaris 9.
+       * modules/log10f-ieee (Depends-on): Add log10-ieee.
+       (configure.ac): Require gl_FUNC_LOG10F.
+
+       log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
+       * m4/log10-ieee.m4: New file.
+       * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
+       whether log10 works with a negative argument. Replace it if not.
+       * lib/log10.c (log10): For negative arguments, return NaN.
+       * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
+       (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
+       * doc/posix-functions/log10.texi: Mention the log10-ieee module.
+
+       Tests for module 'log10l-ieee'.
+       * modules/log10l-ieee-tests: New file.
+       * tests/test-log10l-ieee.c: New file.
+
+       New module 'log10l-ieee'.
+       * modules/log10l-ieee: New file.
+
+       Tests for module 'log10-ieee'.
+       * modules/log10-ieee-tests: New file.
+       * tests/test-log10-ieee.c: New file.
+
+       New module 'log10-ieee'.
+       * modules/log10-ieee: New file.
+
+       Tests for module 'log10f-ieee'.
+       * modules/log10f-ieee-tests: New file.
+       * tests/test-log10f-ieee.c: New file.
+       * tests/test-log10-ieee.h: New file.
+
+       New module 'log10f-ieee'.
+       * modules/log10f-ieee: New file.
+
+2012-04-01  Bruno Haible  <bruno@clisp.org>
+
+       log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
+       * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
+       * lib/log10l.c (log10l): If log10l exists, use it and provide just the
+       workaround.
+       * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
+       (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
+       * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
+       * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
+       (Depends-on): Update conditions.
+       * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
+       IRIX 6.5, OSF/1 5.1 problems.
+
+2012-04-01  Bruno Haible  <bruno@clisp.org>
+
+       log10f: Work around OSF/1 5.1 bug.
+       * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
+       * lib/log10f.c (log10f): If logf exists, use it and provide just the
+       workaround.
+       * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
+       (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
+       * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
+       * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
+       (Depends-on): Update conditions.
+       * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
+
 2012-04-01  Bruno Haible  <bruno@clisp.org>
 
        log10: Work around OSF/1 5.1 bug.