OSDN Git Service

Improve testsuite diagnostic message handling.
[mingw/mingw-org-wsl.git] / mingwrt / ChangeLog
index c8ed0ec..e06e128 100644 (file)
@@ -1,3 +1,343 @@
+2023-06-26  Keith Marshall  <keith@users.osdn.me>
+
+       Improve testsuite diagnostic message handling.
+
+       * include/process.h [__IN_MINGWRT_TESTSUITE__ && __GNUC__ >= 7]: Push
+       diagnostic state, to save the initial setting of, and then ignore...
+       (-Wbuiltin-declaration-mismatch): ...this, prior to declarations of...
+       (execv, execve, execvp): ...these functions; after these declarations,
+       pop the saved diagnostic state, to revert to the original condition,
+       rather than simply, and arbitrarily, enabling the warning.
+
+2022-08-26  Keith Marshall  <keith@users.osdn.me>
+
+       Do not expose private declarations in <search.h>
+
+       * include/search.h [_SEARCH_PRIVATE]: Do not consider.
+       (struct node, node_t, __MINGW_NONNULL): Relocate [re]definitions...
+       * mingwex/tsearch.h: ...to this new (private) header file.
+
+       * mingwex/tdelete.c mingwex/tfind.c mingwex/tsearch.c
+       * mingwex/twalk.c: Include "tsearch.h" in each, in place of
+       <search.h>; (the latter will be indirectly included by the former).
+       (_SEARCH_PRIVATE): Remove definition; it is no longer required.
+
+2022-08-15  Keith Marshall  <keith@users.osdn.me>
+
+       Correct project name references in mingwrt manpages.
+
+       * man/btowc.3.man man/dirname.3.man man/getline.3.man man/mbrlen.3.man
+       * man/mbrtowc.3.man man/mbsinit.3.man man/mbsrtowcs.3.man
+       * man/wcrtomb.3.man man/wcsrtombs.3.man man/wctob.3.man: Replace all
+       references to defunct "MinGW.org" project name; refer to "MinGW.OSDN"
+       instead.
+
+2022-08-15  Keith Marshall  <keith@users.osdn.me>
+
+       Correct project name references in mingwrt source files.
+
+       * README CRT_fenv.c Makefile.in configure.ac cpu_features.sx crt1.c
+       * setargv.c include/_mingw.h.in include/alloca.h include/conio.h
+       * include/ctype.h include/dir.h include/direct.h include/dlfcn.h
+       * include/dos.h include/errno.h include/excpt.h include/fenv.h
+       * include/float.h include/getopt.h include/glob.h include/io.h
+       * include/libgen.h include/limits.h include/locale.h include/malloc.h
+       * include/math.h include/msvcrtver.h include/process.h
+       * include/stdint.h include/stdio.h include/stdlib.h include/string.h
+       * include/strings.h include/time.h include/unistd.h include/wchar.h
+       * include/wctype.h include/sys/bsdtypes.h include/sys/stat.h
+       * include/sys/time.h include/sys/timeb.h include/sys/types.h
+       * include/sys/utime.h mingwex/basename.c mingwex/btowc.c
+       * mingwex/clockapi.c mingwex/clockapi.h mingwex/clockres.c
+       * mingwex/clockset.c mingwex/clocktime.c mingwex/codeset.c
+       * mingwex/complex/cabs_generic.c mingwex/complex/casin_generic.c
+       * mingwex/complex/catan_generic.c mingwex/complex/clog_generic.c
+       * mingwex/complex/cpow_generic.c mingwex/complex/csqrt_generic.c
+       * mingwex/cryptnam.c mingwex/dirent.c mingwex/dirname.c
+       * mingwex/dlfcn.c mingwex/fesetenv.c mingwex/ftruncate.c
+       * mingwex/glob.c mingwex/imaxdiv.c mingwex/insque.c mingwex/jmpstub.sx
+       * mingwex/math/asinh_generic.c mingwex/math/errno.sx
+       * mingwex/math/fmod_generic.sx.in mingwex/math/hypot_generic.c
+       * mingwex/math/log10_generic.sx mingwex/math/log1p_generic.sx
+       * mingwex/math/log2_generic.sx mingwex/math/log_generic.sx
+       * mingwex/math/pow_generic.sx mingwex/math/random.c
+       * mingwex/math/remquo_generic.sx mingwex/math/x87cvt_generic.sx
+       * mingwex/mbrconv.c mingwex/mbrlen.c mingwex/mbrscan.c
+       * mingwex/mbrtowc.c mingwex/mbsrtowcs.c mingwex/memalign.c
+       * mingwex/memcrypt.c mingwex/mkdtemp.c mingwex/mkstemp.c
+       * mingwex/nsleep.c mingwex/ofmt.c mingwex/ofmtctl.c mingwex/remque.c
+       * mingwex/setenv.c mingwex/stdio/fseeki64.c mingwex/stdio/ftelli64.c
+       * mingwex/stdio/fwrite.c mingwex/stdio/getdelim.c
+       * mingwex/stdio/pformat.c mingwex/stdio/snprintf.c
+       * mingwex/stdio/vsnprintf.c mingwex/strerror_r.c mingwex/strnlen.sx
+       * mingwex/strtok_r.c mingwex/wcharmap.c mingwex/wcharmap.h
+       * mingwex/wcrtomb.c mingwex/wcsrtombs.c mingwex/wcstofp.c
+       * mingwex/wctob.c tests/Makefile.in tests/ansiprintf.at
+       * tests/atlocal.in tests/clockapi.at tests/headers.at
+       * tests/logarithms.at tests/memalign.at tests/powerfunc.at
+       * tests/testsuite.at.in: Replace all references to defunct "MinGW.org"
+       project name; refer to "MinGW.OSDN" instead.
+
+2022-01-29  Keith Marshall  <keith@users.osdn.me>
+
+       Stop creating redundant "include/parts" directory.
+
+       * Makefile.in (mingwrt_include_subdirs): Remove reference to...
+       (parts): ...this; the directory is no longer used by mingwrt, so it
+       need not be created when performing "make install".
+
+2021-06-25  Keith Marshall  <keith@users.osdn.me>
+
+       Correct Microsoft's dup2() POSIX.1 non-conformity.
+
+       * include/unistd.h [! defined dup2]: Define macro reference to...
+       (__mingw_posix_dup2): ...this new in-line function, (as named by the
+       macro); it overrides the Microsoft dup2() function, to ensure that it
+       returns the correct file descriptor, as specified by POSIX.1, rather
+       than zero, as returned by the Microsoft implementation, on success.
+
+2021-06-13  Keith Marshall  <keith@users.osdn.me>
+
+       Implement a POSIX.1 compliant pseudo-random number generator.
+
+       * mingwex/math/random.c: New file; it implements...
+       (__mingw_random, __mingw_srandom, __mingw_initstate)
+       (__mingw_setstate): ...each of these API functions.
+       * include/stdlib.h [_XOPEN_SOURCE >= 500]: Declare them; map...
+       (random, srandom, initstate, setstate): ...these aliases.
+       [_BSD_SOURCE]: Likewise.
+
+       * Makefile.in (libmingwex.a): Require random.$OBJEXT
+
+2021-05-29  Keith Marshall  <keith@users.osdn.me>
+
+       Correct erroneous mkstemp() availability condition.
+
+       * include/stdlib.h (mkstemp): POSIX requires...
+       [_XOPEN_SOURCE >= 500]: ...this, which is equivalent to...
+       [_POSIX_C_SOURCE >= 199506L]: ...this, and not (as we had it)...
+       [_POSIX_C_SOURCE >= 200112L]: ...this; correct it.
+
+2021-05-23  Keith Marshall  <keith@users.osdn.me>
+
+       Add a makefile clarification comment.
+
+       * Makefile.in (msvcrt_repl_funcs): Explain inclusion...
+       (free, realloc): ...these.
+
+2021-04-11  Keith Marshall  <keith@users.osdn.me>
+
+       Prepare and publish MinGW.org WSL-5.4.2 release.
+
+       * All files (wsl-5.4.2-release): Tag assigned.
+
+2021-02-25  Keith Marshall  <keith@users.osdn.me>
+
+       Consolidate fmod() and remainder() source code.
+
+       * mingwex/math/fmod_generic.sx.in: New file; it replaces...
+       * mingwex/math/remainder.s mingwex/math/remainderf.s: ...these...
+       * mingwex/math/remainderl.s mingwex/math/fmodf.c: ...and these...
+       * mingwex/math/fmodl.c: ...and also this; delete them.
+
+       * Makefile.in (fmod_generic.sx, remainder_generic.sx): Add rule to
+       generate them.
+
+2021-02-24  Keith Marshall  <keith@users.osdn.me>
+
+       Correct remquo() quotient computation; cf. MinGW-Bug #41597
+
+       * mingwex/math/remquo_generic.sx: New file; it replaces...
+       * mingwex/math/remquo.s mingwex/math/remquof.s: ...these, and also...
+       * mingwex/math/remquol.s: ...this; delete them.
+
+       * Makefile.in (libmingwex.a): Add "x87remquo.$OBJEXT" requirement.
+
+2021-01-26  Keith Marshall  <keith@users.osdn.me>
+
+       Avoid proliferation of static snprintf() implementations.
+
+       * mingwex/dlfcn.c (dlfcn_store_error_message): Do NOT use...
+       (vsnprintf): ...this static inline function; prefer to call...
+       (__mingw_vsnprintf): ...this extern implementation, directly.
+
+       * mingwex/dlfcn.c (dlfcn_strerror)
+       * mingwex/setenv.c (__mingw_setenv)
+       * mingwex/strerror_r.c (strerror_r): Do NOT use...
+       (snprintf): ...this; it expands to create static clones of...
+       (__mingw_snprintf): ...this extern implementation; prefer to call it
+       directly, to avoid code redundancy.
+
+2020-08-07  Keith Marshall  <keith@users.osdn.me>
+
+       Initialize MSVCRT.DLL's _pgmptr reference.
+
+       * setargv.c (_setargv) [__CRT_GLOB_USE_MINGW__]: Check for...
+       [_pgmptr == NULL] (_pgmptr): ...uninitialized; initialize it from...
+       (GetModuleFileName): ...this.
+
+2020-07-23  Keith Marshall  <keith@users.osdn.me>
+
+       Prepare and publish MinGW.org WSL-5.4.1 release.
+
+       * All files (wsl-5.4.1-release): Tag assigned.
+
+2020-07-20  Keith Marshall  <keith@users.osdn.me>
+
+       Add support for emulation of Microsoft's rand_s() function.
+
+       * mingwex/cryptnam.c (crypto_provider, crypto_randomize): Factor out
+       this pair of static inline functions; relocate them to...
+       * mingwex/memcrypt.c: ...this new file.
+       (crypto_randomize): Change linkage to extern; rename it as...
+       (__mingw_crypto_randomize): ...this; use it...
+       * mingwex/cryptnam.c (crypto_random_filename_char): ...here, via...
+       (crypto_randomize): ...this static inline reimplementation.
+
+       * Makefile.in (libmingwex.a): Add dependency reference for...
+       (memcrypt.$OBJEXT): ...this new object file.
+
+       * VERSION.m4 (MINGW_AC_SET_DLLVERSION) [LIBMINGWEX]: Increment it
+       to 5:0:1; __mingw_crypto_randomize adds a new interface, but it does
+       not break ABI backward compatibility.
+
+2020-07-08  Keith Marshall  <keith@users.osdn.me>
+
+       Prepare and publish MinGW.org WSL-5.4 release.
+
+       * All files (wsl-5.4-release): Tag assigned.
+
+2020-07-07  Keith Marshall  <keith@users.osdn.me>
+
+       Remove redundant MBCS/wide character converter aliases.
+
+       * mingwex/btowc.c (__mingw_btowc, __msvcrt_btowc):
+       * mingwex/mbrlen.c (__mingw_mbrlen, __msvcrt_mbrlen):
+       * mingwex/mbrtowc.c (__mingw_mbrtowc, __msvcrt_mbrtowc):
+       * mingwex/mbsrtowcs.c (__mingw_mbsrtowcs, __msvcrt_mbsrtowcs):
+       * mingwex/wcsrtombs.c (__mingw_wcsrtombs, __msvcrt_wcsrtombs):
+       * mingwex/wcrtomb.c (__mingw_wcrtomb, __msvcrt_wcrtomb):
+       * mingwex/wctob.c (__mingw_wctob, __msvcrt_wctob): Delete aliases.
+
+       * VERSION.m4 (MINGW_AC_SET_DLLVERSION) [LIBMINGWEX]: Increment it
+       to 4:0:0; alias removal breaks ABI backward compatibility.
+
+2020-07-06  Keith Marshall  <keith@users.osdn.me>
+
+       Prepare and publish MinGW.org WSL-5.3.4 release.
+
+       * All files (wsl-5.3.4-release): Tag assigned.
+
+2020-07-05  Keith Marshall  <keith@users.osdn.me>
+
+       Update MBCS to wide character conversion man pages.
+
+       * man/btowc.3.man man/mbrlen.3.man man/mbrtowc.3.man
+       * man/mbsinit.3.man man/mbsrtowcs.3.man man/wcrtomb.3.man
+       * man/wcsrtombs.3.man man/wctob.3.man: Remove references to Microsoft
+       implementations of documented functions; all means of access to such
+       function implementations have been disabled for MinGW applications.
+
+2020-07-04  Keith Marshall  <keith@users.osdn.me>
+
+       Discontinue use of Microsoft's MBCS/wide character converters.
+
+       * include/wchar.h (__mingw_redirect): Delete macro definition.
+       (__mingw_mbrlen, __msvcrt_mbrlen, __mingw_mbrtowc, __msvcrt_mbrtowc)
+       (__mingw_btowc, __msvcrt_btowc, __mingw_mbsrtowcs, __msvcrt_mbsrtowcs)
+       (__mingw_wctob, __msvcrt_wctob, __mingw_wcrtomb, __msvcrt_wcrtomb)
+       (__mingw_wcsrtombs, __msvcrt_wcsrtombs): Delete prototypes, and...
+       (mbrlen, mbrtowc, btowc, mbsrtowcs, wctomb, wcrtomb, wcsrtombs):
+       ...their corresponding redirected inline implementations.
+
+       * mingwex/btowc.c (__msvcrt_btowc): Delete implementation.
+       (__mingw_btowc_fallback, __mingw_btowc): Fold together, into...
+       (btowc): ...this publicly accessible function; add weak aliases...
+       (__mingw_btowc, __msvcrt_btowc): ...named thus.
+
+       * mingwex/mbrlen.c (__msvcrt_mbrlen): Delete implementation.
+       (__mingw_mbrlen_fallback, __mingw_mbrlen): Fold together, into...
+       (mbrlen): ...this publicly accessible function; factor out codeset
+       and codeset property initializations; add weak aliases...
+       (__mingw_mbrlen, __msvcrt_mbrlen): ...named thus.
+
+       * mingwex/mbrtowc.c (__msvcrt_mbrtowc): Delete implementation.
+       (__mingw_mbrtowc_fallback, __mingw_mbrtowc): Fold together, into...
+       (mbrtowc): ...this publicly accessible function; factor out codeset
+       and codeset property initializations; add weak aliases...
+       (__mingw_mbrtowc, __msvcrt_mbrtowc): ...named thus.
+
+       * mingwex/mbsrtowcs.c (__msvcrt_mbsrtowcs): Delete implementation.
+       (__mingw_mbsrtowcs_fallback, __mingw_mbsrtowcs): Fold; rename as...
+       (mbsrtowcs): ...this publicly accessible function; add weak aliases...
+       (__mingw_mbsrtowcs, __msvcrt_mbsrtowcs): ...named thus.
+       (__mbsrtowcs_fallback): Rename it as...
+       (__mbsrtowcs_internal): ...this.
+
+       * mingwex/mbrconv.c (__mingw_mbrtowc_handler): Initialize codeset.
+
+       * mingwex/wcrtomb.c (__msvcrt_wcrtomb): Delete implementation.
+       (__mingw_wcrtomb_fallback, __mingw_wcrtomb): Fold together, into...
+       (wcrtomb): ...this publicly accessible function; add weak aliases...
+       (__mingw_wcrtomb, __msvcrt_wcrtomb): ...named thus.
+       (__wcrtomb_fallback): Rename it as...
+       (__wcrtomb_internal): ...this.
+
+       * mingwex/wcsrtombs.c (__mingw_wcsrtombs): Rename it as...
+       (wcsrtombs): ...this ISO-C99 name; preserve delegation to...
+       (__mingw_wcsrtombs_fallback): ...this, but rename it as...
+       (__mingw_wcsrtombs_internal): ...this; inline it.
+       (__msvcrt_wcsrtombs): Delete implementation.
+       (__mingw_wcsrtombs, __msvcrt_wcsrtombs): Reinstate as weak aliases.
+
+       * mingwex/wctob.c (__msvcrt_wctob): Delete implementation.
+       (__mingw_wctob_fallback, __mingw_wctob): Fold together, into...
+       (wctob): ...this publicly accessible function; add weak aliases...
+       (__mingw_wctob, __msvcrt_wctob): ...named thus.
+
+2020-06-03  Keith Marshall  <keith@users.osdn.me>
+
+       Prepare and publish MinGW.org WSL-5.3.3 release.
+
+       * All files (wsl-5.3.3-release): Tag assigned.
+
+2020-06-03  Keith Marshall  <keith@users.osdn.me>
+
+       Revert 2020-05-27 changes relating to issue #40438.
+
+       * Makefile.in (libmingw32.a): Remove, and relocate...
+       (codeset.$OBJEXT, mbrscan.$OBJEXT): ...each of these, back to...
+       (libmingwex.a): ...here; the previous relocation created more problems
+       than it solved, and indeed, I can no longer reproduce the issue which
+       prompted the earlier relocation.
+
+2020-05-28  Keith Marshall  <keith@users.osdn.me>
+
+       Prepare and publish MinGW.org WSL-5.3.2 release.
+
+       * All files (wsl-5.3.2-release): Tag assigned.
+
+2020-05-28  Keith Marshall  <keith@users.osdn.me>
+
+       Avoid recursive optional DLL import library linking.
+
+       * Makefile.in (%.dll.a): Remove target before generation; if it
+       pre-exists, the DLL may appear to recursively depend on itself.
+
+2020-05-27  Keith Marshall  <keith@users.osdn.me>
+
+       Fix libmingwex-n.dll dependencies; cf. Issue #40438.
+
+       * Makefile.in (libmingwex.a): Remove...
+       (mbrscan.$OBJEEXT, wcharmap.$OBJEXT): ...these; relocate them to...
+       (libmingw32.a): ...here.
+
+2020-04-30  Keith Marshall  <keith@users.osdn.me>
+
+       Prepare and publish MinGW.org WSL-5.3.1 release.
+
+       * All files (wsl-5.3.1-release): Tag assigned.
+
 2020-04-19  Keith Marshall  <keith@users.osdn.me>
 
        Implement POSIX.1-2001 posix_memalign() function.