1 2023-06-26 Keith Marshall <keith@users.osdn.me>
3 Improve testsuite diagnostic message handling.
5 * include/process.h [__IN_MINGWRT_TESTSUITE__ && __GNUC__ >= 7]: Push
6 diagnostic state, to save the initial setting of, and then ignore...
7 (-Wbuiltin-declaration-mismatch): ...this, prior to declarations of...
8 (execv, execve, execvp): ...these functions; after these declarations,
9 pop the saved diagnostic state, to revert to the original condition,
10 rather than simply, and arbitrarily, enabling the warning.
12 2022-08-26 Keith Marshall <keith@users.osdn.me>
14 Do not expose private declarations in <search.h>
16 * include/search.h [_SEARCH_PRIVATE]: Do not consider.
17 (struct node, node_t, __MINGW_NONNULL): Relocate [re]definitions...
18 * mingwex/tsearch.h: ...to this new (private) header file.
20 * mingwex/tdelete.c mingwex/tfind.c mingwex/tsearch.c
21 * mingwex/twalk.c: Include "tsearch.h" in each, in place of
22 <search.h>; (the latter will be indirectly included by the former).
23 (_SEARCH_PRIVATE): Remove definition; it is no longer required.
25 2022-08-15 Keith Marshall <keith@users.osdn.me>
27 Correct project name references in mingwrt manpages.
29 * man/btowc.3.man man/dirname.3.man man/getline.3.man man/mbrlen.3.man
30 * man/mbrtowc.3.man man/mbsinit.3.man man/mbsrtowcs.3.man
31 * man/wcrtomb.3.man man/wcsrtombs.3.man man/wctob.3.man: Replace all
32 references to defunct "MinGW.org" project name; refer to "MinGW.OSDN"
35 2022-08-15 Keith Marshall <keith@users.osdn.me>
37 Correct project name references in mingwrt source files.
39 * README CRT_fenv.c Makefile.in configure.ac cpu_features.sx crt1.c
40 * setargv.c include/_mingw.h.in include/alloca.h include/conio.h
41 * include/ctype.h include/dir.h include/direct.h include/dlfcn.h
42 * include/dos.h include/errno.h include/excpt.h include/fenv.h
43 * include/float.h include/getopt.h include/glob.h include/io.h
44 * include/libgen.h include/limits.h include/locale.h include/malloc.h
45 * include/math.h include/msvcrtver.h include/process.h
46 * include/stdint.h include/stdio.h include/stdlib.h include/string.h
47 * include/strings.h include/time.h include/unistd.h include/wchar.h
48 * include/wctype.h include/sys/bsdtypes.h include/sys/stat.h
49 * include/sys/time.h include/sys/timeb.h include/sys/types.h
50 * include/sys/utime.h mingwex/basename.c mingwex/btowc.c
51 * mingwex/clockapi.c mingwex/clockapi.h mingwex/clockres.c
52 * mingwex/clockset.c mingwex/clocktime.c mingwex/codeset.c
53 * mingwex/complex/cabs_generic.c mingwex/complex/casin_generic.c
54 * mingwex/complex/catan_generic.c mingwex/complex/clog_generic.c
55 * mingwex/complex/cpow_generic.c mingwex/complex/csqrt_generic.c
56 * mingwex/cryptnam.c mingwex/dirent.c mingwex/dirname.c
57 * mingwex/dlfcn.c mingwex/fesetenv.c mingwex/ftruncate.c
58 * mingwex/glob.c mingwex/imaxdiv.c mingwex/insque.c mingwex/jmpstub.sx
59 * mingwex/math/asinh_generic.c mingwex/math/errno.sx
60 * mingwex/math/fmod_generic.sx.in mingwex/math/hypot_generic.c
61 * mingwex/math/log10_generic.sx mingwex/math/log1p_generic.sx
62 * mingwex/math/log2_generic.sx mingwex/math/log_generic.sx
63 * mingwex/math/pow_generic.sx mingwex/math/random.c
64 * mingwex/math/remquo_generic.sx mingwex/math/x87cvt_generic.sx
65 * mingwex/mbrconv.c mingwex/mbrlen.c mingwex/mbrscan.c
66 * mingwex/mbrtowc.c mingwex/mbsrtowcs.c mingwex/memalign.c
67 * mingwex/memcrypt.c mingwex/mkdtemp.c mingwex/mkstemp.c
68 * mingwex/nsleep.c mingwex/ofmt.c mingwex/ofmtctl.c mingwex/remque.c
69 * mingwex/setenv.c mingwex/stdio/fseeki64.c mingwex/stdio/ftelli64.c
70 * mingwex/stdio/fwrite.c mingwex/stdio/getdelim.c
71 * mingwex/stdio/pformat.c mingwex/stdio/snprintf.c
72 * mingwex/stdio/vsnprintf.c mingwex/strerror_r.c mingwex/strnlen.sx
73 * mingwex/strtok_r.c mingwex/wcharmap.c mingwex/wcharmap.h
74 * mingwex/wcrtomb.c mingwex/wcsrtombs.c mingwex/wcstofp.c
75 * mingwex/wctob.c tests/Makefile.in tests/ansiprintf.at
76 * tests/atlocal.in tests/clockapi.at tests/headers.at
77 * tests/logarithms.at tests/memalign.at tests/powerfunc.at
78 * tests/testsuite.at.in: Replace all references to defunct "MinGW.org"
79 project name; refer to "MinGW.OSDN" instead.
81 2022-01-29 Keith Marshall <keith@users.osdn.me>
83 Stop creating redundant "include/parts" directory.
85 * Makefile.in (mingwrt_include_subdirs): Remove reference to...
86 (parts): ...this; the directory is no longer used by mingwrt, so it
87 need not be created when performing "make install".
89 2021-06-25 Keith Marshall <keith@users.osdn.me>
91 Correct Microsoft's dup2() POSIX.1 non-conformity.
93 * include/unistd.h [! defined dup2]: Define macro reference to...
94 (__mingw_posix_dup2): ...this new in-line function, (as named by the
95 macro); it overrides the Microsoft dup2() function, to ensure that it
96 returns the correct file descriptor, as specified by POSIX.1, rather
97 than zero, as returned by the Microsoft implementation, on success.
99 2021-06-13 Keith Marshall <keith@users.osdn.me>
101 Implement a POSIX.1 compliant pseudo-random number generator.
103 * mingwex/math/random.c: New file; it implements...
104 (__mingw_random, __mingw_srandom, __mingw_initstate)
105 (__mingw_setstate): ...each of these API functions.
106 * include/stdlib.h [_XOPEN_SOURCE >= 500]: Declare them; map...
107 (random, srandom, initstate, setstate): ...these aliases.
108 [_BSD_SOURCE]: Likewise.
110 * Makefile.in (libmingwex.a): Require random.$OBJEXT
112 2021-05-29 Keith Marshall <keith@users.osdn.me>
114 Correct erroneous mkstemp() availability condition.
116 * include/stdlib.h (mkstemp): POSIX requires...
117 [_XOPEN_SOURCE >= 500]: ...this, which is equivalent to...
118 [_POSIX_C_SOURCE >= 199506L]: ...this, and not (as we had it)...
119 [_POSIX_C_SOURCE >= 200112L]: ...this; correct it.
121 2021-05-23 Keith Marshall <keith@users.osdn.me>
123 Add a makefile clarification comment.
125 * Makefile.in (msvcrt_repl_funcs): Explain inclusion...
126 (free, realloc): ...these.
128 2021-04-11 Keith Marshall <keith@users.osdn.me>
130 Prepare and publish MinGW.org WSL-5.4.2 release.
132 * All files (wsl-5.4.2-release): Tag assigned.
134 2021-02-25 Keith Marshall <keith@users.osdn.me>
136 Consolidate fmod() and remainder() source code.
138 * mingwex/math/fmod_generic.sx.in: New file; it replaces...
139 * mingwex/math/remainder.s mingwex/math/remainderf.s: ...these...
140 * mingwex/math/remainderl.s mingwex/math/fmodf.c: ...and these...
141 * mingwex/math/fmodl.c: ...and also this; delete them.
143 * Makefile.in (fmod_generic.sx, remainder_generic.sx): Add rule to
146 2021-02-24 Keith Marshall <keith@users.osdn.me>
148 Correct remquo() quotient computation; cf. MinGW-Bug #41597
150 * mingwex/math/remquo_generic.sx: New file; it replaces...
151 * mingwex/math/remquo.s mingwex/math/remquof.s: ...these, and also...
152 * mingwex/math/remquol.s: ...this; delete them.
154 * Makefile.in (libmingwex.a): Add "x87remquo.$OBJEXT" requirement.
156 2021-01-26 Keith Marshall <keith@users.osdn.me>
158 Avoid proliferation of static snprintf() implementations.
160 * mingwex/dlfcn.c (dlfcn_store_error_message): Do NOT use...
161 (vsnprintf): ...this static inline function; prefer to call...
162 (__mingw_vsnprintf): ...this extern implementation, directly.
164 * mingwex/dlfcn.c (dlfcn_strerror)
165 * mingwex/setenv.c (__mingw_setenv)
166 * mingwex/strerror_r.c (strerror_r): Do NOT use...
167 (snprintf): ...this; it expands to create static clones of...
168 (__mingw_snprintf): ...this extern implementation; prefer to call it
169 directly, to avoid code redundancy.
171 2020-08-07 Keith Marshall <keith@users.osdn.me>
173 Initialize MSVCRT.DLL's _pgmptr reference.
175 * setargv.c (_setargv) [__CRT_GLOB_USE_MINGW__]: Check for...
176 [_pgmptr == NULL] (_pgmptr): ...uninitialized; initialize it from...
177 (GetModuleFileName): ...this.
179 2020-07-23 Keith Marshall <keith@users.osdn.me>
181 Prepare and publish MinGW.org WSL-5.4.1 release.
183 * All files (wsl-5.4.1-release): Tag assigned.
185 2020-07-20 Keith Marshall <keith@users.osdn.me>
187 Add support for emulation of Microsoft's rand_s() function.
189 * mingwex/cryptnam.c (crypto_provider, crypto_randomize): Factor out
190 this pair of static inline functions; relocate them to...
191 * mingwex/memcrypt.c: ...this new file.
192 (crypto_randomize): Change linkage to extern; rename it as...
193 (__mingw_crypto_randomize): ...this; use it...
194 * mingwex/cryptnam.c (crypto_random_filename_char): ...here, via...
195 (crypto_randomize): ...this static inline reimplementation.
197 * Makefile.in (libmingwex.a): Add dependency reference for...
198 (memcrypt.$OBJEXT): ...this new object file.
200 * VERSION.m4 (MINGW_AC_SET_DLLVERSION) [LIBMINGWEX]: Increment it
201 to 5:0:1; __mingw_crypto_randomize adds a new interface, but it does
202 not break ABI backward compatibility.
204 2020-07-08 Keith Marshall <keith@users.osdn.me>
206 Prepare and publish MinGW.org WSL-5.4 release.
208 * All files (wsl-5.4-release): Tag assigned.
210 2020-07-07 Keith Marshall <keith@users.osdn.me>
212 Remove redundant MBCS/wide character converter aliases.
214 * mingwex/btowc.c (__mingw_btowc, __msvcrt_btowc):
215 * mingwex/mbrlen.c (__mingw_mbrlen, __msvcrt_mbrlen):
216 * mingwex/mbrtowc.c (__mingw_mbrtowc, __msvcrt_mbrtowc):
217 * mingwex/mbsrtowcs.c (__mingw_mbsrtowcs, __msvcrt_mbsrtowcs):
218 * mingwex/wcsrtombs.c (__mingw_wcsrtombs, __msvcrt_wcsrtombs):
219 * mingwex/wcrtomb.c (__mingw_wcrtomb, __msvcrt_wcrtomb):
220 * mingwex/wctob.c (__mingw_wctob, __msvcrt_wctob): Delete aliases.
222 * VERSION.m4 (MINGW_AC_SET_DLLVERSION) [LIBMINGWEX]: Increment it
223 to 4:0:0; alias removal breaks ABI backward compatibility.
225 2020-07-06 Keith Marshall <keith@users.osdn.me>
227 Prepare and publish MinGW.org WSL-5.3.4 release.
229 * All files (wsl-5.3.4-release): Tag assigned.
231 2020-07-05 Keith Marshall <keith@users.osdn.me>
233 Update MBCS to wide character conversion man pages.
235 * man/btowc.3.man man/mbrlen.3.man man/mbrtowc.3.man
236 * man/mbsinit.3.man man/mbsrtowcs.3.man man/wcrtomb.3.man
237 * man/wcsrtombs.3.man man/wctob.3.man: Remove references to Microsoft
238 implementations of documented functions; all means of access to such
239 function implementations have been disabled for MinGW applications.
241 2020-07-04 Keith Marshall <keith@users.osdn.me>
243 Discontinue use of Microsoft's MBCS/wide character converters.
245 * include/wchar.h (__mingw_redirect): Delete macro definition.
246 (__mingw_mbrlen, __msvcrt_mbrlen, __mingw_mbrtowc, __msvcrt_mbrtowc)
247 (__mingw_btowc, __msvcrt_btowc, __mingw_mbsrtowcs, __msvcrt_mbsrtowcs)
248 (__mingw_wctob, __msvcrt_wctob, __mingw_wcrtomb, __msvcrt_wcrtomb)
249 (__mingw_wcsrtombs, __msvcrt_wcsrtombs): Delete prototypes, and...
250 (mbrlen, mbrtowc, btowc, mbsrtowcs, wctomb, wcrtomb, wcsrtombs):
251 ...their corresponding redirected inline implementations.
253 * mingwex/btowc.c (__msvcrt_btowc): Delete implementation.
254 (__mingw_btowc_fallback, __mingw_btowc): Fold together, into...
255 (btowc): ...this publicly accessible function; add weak aliases...
256 (__mingw_btowc, __msvcrt_btowc): ...named thus.
258 * mingwex/mbrlen.c (__msvcrt_mbrlen): Delete implementation.
259 (__mingw_mbrlen_fallback, __mingw_mbrlen): Fold together, into...
260 (mbrlen): ...this publicly accessible function; factor out codeset
261 and codeset property initializations; add weak aliases...
262 (__mingw_mbrlen, __msvcrt_mbrlen): ...named thus.
264 * mingwex/mbrtowc.c (__msvcrt_mbrtowc): Delete implementation.
265 (__mingw_mbrtowc_fallback, __mingw_mbrtowc): Fold together, into...
266 (mbrtowc): ...this publicly accessible function; factor out codeset
267 and codeset property initializations; add weak aliases...
268 (__mingw_mbrtowc, __msvcrt_mbrtowc): ...named thus.
270 * mingwex/mbsrtowcs.c (__msvcrt_mbsrtowcs): Delete implementation.
271 (__mingw_mbsrtowcs_fallback, __mingw_mbsrtowcs): Fold; rename as...
272 (mbsrtowcs): ...this publicly accessible function; add weak aliases...
273 (__mingw_mbsrtowcs, __msvcrt_mbsrtowcs): ...named thus.
274 (__mbsrtowcs_fallback): Rename it as...
275 (__mbsrtowcs_internal): ...this.
277 * mingwex/mbrconv.c (__mingw_mbrtowc_handler): Initialize codeset.
279 * mingwex/wcrtomb.c (__msvcrt_wcrtomb): Delete implementation.
280 (__mingw_wcrtomb_fallback, __mingw_wcrtomb): Fold together, into...
281 (wcrtomb): ...this publicly accessible function; add weak aliases...
282 (__mingw_wcrtomb, __msvcrt_wcrtomb): ...named thus.
283 (__wcrtomb_fallback): Rename it as...
284 (__wcrtomb_internal): ...this.
286 * mingwex/wcsrtombs.c (__mingw_wcsrtombs): Rename it as...
287 (wcsrtombs): ...this ISO-C99 name; preserve delegation to...
288 (__mingw_wcsrtombs_fallback): ...this, but rename it as...
289 (__mingw_wcsrtombs_internal): ...this; inline it.
290 (__msvcrt_wcsrtombs): Delete implementation.
291 (__mingw_wcsrtombs, __msvcrt_wcsrtombs): Reinstate as weak aliases.
293 * mingwex/wctob.c (__msvcrt_wctob): Delete implementation.
294 (__mingw_wctob_fallback, __mingw_wctob): Fold together, into...
295 (wctob): ...this publicly accessible function; add weak aliases...
296 (__mingw_wctob, __msvcrt_wctob): ...named thus.
298 2020-06-03 Keith Marshall <keith@users.osdn.me>
300 Prepare and publish MinGW.org WSL-5.3.3 release.
302 * All files (wsl-5.3.3-release): Tag assigned.
304 2020-06-03 Keith Marshall <keith@users.osdn.me>
306 Revert 2020-05-27 changes relating to issue #40438.
308 * Makefile.in (libmingw32.a): Remove, and relocate...
309 (codeset.$OBJEXT, mbrscan.$OBJEXT): ...each of these, back to...
310 (libmingwex.a): ...here; the previous relocation created more problems
311 than it solved, and indeed, I can no longer reproduce the issue which
312 prompted the earlier relocation.
314 2020-05-28 Keith Marshall <keith@users.osdn.me>
316 Prepare and publish MinGW.org WSL-5.3.2 release.
318 * All files (wsl-5.3.2-release): Tag assigned.
320 2020-05-28 Keith Marshall <keith@users.osdn.me>
322 Avoid recursive optional DLL import library linking.
324 * Makefile.in (%.dll.a): Remove target before generation; if it
325 pre-exists, the DLL may appear to recursively depend on itself.
327 2020-05-27 Keith Marshall <keith@users.osdn.me>
329 Fix libmingwex-n.dll dependencies; cf. Issue #40438.
331 * Makefile.in (libmingwex.a): Remove...
332 (mbrscan.$OBJEEXT, wcharmap.$OBJEXT): ...these; relocate them to...
333 (libmingw32.a): ...here.
335 2020-04-30 Keith Marshall <keith@users.osdn.me>
337 Prepare and publish MinGW.org WSL-5.3.1 release.
339 * All files (wsl-5.3.1-release): Tag assigned.
341 2020-04-19 Keith Marshall <keith@users.osdn.me>
343 Implement POSIX.1-2001 posix_memalign() function.
345 * include/stdlib.h [_POSIX_C_SOURCE >= 200112L] (posix_memalign):
346 Implement as inline alias, with libmemalign.a stub, in terms of...
347 (__mingw_aligned_offset_malloc): ...this; duplicate declaration.
349 2020-04-18 Keith Marshall <keith@users.osdn.me>
351 Implement ISO-C11/C++17 aligned_alloc() function.
353 * include/stdlib.h (free, realloc): Define as inline aliases for...
354 (__mingw_free, __mingw_realloc): ...these replacements, respectively.
355 [__STDC_VERSION__>=201112L || __cplusplus >=201703L] (aligned_alloc):
356 Implement as inline alias, with libmemalign.a stub, in terms of...
357 (__mingw_aligned_offset_malloc): ...this; duplicate declaration.
358 (_GLIBCXX_HAVE_ALIGNED_ALLOC): Define it.
360 2020-04-11 Keith Marshall <keith@users.osdn.me>
362 Manpage stylistic consistency updates.
364 * man/dirname.3.man man/getline.3.man: Miscellaneous stylistic
367 2020-04-08 Keith Marshall <keith@users.osdn.me>
369 Ensure PDF manpages are generated from local sources.
371 * Makefile.in (%.$man3ext.pdf): Specify explicit path to $<.$man3ext
372 file, when invoking the 'man -t' command; without it, the command may
373 refer to the build host's native copy, instead of our local version.
375 2020-04-08 Keith Marshall <keith@users.osdn.me>
377 Automatically enumerate manpages for publication.
379 * Makefile.in (manpages): New macro; define, and use it...
380 (mingwrt-man3): ...for this, to enumerate associated manpage sources.
381 (manpage_copy, mancopy, manpage_ref): New macros; define them, and...
382 (basename.3, getdelim.3): ...use them.
384 2020-04-07 Keith Marshall <keith@users.osdn.me>
386 Document MinGW MBCS/wide character conversion functions.
388 * man/btowc.3.man man/mbrlen.3.man man/mbrtowc.3.man
389 * man/mbsinit.3.man man/mbsrtowcs.3.man man/wcrtomb.3.man
390 * man/wcsrtombs.3.man man/wctob.3.man: New files.
392 2020-04-02 Keith Marshall <keith@users.osdn.me>
394 Handle wcsrtombs() initial surrogate completion.
396 * mingwex/wcsrtombs.c (__mingw_wcsrtombs_fallback)
397 [*ps -> high surrogate && **wcs -> low surrogate]: Complete surrogate
398 pair, and evaluate conversion; compute its length, and account for its
399 effect on alloted conversion buffer size. Reset *ps to initial state.
401 2020-04-02 Keith Marshall <keith@users.osdn.me>
403 Correct wchar_t to MBCS unpaired surrogate handling.
405 * mingwex/wcharmap.c (__mingw_wctomb_convert) [codeset >= CP_UTF7]:
406 Scan source wchar_t sequence, prior to conversion, checking it for...
407 [high surrogate]: Abort unless immediately followed by low surrogate.
408 [low surrogate]: Likewise, if not preceded by high surrogate.
410 2020-03-19 Keith Marshall <keith@users.osdn.me>
412 Correct a potential mbsrtowcs() surrogate pair overrun.
414 * mingwex/mbrscan.c (__mingw_mbtowc_copy) [(count + 1) == len)]: Stop,
415 without storing current multibyte conversion, if surrogate pair.
417 2020-03-12 Keith Marshall <keith@users.osdn.me>
419 Rationalize implementations of fwide() and mbsinit() functions.
421 * include/wchar.h (mbsinit): Mark as __LIBIMPL__; reimplement its
422 inline definition, to evaluate its mbstate_t reference argument.
423 (fwide): Mark as __LIBIMPL__.
425 * Makefile.in (libmingwex.a): Remove explicit dependencies on...
426 (fwide, mbsinit): ...these; they are implied by __LIBIMPL__ marks.
428 * mingwex/fwide.c mingwex/mbsinit.c: Redundant files; delete them.
430 2020-03-11 Keith Marshall <keith@users.osdn.me>
432 Correct a defect in detection of failed btowc() conversions.
434 * mingwex/btowc.c (__mingw_btowc_fallback): Use...
435 (__mingw_mbtowc_convert): ...this; verify successful conversion of
436 exactly one byte, to equivalent wchar, otherwise return WEOF.
437 (__mingw_btowc, __msvcrt_btowc): Delegate codeset initialization to...
438 (__mingw_mbrtowc_codeset_init): ...this, so delegating its management
439 externally; remove local provision.
441 2020-03-10 Keith Marshall <keith@users.osdn.me>
443 Correct defects in mbrtowc() invalid conversion state handling.
445 * mingwex/mbrconv.c (__mingw_mbrtowc_handler): Abort if restarting a
446 conversion when a low surrogate is pending, but has not been correctly
447 retrieved; additionally, reject any mbstate_t object content which is
448 already representative of a complete multibyte character sequence.
450 2020-03-10 Keith Marshall <keith@users.osdn.me>
452 Base MBCS converter function call redirection on _ISOC99_SOURCE.
454 * include/wchar.h (__mingw_redirect): New temporary macro; use it...
455 (btowc, mbrlen, mbrtowc, mbsrtowcs, wctob, wcrtomb, wcsrtombs): ...in
456 each of these inline function definitions, to select between use of...
457 [defined _ISOC99_SOURCE]: ...direct call to MinGW function, or...
458 [! defined _ISOC99_SOURCE]: ...attempt to call MSVCRT.DLL function,
459 with fall back to MinGW, when no MSVCRT.DLL function available.
461 2020-03-05 Keith Marshall <keith@users.osdn.me>
463 Prepare and publish MinGW.org WSL-5.3 release.
465 * All files (wsl-5.3-release): Tag assigned.
467 2020-03-05 Keith Marshall <keith@users.osdn.me>
469 Let _ISOC11_SOURCE imply _ISOC99_SOURCE.
471 * include/_mingw.h.in [! defined _ISOC99_SOURCE]
472 [defined _ISOC11_SOURCE] (_ISOC99_SOURCE): Define as 0x0F.
474 2020-03-05 Keith Marshall <keith@users.osdn.me>
476 Avoid deprecated specification of esp in asm clobber list.
478 * crt1.c (__mingw_CRTStartup): In inline assembly, forced modulo-16
479 alignment of esp is safe, but clobbered esp cannot be restored; GCC-9
480 deprecates its inclusion in clobber list; remove it.
481 [-masm=intel]: Support inline assembler syntax.
483 2020-03-04 Keith Marshall <keith@users.osdn.me>
485 Disallow surrogates as printf() radix and grouping characters.
487 * mingwex/stdio/pformat.c (__pformat_emit_digit)
488 [(c == '.') && ((rpchr & 0xF800) == 0xD800)]: Radix point requires a
489 surrogate pair, for representation as UTF-16LE; decline to use it.
490 (__pformat_enable_thousands_grouping) [(tc & 0xF800) == 0xD800]:
491 Likewise, for thousands group separator.
493 2020-03-04 Keith Marshall <keith@users.osdn.me>
495 Reimplement wcstof(), and wcstold() functions.
497 * mingwex/wcstofp.c: New file; it implements...
498 (wcstof, wcstold): ...these functions; each is an alias for...
499 (__mingw_wcstof, __mingw_wcstold): ...these, respectively; also...
500 (__mingw_wcstod): ...this; all are implemented in terms of...
501 (__mingw_wcstofp_prescan, __mingw_wcstofp_prepare)
502 (__mingw_wcstofp_bufsize): ...these; implement them.
504 * Makefile.in (libmingwex.a): Add dependency references...
505 (wcstofp.$OBJEXT, wcstod.$OBJEXT): ...for these; also include with...
506 (wcstof.$OBJEXT, wcstold.$OBJEXT): ...these, in new build rule.
508 * include/stdlib.h (__mingw_wcstod, __mingw_wcstof)
509 (__mingw_wcstold): Declare them.
511 * mingwex/mb_wc_common.h mingwex/wcstof.c mingwex/wcstold.c: Files
512 are obsolete, and no longer required; delete them.
514 2020-03-03 Keith Marshall <keith@users.osdn.me>
516 Reimplement btowc(), and wctob() functions.
518 * include/wchar.h [__MSVCRT_VERSION__ < __MSVCR80_DLL]
519 (btowc, wctob): Implement them as static inline redirects...
520 (__msvcrt_btowc, __msvcrt_wctob): ...to these; declare them, with
521 additional MinGW specific alternatives declared...
522 (__mingw_btowc, __mingw_wctob): ...thus.
524 * mingwex/btowc.c: Rewrite as new; it now implements...
525 (__mingw_btowc, __msvcrt_btowc): ...these public API functions, either
526 of which serves as a suitable replacement entry point for...
527 (btowc): ...this, with ultimate fallback served by...
528 (__mingw_btowc_fallback): ...this private function.
530 * mingwex/wctob.c: Rewrite as new; it now implements...
531 (__mingw_wctob, __msvcrt_wctob): ...these public API functions, either
532 of which serves as a suitable replacement entry point for...
533 (wctob): ...this, with ultimate fallback served by...
534 (__mingw_wctob_fallback): ...this private function.
536 2020-03-02 Keith Marshall <keith@users.osdn.me>
538 Reimplement mbrlen(), mbrtowc(), and mbsrtowcs() functions.
540 * include/wchar.h [__MSVCRT_VERSION__ < __MSVCR80_DLL]
541 (mbrlen, mbrtowc, mbsrtowcs): Implement as static inline redirects...
542 (__msvcrt_mbrlen, __msvcrt_mbrtowc, __msvcrt_mbsrtowcs): ...to these;
543 declare them, with additional MinGW specific alternatives declared...
544 (__mingw_mbrlen, __mingw_mbrtowc, __mingw_mbsrtowcs): ...thus.
546 * mingwex/mbsrtowcs.c: New file; it implements...
547 (__mingw_mbsrtowcs, __msvcrt_mbsrtowcs): ...this pair of new
548 functions, either of which serves as a replacement for...
549 (mbsrtowcs): ...this; it was originally implemented...
550 * mingwex/mbrtowc.c: ...here; rewritten as new, it now implements...
551 (__mingw_mbrtowc, __msvcrt_mbrtowc): ...these new functions,
552 either of which serves as a public API replacement for...
553 (mbrtowc): ...this; with ultimate fallback served by...
554 (__mingw_mbrtowc_fallback): ...this private function.
556 * mingwex/mbrlen.c: New file; it implements...
557 (__mingw_mbrlen, __msvcrt_mbrlen): ...these public API entries, and...
558 (__mingw_mbrlen_fallback): ...this supporting private function.
560 * mingwex/mbrconv.c: New file; it implements...
561 (__mingw_mbrtowc_handler): ...this backend interpreter, shared by...
562 (__mingw_mbrlen_fallback, __mingw_mbrtowc_fallback): ...these.
564 * mingwex/mbrscan.c: New file; it implements...
565 (__mingw_mbtowc_codeset_init, __mingw_mbtowc_cur_max_init)
566 (__mingw_mbtowc_cur_max): ...these TLS accessor functions, and...
567 (__mingw_mbrscan_begin, __mingw_mbtowc_convert, __mingw_mbtowc_copy):
568 ...these MBCS to wide character conversion helper functions.
570 * mingwex/wcharmap.h (boolean): Define new private use data type...
571 (false, true): ...with these effective symbolic values; define them.
572 (__mingw_mbtowc_codeset_init, __mingw_mbtowc_cur_max_init)
573 (__mingw_mbtowc_cur_max, __mingw_mbrscan_begin, __mingw_mbtowc_copy)
574 (__mingw_mbtowc_convert): Declare them.
576 * Makefile.in (libmingwex.a): Add dependency references for...
577 (mbrconv.$OBJEXT, mbrscan.$OBJEXT, mbrlen.$OBJEXT, mbsrtowcs.$OBJEXT):
580 2020-02-25 Keith Marshall <keith@users.osdn.me>
582 Reimplement wcrtomb() and wcsrtombs(); cf. MinGW-Issue #39687.
584 * include/wchar.h [__MSVCRT_VERSION__ < __MSVCR80_DLL]
585 (wcrtomb, wcsrtombs): Implement them as static inline redirects to...
586 (__msvcrt_wcrtomb, __msvcrt_wcsrtombs): ...these; declare them.
587 (__mingw_wcrtomb, __mingw_wcsrtombs): Also declare these.
589 * include/limits.h (MB_LEN_MAX): Update value; was 2, but should be 5.
591 * mingwex/wcsrtombs.c: New file; it implements...
592 (__mingw_wcsrtombs, __msvcrt_wcsrtombs): ...this pair of new
593 functions, either of which serves as a replacement for...
594 (wcsrtombs): ...this; it was originally implemented...
595 * mingwex/wcrtomb.c: ...here; rewritten as new, it now implements...
596 (__mingw_wcrtomb, __msvcrt_wcrtomb): ...these new functions,
597 either of which serves as a replacement for...
600 * mingwex/wcharmap.h: New private header; it declares the API for...
601 * mingwex/wcharmap.c: ...this new file, which implements...
602 (__mingw_wctomb_convert): ...this new function, required by...
603 (__mingw_wcrtomb, __msvcrt_wcrtomb, __mingw_wcsrtombs)
604 (__msvcrt_wcsrtombs): ...these; also provides...
605 (__mingw_wctomb_codeset_init, __mingw_wctomb_cur_max_init)
606 (__mingw_wctomb_cur_max): ...these supporting thread local storage
609 * mingwex/codeset.c: New file; it implements...
610 (__mb_codeset_for_locale, __mb_len_max_for_codeset): ...this pair of
611 new helper functions; they identify the codeset, and respectively, its
612 MB_CUR_MAX for the effective process locale, which are required by...
613 (__mingw_wctomb_convert): ...this.
615 * Makefile.in (libmingwex.a): Add dependency references for...
616 (codeset.$OBJEXT, wcharmap.$OBJEXT, wcsrtombs.$OBJEXT): ...these.
618 2020-01-21 Keith Marshall <keith@users.osdn.me>
620 Address MinGW-Issue #39658; declare rand_s() function.
622 * include/stdlib.h: When the user has defined...
623 [_CRT_RAND_S]: ...this optional feature test macro, and then...
624 [__MSVCRT_VERSION__ >= __MSVCR80_DLL]: ...either this non-free, or...
625 [_WIN32_WINNT >=_ WIN32_WINNT_VISTA]: ...this system-standard runtime
626 library version constraint is satisfied, then...
627 (rand_s): ...declare function prototype.
629 2020-01-17 Keith Marshall <keith@users.osdn.me>
631 Support GCC-9.x gratuitous dependency on ftruncate64() function.
633 * include/unistd.h (ftruncate64): Declare prototype; implement it...
634 * mingwex/ftruncate.c: ...in this new file; it will delegate to...
635 (_chsize_s): ...this MSVCRT.DLL function, if available.
637 * Makefile.in (libmingwex.a): Add dependency on...
638 (ftruncate.$OBJEXT): ...this.
640 * msvcrt-xref/msvcrt.def.in (_chsize_s): Require dlsym look-up.
642 2020-01-17 Keith Marshall <keith@users.osdn.me>
644 Preserve order of tests for integrity of header files.
646 * tests/Makefile.in: Explicitly sort $wildcard output, within...
647 (list_headers): ...this new function-style macro.
648 (enum_headers): Use it.
650 * tests/headers.at: Adjust to recent GNU make $sort order.
652 2020-01-17 Keith Marshall <keith@users.osdn.me>
654 Update handling of <process.h> test-suite limitation.
656 * include/process.h (-Wbuiltin-declaration-mismatch)
657 [__IN_MINGWRT_TESTSUITE__ && __GNUC__ >= 7 && __cplusplus]: Drop...
658 [__cplusplus]: ...this diagnostic constraint, in test case when...
659 [__GNUC__ >= 9]: ...this applies; this diagnostic now affects both
660 C and C++ compilers, with respect to each of...
661 (execv, execve, execvp): ...these functions.
663 2020-01-17 Keith Marshall <keith@users.osdn.me>
665 Support GCC-9.x gratuitous use of non-standard errno accessor API.
667 * include/stdlib.h (_get_errno, _set_errno): Declare prototypes;
668 implement them in-line, for legacy Windows versions which may lack
669 them, since GCC-9.x gratuitously and ill-advisedly requires them.
670 (__STDLIB_H_SOURCED__): Define, and selectively #include...
672 * include/errno.h: ...this, subject to criterion...
673 [__STDLIB_H_SOURCED__]: ...for exposure of only...
674 (errno): ...this public API declaration, and...
675 (EINVAL): ...this symbolic constant.
677 2019-10-26 Keith Marshall <keith@users.osdn.me>
679 Fix MinGW-Issue #39757; avoid multiple vsnprintf() definitions.
681 * include/stdio.h [C++] (__mingw_stdio_redirect__): Defer redirection
682 to in-line definitions applicable for C, when the compiler suite is...
685 2019-10-16 Keith Marshall <keith@users.osdn.me>
687 Address MinGW-Issue #39677; declare _findclose() only once.
689 * include/io.h (_findclose): Relocate declaration within conditional
690 block, to prevent second exposure when <io.h> is included in full,
691 following partial inclusion by <wchar.h>
693 2019-07-06 Keith Marshall <keith@users.osdn.me>
695 Prepare and publish MinGW.org WSL-5.2.2 release.
697 * All files (wsl-5.2.2-release): Tag assigned.
699 2019-07-03 Keith Marshall <keith@users.osdn.me>
701 Avoid built-in snprintf() prototypes; fix MinGW-Bug #39224
703 * include/stdio.h [__USE_MINGW_ANSI_STDIO]
704 (snprintf, vsnprintf): Implement them in-line, delegating to...
705 (__mingw_vsnprintf): ...this external function.
707 * mingwex/stdio/snprintf.c mingwex/stdio/vsnprintf.c: Assert
708 copyright; include <stddef.h>, instead of <stdio.h>, to obtain a
709 definition of "size_t"; this is required because the new in-line
710 prototypes, now provided in <stdio.h>, conflict with the intent
711 to provide external implementations.
713 * tests/ansiprintf.at (MINGW_AT_CHECK_SNPRINTF): Conditionally
714 circumvent conditions which may produce -Wformat warnings.
716 2019-07-01 Keith Marshall <keith@users.osdn.me>
718 Revert to macro implementation of "alloca()" functions.
720 * include/alloca.h (alloca, _alloca): Delete any prior definitions;
721 remove in-line implementations; replace with conventional prototypes,
722 followed by corresponding function style macro definitions.
724 2019-01-22 Keith Marshall <keith@users.osdn.me>
726 Prepare and publish MinGW.org WSL-5.2.1 release.
728 * All files (wsl-5.2.1-release): Tag assigned.
730 2019-01-22 Keith Marshall <keith@users.osdn.me>
732 Incorporate user-customized <features.h> configuration.
734 * include/_mingw.h: Include <features.h>, or...
735 [_MINGW_FEATURES_HEADER]: ...nominated alternative header.
736 [!defined __MINGW_FEATURES__]: Provide fall-back definition.
737 (__MINGW_FEATURES_BEGIN__, __MINGW_FEATURES_ENABLE__)
738 (__MINGW_FEATURES_IGNORE__, __MINGW_FEATURES_UNSET__)
739 (__MINGW_FEATURES_END__): New macros; define them.
741 * tests/Makefile.in (install-mingwrt): Create <features.h> stub; this
742 is an empty file, yielding the default fall-back configuration.
744 2019-01-21 Keith Marshall <keith@users.osdn.me>
746 Handle another GCC compile-time warning.
748 * mingwex/memalign.c (is_power_of_two): Use in-line expansion...
749 (memalign_is_power_of_two): ...of this new function; this is required
750 to avoid -Wsequence-point warnings, which may arise when testing the
751 result of an assignment expression passed as the macro argument.
753 2019-01-11 Keith Marshall <keith@users.osdn.me>
755 Fix a mkstemp() file name generator defect.
757 * mingwex/cryptnam.c (crypto_random_filename_char): Revert 2018-09-06
758 change; argument type must be unsigned char *, to avoid math errors.
759 (__mingw_crypto_tmpname): Use explicit casts to resolve type conflicts.
761 2019-01-11 Keith Marshall <keith@users.osdn.me>
763 Fix a <stdio.h> typedef omission.
765 * include/stdio.h: Adjust comment formatting.
766 (__need___off64_t) [__MSVCRT__]: Require it, but remove...
767 [!(__STRICT_ANSI__||__NO_MINGW_LFS)]: ...this exclusion filter.
768 [!__MSVCRT__] (__need___off32_t): Require this alternative.
769 (sys/types.h): Include unconditionally.
771 2018-12-23 Keith Marshall <keith@users.osdn.me>
773 Prepare and publish MinGW.org WSL-5.2 release.
775 * All files (wsl-5.2-release): Tag assigned.
777 2018-12-22 Keith Marshall <keith@users.osdn.me>
779 Correct an optional DLL installation and packaging defect.
781 * Makefile.in (optional_dll): New function macro; define it, and...
782 (MAP_LIBMINGWEX_A_DLLVERSION): ...wrap this, replacing all usage of...
783 (optional_dll_version, optional_dll_package): ...these; delete them,
784 together with all dependent references.
786 2018-12-22 Keith Marshall <keith@users.osdn.me>
788 Update ANSI stdio feature test to accommodate ISO-C11.
790 * include/_mingw.h.in (__USE_MINGW_ANSI_STDIO): Add a deprecation
791 warning, for ill-advised direct definition in user code; include...
792 (_ISOC11_SOURCE): ...this new user defined feature test macro as a
793 further indirect enabling condition.
795 2018-12-20 Keith Marshall <keith@users.osdn.me>
797 Implement test suite for aligned heap management API.
799 * tests/testsuite.at.in: Include...
800 * tests/memalign.at: ...this new file; it replaces...
801 * mingwex/tst-aligned-malloc.c: ...this; delete it.
803 2018-12-20 Keith Marshall <keith@users.osdn.me>
805 Reimplement aligned heap management API.
807 * mingwex/mingw-aligned-malloc.c: Delete it; it is replaced by...
808 * mingwex/memalign.c: ...this new file; it reimplements...
809 (__mingw_aligned_offset_malloc, __mingw_aligned_offset_realloc)
810 (__mingw_aligned_free): ...each of these public API functions; also...
811 (__mingw_realloc, __mingw_free): ...adds these new public functions,...
812 (__mingw_memalign_base, __mingw_memalign_realloc): ...these private,
813 but globally exposed, supporting functions, and additionally...
814 (__mingw_memalign_lwm): ...this global, private use, variable.
816 * include/stdlib.h (__mingw_realloc, __mingw_free): Declare prototypes.
818 * include/malloc.h (__mingw_aligned_malloc, __mingw_aligned_realloc):
819 Implement them in-line; export them, via __LIBIMPL__, to libmingwex.a
820 (_aligned_malloc, __mingw_aligned_malloc, _aligned_offset_malloc)
821 (__mingw_aligned_offset_malloc): Add __MINGW_ATTRIB_MALLOC attribute.
822 [__MSVCRT_VERSION__ < __MSVCR70_DLL] (_aligned_malloc, _aligned_free)
823 (_aligned_realloc, _aligned_offset_malloc, _aligned_offset_realloc):
824 Implement them in-line, as wrappers around their MinGW alternatives;
825 export them, via __LIBIMPL__, to new library, libmemalign.a
827 * Makefile.in (LIBMINGWEX_MEMALIGN): New macro; define it; derive...
828 (LIBMINGWEX_MEMALIGN_OBJECTS): ...this macro; add compilation rule.
829 (libmingwex.a): Add $LIBMINGWEX_MEMALIGN_OBJECTS; they replace...
830 (mingw-aligned-malloc.$OBJEXT): ...this; remove dependency.
831 (all-mingwrt-libs, install-mingwrt-libs): Add libmemalign.a
832 (msvcrt_repl_funcs): Add alias references for...
833 (free, realloc): ...these.
835 2018-12-04 Keith Marshall <keith@users.osdn.me>
837 Reimplement Win9x specific fseek()/fwrite() redirector.
839 * include/stdio.h [__USE_MINGW_FSEEK]: Deprecate support for direct
840 user definition; deduce it, as an internal private definition, from...
841 [_WIN32_WINDOWS]: ...this, when appropriately defined for Win9x.
842 [__USE_MINGW_FSEEK] (__mingw_fseek): Declare new prototype; map it as
843 multiple __CRT_ALIAS inline function overrides for each of...
844 (fseek, _fseeki64, fseeko64): ...these.
845 [__USE_MINGW_FSEEK] (__mingw_fwrite): Likewise, overriding...
847 (__mingw_fseeko64): Delete all references; it is no longer provided,
850 * mingwex/stdio/fwrite.c: New file; it reimplements the Win9x
851 fseek()/fwrite() function redirector interface, and thus replaces...
852 * mingex/ming-fseek.c: ...this; delete it.
854 * Makefile.in (libmingwex.a): Remove dependency on...
855 (mingw-fseek.$OBJEXT): ...this object module; replace it with...
856 (fwrite.$OBJEXT): ...this alternative dependency.
858 2018-12-04 Keith Marshall <keith@users.osdn.me>
860 Implement POSIX.1-1996 linked-list queue management API.
862 * mingwex/insque.c mingwex/remque.c: New files; they implement the
863 POSIX.1-1996 insque(), and remque() functions, respectively.
865 * include/search.h (insque, remque): Declare function prototypes.
867 * Makefile.in (libmingwex.a): Add dependencies on...
868 (insque.$OBJEXT, remque.$OBJEXT): ...these.
870 2018-11-25 Keith Marshall <keith@users.osdn.me>
872 Emulate _fseeki64()/_ftelli64() API on legacy platforms.
874 * mingwex/stdio/fseeki64.c: New file; it implements...
875 (__mingw_fseeki64, fseeko64): ...both of these functions, avoiding any
876 dependency on undocumented internal implementation details of...
877 (fpos_t): ...this opaque data type, and replacing...
878 * mingwex/stdio/fseeko64.c: ...this; delete it.
880 * mingwex/stdio/ftelli64.c: New file; it implements...
881 (_ftelli64, ftello64): ...both of these, again avoiding any dependency
882 on undocumented internal implementation details of...
883 (fpos_t): ...this opaque data type.
885 * include/stdio.h (fpos_t): Make it more effectively opaque.
886 (__mingw_fseeki64, __mingw_ftelli64): Declare them for legacy use.
887 [_WIN32_WINNT < VISTA && __MSVCRT_VERSION__ < MSVCR80_DLL] (_fseeki64)
888 (_ftelli64): Map inline emulations, to "__mingw" prefixed names.
889 (ftello64): Remove inline implementation.
891 * Makefile.in (libmingwex.a): Add references to...
892 (fseeki64.$OBJEXT, ftelli64.$OBJEXT): these; remove reference to...
893 (fseeko64.$OBJEXT): ...this.
895 2018-10-21 Keith Marshall <keith@users.osdn.me>
897 Update <conio.h> and <wchar.h> header files.
899 * include/conio.h: Tidy layout; assert copyright.
900 [_CONIO_H_]: Rename multiple inclusion guard macro, to conform to...
901 [_CONIO_H]: ...this preferred convention; do not define when...
902 [__WCHAR_H_SOURCED__]: ...this selective inclusion condition applies.
903 [__need_wint_t, __need_wchar_t]: Define them; include <stddef.h>...
904 (wint_t, wchar_t): ...for these corresponding data type definitions.
905 [_WIN32_WINNT >= WINXP || __MSVCRT_VERSION__ >= __MSVCR70_DLL]
906 (_getwch, _getwche, _ungetwch, _putwch): Declare function prototypes.
907 [__MSVCRT_VERSION__>=__MSVCR80_DLL] (_getch_nolock, _getche_nolock)
908 (_ungetch_nolock, _putch_nolock, _getwch_nolock, _getwche_nolock)
909 (_ungetwch_nolock, _putwch_nolock): Likewise.
910 [_BEGIN_C_DECLS, _END_C_DECLS]: Use them.
912 * include/wchar.h: Selectively include <conio.h>, for...
913 (_getwch, _getwche, _ungetwch): ...these function prototypes, and...
914 [__MSVCRT_VERSION__>=__MSCVCR80_DLL] (_getwch_nolock)
915 (_getwche_nolock, _ungetwch_nolock): ...these.
917 2018-10-18 Keith Marshall <keith@users.osdn.me>
919 Map compile-time constant references for POSIX clocks.
921 * include/time.h (CLOCK_REALTIME, CLOCK_MONOTONIC): Redefine, using...
922 (__MINGW_POSIX_CLOCKAPI): ...this new macro; it converts clock indices
923 to odd-valued compile-time constant pseudo-pointers, (distinguishable
924 from real pointers which are always even-valued), which may be passed
925 as clockid_t references in POSIX clock API function calls.
927 * mingwex/clockapi.h (struct __clockid__): Specify 4-byte alignment.
928 (__clock_api_is_valid): Change return type to "clockid_t".
930 * mingwex/clockapi.c (__clock_api_is_valid): Return an even-valued,
931 non-NULL, "clockid_t" reference pointer, or "NULL" if invalid; use...
932 (clock_reference): ...this new static inline function, to convert...
933 (CLOCK_REALTIME, CLOCK_MONOTONIC): ...these odd-valued pseudo-pointers
934 to their actual run-time pointer equivalents; delete their physical
935 initializations, which have now become invalid.
937 * mingwex/clockres.c (clock_getres)
938 * mingwex/clocktime.c (clock_gettime)
939 * mingwex/clockset.c (clock_settime): Update the "clockid_t" argument
940 to match the real pointer returned by __clock_api_is_valid()
942 2018-10-08 Keith Marshall <keith@users.osdn.me>
944 Suppress autoconf detection of _aligned_malloc functions.
946 * msvcrt-xref/msvcrt.def.in (_aligned_malloc, _aligned_free)
947 (_aligned_offset_malloc, _aligned_realloc, _aligned_offset_realloc):
948 Mark as requiring dlsym() lookup, when linking with MSVCRT.DLL
950 2018-10-07 Keith Marshall <keith@users.osdn.me>
952 Make alloca() API both GNU and Microsoft compatible.
954 * include/malloc.h: Tidy layout; assert copyright.
955 (_MALLOC_H_): Rename guard macro, for conformance with...
956 (_MALLOC_H): ...this preferred guard macro naming convention.
957 (GCC system_header): Add pragma, declaring it as such.
958 [__MSVCRT_VERSION__ >= 0x0700]: Express symbolically, guarding...
959 (_aligned_malloc, _aligned_offset_malloc)
960 (_aligned_realloc, _aligned_offset_realloc)
961 (_aligned_recalloc, _aligned_offset_recalloc): ...these...
962 [__MSVCRT_VERSION__>=__MSVCR70_DLL]: ...thus.
963 [_BEGIN_C_DECLS, _END_C_DECLS]: Use them.
964 (alloca, _alloca): Factor them out, then include from...
965 * include/alloca.h: ...this new header file; it reimplements...
966 (alloca, _alloca): ...these, such that they remain Microsoft
967 compatible, while adding GNU conformity, either explicitly when
968 included by user code, or conditionally when included by...
969 * include/stdlib.h [!__STRICT_ANSI__]: ...this.
971 * tests/headers.at: Regenerated by "make check".
972 (MINGWRT_AT_PACKAGE_HEADERS): Add alloca.h
974 2018-09-06 Keith Marshall <keith@users.osdn.me>
976 Avoid unwanted GCC warning diagnostic messages.
978 * Makefile.in (libm_dummy.c): Remove "static" qualifier from...
979 (__mingw_libm_dummy): ...this variable; it caused "-Wunused-variable"
980 warning diagnostics, when compiled with "-Wall".
982 * main.c (WinMain): Remove unnecessary argument names from prototype.
983 (main): Make its argument list conform to convention, otherwise it
984 causes a "-Wmain" warning diagnostic when compiled with "-Wall".
986 * mingwex/clocktime.c (clock_gettime) [clock_id-type]
987 * mingwex/clockapi.c (clock_api_getres_interval) [clock_api->type]:
988 Ensure that switches include default cases; this avoids a "-Wswitch"
989 warning diagnostic message, in each case, when compiled with "-Wall".
991 * mingwex/cryptnam.c (crypto_random_filename_char): Remove "unsigned"
992 qualifier from both argument and return type; this avoids an argument
993 type mismatch, raising a "-Wpointer-sign" warning when called from...
994 (__mingw_crypto_tmpname): ...here, and compiled with "-Wall".
996 * mingwex/imaxdiv.c: Tidy layout; assert copyright.
997 (lldiv): Correct return type; explicitly disable "-Wattribute-alias"
998 diagnostic messages, under GCC pragma control.
1000 * mingwex/ofmt.c [__crtofmt__] (__mingw_set_output_format_fallback)
1001 [__crtnfmt__] (__mingw_get_printf_count_output_fallback): Likewise,
1002 disable "-Wattribute-alias" diagnostics.
1004 * mingwrt/mingwex/stdio/pformat.c (__pformat_ignore_flags): Adjust
1005 layout, to avoid a "-Wmisleading-indentation" warning diagnostic.
1006 (__pformat_argmap) [length]: Add a no-op default case, to avoid a
1007 "-Wswitch" warning diagnostic message.
1009 * mingwrt/profile/mcount.c: Explicitly disable "-Wframe-address"
1010 diagnostics, under GCC pragma control, to avoid warnings relating...
1011 (__builtin_return_address): ...this, when called from...
1014 * mingwrt/setargv.c (__mingw_setargv): Insert parentheses, as advised,
1015 to eliminate "-Wparentheses" diagnostic messages.
1017 2018-09-03 Keith Marshall <keith@users.osdn.me>
1019 Prepare and publish MinGW.org WSL-5.1.1 release.
1021 * All files (wsl-5.1.1-release): Tag assigned.
1023 2018-09-02 Keith Marshall <keith@users.osdn.me>
1025 Make clockapi symbolic constants #ifdef detectable.
1027 * mingwex/clockapi.c (CLOCK_REALTIME, CLOCK_MONOTONIC): Add "const".
1028 * include/time.h (CLOCK_REALTIME, CLOCK_MONOTONIC): Likewise; also
1029 define both as self-referencing macros.
1031 2018-08-26 Keith Marshall <keith@users.osdn.me>
1033 Circumvent <process.h> testsuite failure with GCC-7+.
1035 * include/process.h (execv, execve, execvp): Subject declarations to
1036 #pragma GCC diagnostic ignored "-Wbuiltin-declaration-mismatch", if...
1037 [__cplusplus && __IN_MINGWRT_TESTSUITE__ && __GNUC__ >= 7]: ...this.
1039 2018-04-16 Keith Marshall <keith@users.osdn.me>
1041 Suppress glob-brace expansion within quoted arguments.
1043 * setargv.c (__mingw32_setargv) [quoted]: Handle '{', ',', and '}'
1044 in the same manner as '*', and '?'.
1046 2018-04-16 Keith Marshall <keith@users.osdn.me>
1048 Suppress glob-brace expansion of single item lists.
1050 * mingwex/glob.c (glob_match) [c == '{']: Look-ahead to matching '}';
1051 ignore intervening nested '{' ... '}' expression groups, and suppress
1052 special interpretation of '{' if '\0' encountered before '}' at outer
1053 nesting level, or if no unescaped ',' found within outer expression.
1055 2018-02-26 Keith Marshall <keith@users.osdn.me>
1057 Prepare and publish MinGW.org WSL-5.1 release.
1059 * All files (wsl-5.1-release): Tag assigned.
1061 2018-02-22 Keith Marshall <keith@users.osdn.me>
1063 Correct <sys/timeb.h> 32-bit vs. 64-bit time_t anomalies.
1065 * include/sys/timeb.h: Assert copyright; tidy layout.
1066 (_TIMEB_H_): Original multiple inclusion guard macro; rename it...
1067 (_SYS_TIMEB_H): ...conforming to this preferred naming convention.
1068 (GCC system_header): Add pragma, asserting it as such a header.
1069 (__need_time_t): Define for selective <sys/types.h> inclusion.
1070 (_BEGIN_C_DECLS, _END_C_DECLS): Use them as appropriate.
1071 (pragma pack): Push to pack all structs with 2-byte alignment.
1072 (struct timeb): Mark as deprecated, from POSIX.1-2001 onwards.
1073 (ftime): Likewise, mark as deprecated; always emulate it by in-line
1074 redirection to _ftime(), however this may be implemented.
1075 (struct __timeb32): Make its definition unconditionally visible.
1076 (_ftime32) [__MSVCRT_VERSION__ >= __MSVCR80_DLL]: Declare prototype.
1077 (_ftime32) [_WIN64 || _WIN32_WINNT >= _WIN32_WINNT_VISTA]: Likewise,
1078 otherwise emulate it by in-line redirection to 32-bit _ftime().
1079 (struct __timeb64, _ftime64): Make visibility condition symbolic...
1080 [__MSVCRT_VERSION__ >= __MSVCR61_DLL]: ...thus; add visibility for...
1081 [_WIN64 || _WIN32_WINNT >= _WIN32_WINNT_WIN2K]: ...these alternatives.
1082 (_ftime) [__MSVCRT_VERSION__ < __MSVCR80_DLL]: Declare prototype.
1083 (_ftime) [__MSVCRT_VERSION__ >= __MSVCR80_DLL]: Emulate it...
1084 [_USE_32BIT_TIME_T]: ...by in-line redirection to _ftime32(), else...
1085 [!_USE_32BIT_TIME_T]: ...to _ftime64().
1087 * tests/headers.at [sys/timeb.h]: Suppress "deprecated" warnings.
1089 2018-02-22 Keith Marshall <keith@users.osdn.me>
1091 Correct Windows version support for <utime.h> functions.
1093 * include/sys/utime.h: Tidy layout; assert copyright.
1094 (_UTIME_H_): Rename this repeat inclusion guard macro...
1095 (_SYS_UTIME_H): ...to this, for consistency with current practice.
1096 (_BEGIN_C_DECLS, _END_C_DECLS): Use them, as appropriate.
1097 (struct __utimbuf32): Define it unconditionally; remove...
1098 [__MSVCRT_VERSION__>=0x0800]: ...this prerequisite.
1099 (_utime32, _wutime32, _futime32): Declare them for...
1100 [_WIN32_WINNT >= _WIN32_WINNT_VISTA]: ...this, in addition to...
1101 [__MSVCRT_VERSION__>=__MSVCR80_DLL]: ...this original condition, but
1102 also emulate them in-line, if neither condition applies.
1103 [__MSVCRT_VERSION__>=__MSVCR80.DLL] (_utime, _wutime, _futime):
1104 Implement them in-line, delegating each respectively to...
1105 [_USE_32BIT_TIME_T] (_utime32, _wutime32, _futime32): ...these, or...
1106 [!_USE_32BIT_TIME_T] (_utime64, _wutime64, _futime64): ...to these.
1107 [__MSVCRT_VERSION__>=__MSVCR80.DLL] (utime): Implement in-line, or...
1108 [__MSVCRT_VERSION__<__MSVCR80.DLL] (utime): ...declare it.
1110 2018-01-17 Keith Marshall <keith@users.osdn.me>
1112 Fix faulty POSIX deprecation warning logic.
1114 * include/_mingw.h.in (__POSIX_2008_DEPRECATED): Do not nest...
1115 (__POSIX_2001_DEPRECATED): ...within defininion of this; similarly...
1116 (__POSIX_1995_DEPRECATED): ...neither within this; rename this as...
1117 (__POSIX_1996_DEPRECATED): ...this; although conditional upon...
1118 [_POSIX_C_SOURCE >= 199506L]: ...this, the corresponding standard was
1119 eventually ratified, not as POSIX.1-1995, but as POSIX.1-1996
1121 2017-12-28 Keith Marshall <keith@users.osdn.me>
1123 Fix a build issue, assembling generic SX files.
1125 * Makefile.in (%_generic.sx): Always use $(COMPILE.sx) to pre-process
1126 and assemble these; with $(CC) -c $(ALL_CPPFLAGS) $(ASFLAGS), versions
1127 of GCC, prior to GCC-4.3, will fail to identify the source file suffix
1128 correctly, resulting in failure to assemble the code.
1130 2017-12-18 Keith Marshall <keith@users.osdn.me>
1132 Support strtok() re-entrancy, per request [#2342].
1134 * mingwex/strtok_r.c: New file; it implements...
1135 (strtok_r): ...this function, per POSIX.1-1995 specification.
1136 * Makefile.in (libmingwex.a): Add reference; make it depend on...
1137 (strtok_r.$OBJEXT): ...this.
1139 * include/string.h: Declare corresponding runtime API.
1140 [_POSIX_C_SOURCE >= 199506L] (strtok_r): Add function prototype.
1141 [__MSVCRT_VERSION__ >= __MSVCR80_DLL] (strtok_s): Likewise; this is
1142 the Microsoft equivalent function, first introduced in this non-free
1143 MSVC runtime library; subsequently available in MSVCRT.DLL since...
1144 [_WIN32_WINNT >= _WIN32_WINNT_VISTA]: ...this release, likewise.
1146 2017-12-16 Keith Marshall <keith@users.osdn.me>
1148 Implement autotest module for POSIX clock API functions.
1150 * tests/clockapi.at: New file.
1151 * tests/testsuite.at.in (clockapi.at): Incorporate it.
1153 2017-12-15 Keith Marshall <keith@users.osdn.me>
1155 Implement a subset of the POSIX.1b-1993 clock API.
1157 * include/time.h [_POSIX_C_SOURCE >= 199309L]
1158 (clockid_t): New structured data type; define it opaquely, and...
1159 (CLOCK_REALTIME, CLOCK_MONOTONIC): ...declare these extern instances.
1160 (clock_getres, clock_gettime, clock_settime): New functions; declare
1163 * mingwex/clockapi.h mingwex/clockapi.c mingwex/clockres.c
1164 * mingwex/clockset.c mingwex/clocktime.c: New files; they implement
1165 the preceding clock instances, and associated API functions.
1167 * include/sys/time.h [_POSIX_C_SOURCE >= 200809L] (gettimeofday):
1168 Mark it as "deprecated".
1170 2017-12-14 Keith Marshall <keith@users.osdn.me>
1172 Add support for POSIX.1 "obsolescence" warnings.
1174 * include/_mingwrt.h.in (__POSIX_1995_DEPRECATED)
1175 (__POSIX_2001_DEPRECATED, __POSIX_2008_DEPRECATED): New macros; define
1176 them, such as each is conditional on the specific value assigned to...
1177 [_POSIX_C_SOURCE]: ...this feature test macro, as the equivalent of...
1178 (__MINGW_ATTRIB_DEPRECATED): ...this, or of nothing, as appropriate.
1180 2017-12-06 Keith Marshall <keith@users.osdn.me>
1182 Prepare and publish MinGW.org WSL-5.0.2 release.
1184 * All files (wsl-5.0.2-release): Tag assigned.
1186 * Makefile.in (mingwrt-srcdist-package-files): Add reference...
1187 * $mingwrt_srcdir/*.sx: ...for files matching this template.
1189 2017-12-02 Keith Marshall <keith@users.osdn.me>
1191 Provide legacy OS work around for issue [#2357]
1193 * cpu_features.c: Delete; replace it with...
1194 * cpu_features.sx: ...this new assembly language file.
1196 * cpu_features.h [__ASSEMBLER__]
1197 (__cpu_features, __cpu_features_init): Suppress declarations.
1199 * Makefile (%.sx): Add $srcdir vpath reference.
1201 2017-11-28 Keith Marshall <keith@users.osdn.me>
1203 Handle indeterminate FLT_EVAL_METHOD; fix issue [#2352].
1205 * include/math.h [FLT_EVAL_METHOD == 0 || FLT_EVAL_METHOD == 1]
1206 (float_t, double_t): Define them explicitly, as appropriate for each
1207 of these two specific cases only; otherwise, define them as if for...
1208 [FLT_EVAL_METHOD == 2]: ...this explicit case, but also apply it as a
1209 suitable default compromise for the indeterminate case, in which...
1210 [FLT_EVAL_METHOD != 2]: ...emit indeterminacy warning.
1212 2017-10-25 Keith Marshall <keithmarshall@users.sourceforge.net>
1214 Include, and make <sys/bsdtypes.h> test suite safe.
1216 * tests/headers.at (sys/bsdtypes.h): Add reference.
1218 * include/sys/bsdtypes.h [__IN_MINGWRT_TESTSUITE__]: Add to...
1219 [_BSD_SOURCE || _WINSOCK2_H]: ...these, as conditions for supression
1220 of "ill-advised usage" warning message.
1222 2017-09-15 Keith Marshall <keithmarshall@users.sourceforge.net>
1224 Factor <sys/time.h> duplicate content out of winsock headers.
1226 * include/sys/time.h: Assert copyright; tidy layout.
1227 [_BEGIN_C_DECLS, _END_C_DECLS]: Use them to avoid C++ name mangling.
1228 [__WINSOCK_H_SOURCED__] (_SYS_TIME_H): Do not define it; hence...
1229 [!defined _SYS_TIME_H]: ...selectively expose definitions for only...
1230 (timerclear, timerisset, timercmp): ...these functional macros, and...
1231 (struct timeval): ...this data type; inhibit redefinition on...
1232 [defined _SYS_TIME_H && _WINSOCK_H]: ...second reading.
1233 (_TIMEVAL_DEFINED): Do not define; it isn't required.
1235 2017-09-09 Keith Marshall <keithmarshall@users.sourceforge.net>
1237 Factor BSD non-standard type definitions into common header.
1239 * profile/gmon.h [_BSDTYPES_DEFINED]: Delete block; include...
1240 * include/sys/bsdtypes.h: ...this new file instead; it defines...
1241 (u_char, u_int, u_long, u_short): ...these non-standard data types.
1243 * profile/gmon.c profile/mcount.c [_BSD_SOURCE]: Declare it;
1244 it suppresses warnings from <sys/bsdtypes.h>, about ill-advised
1245 non-standard BSD typedef usage.
1247 2017-07-30 Keith Marshall <keithmarshall@users.sourceforge.net>
1249 Prepare and tag for release of MinGW.org WSL-5.0.1
1251 * All files (wsl-5.0.1-release): Tag assigned.
1253 2017-07-12 Keith Marshall <keithmarshall@users.sourceforge.net>
1255 Automate testsuite dependency generation.
1257 * tests/Makefile.in (testsuite) [$srcdir/*.at]: Automatically
1258 enumerate all such wildcard matches as prerequisites, instead of...
1259 (headers.at, ansiprintf.at, logarithms.at, powerfunc.at): ...these,
1260 which were previously enumerated explicitly.
1262 2017-06-05 Keith Marshall <keithmarshall@users.sourceforge.net>
1264 Automatically correct obsolete _XOPEN_SOURCE usage.
1266 * include/_mingw.h.in (__paste, __valueless): New macros; define them.
1267 (_XOPEN_SOURCE) [defined with no value]: Use them to attempt to deduce
1268 this obsolete usage; if detected, redefine it with a default assigned
1269 value of one, emulating -D_XOPEN_SOURCE command line definition.
1271 2017-05-24 Keith Marshall <keithmarshall@users.sourceforge.net>
1273 Fix snprintf()/vsnprintf() -Wformat vs. multiple definition issue.
1275 * include/stdio.h (__mingw_stdio_redirect__): Add reference to...
1276 (__Wformat): ...this new macro; define it, such that it expands via...
1277 (__Wformat_mingw_printf, __Wformat_msvcrt_printf): ...these new macros,
1278 ultimately expanding to an attribute declaration, in terms of...
1279 (__Wformat_ms_vprintf, __Wformat_ms_vfprintf, __Wformat_ms_vsprintf)
1280 (__Wformat_ms_printf, __Wformat_ms_fprintf, __Wformat_ms_sprintf):
1281 ...any one of these; they map to an ms_printf attribute, or...
1282 (__Wformat_vprintf, __Wformat_vfprintf, __Wformat_vsprintf)
1283 (__Wformat_printf, __Wformat_fprintf, __Wformat_sprintf): ...any one
1284 of these; they map conditionally to...
1285 [__GNUC__>=6] (__mingw_printf__): ...this new format attribute, or...
1286 [__GNUC__< 6]: ...nothing.
1287 (snprintf, vsnprintf): Revert 2017-01-30 inline definitions; add...
1288 (__Wformat_snprintf, __Wformat_vsnprintf): ...these attributes; they
1289 are also mapped conditionally, in this case to...
1290 [__GNUC__>=6] (__mingw_printf__): ...this, or...
1291 [__GNUC__< 6] (__gnu_printf__): ...this.
1293 2017-03-14 Keith Marshall <keithmarshall@users.sourceforge.net>
1295 Refactor mingwrt and w32api common makefile content.
1297 * Makefile.in (mingwrt-srcdist-config-files): Rename it...
1298 (mingwrt-srcdist-common-files): ...as this phoney build rule.
1299 (shared_include_file): New macro; define it, and include named file.
1300 (configure, config.status, Makefile, config.status.missing, _mingw.h)
1301 (w32api.h, PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): Factor
1302 out; relocate them to new file in common parent directory...
1303 * ../Makefile.comm: ...here.
1305 2017-03-09 Keith Marshall <keithmarshall@users.sourceforge.net>
1307 Fix generated header file dependencies.
1309 * Makefile.in (_mingw.h, w32api): Make them depend on changes in...
1310 [VERSION.m4]: ...this; package version changes are no longer made...
1311 [configure.ac]: ...here; delete associated prerequisite reference.
1312 (distclean-local): Delete them.
1314 2017-03-09 Keith Marshall <keithmarshall@users.sourceforge.net>
1316 Strip optional DLLs, when staging for distribution.
1318 * Makefile.in (mingwrt-%-optist): Recursively make...
1319 (install-strip-$*-optional-dll): ...this internal target, not...
1320 (install-$*-optional-dll): ...this.
1322 2017-03-08 Keith Marshall <keithmarshall@users.sourceforge.net>
1324 Prepare and tag for release of mingwrt-5.0 package set.
1326 * All files (wsl-5.0-release): Tag assigned.
1328 2017-03-07 Keith Marshall <keithmarshall@users.sourceforge.net>
1330 Avoid -shared-libgcc dependencies in optional DLLs.
1332 * Makefile.in (dllname): Qualify it, by addition of...
1333 (LIBGCC_LINK_OPTION): ...this DLL name specific linking option macro.
1334 (libmingwex.dll.a): Force it to use -static-libgcc for associated DLL.
1336 2017-02-27 Keith Marshall <keithmarshall@users.sourceforge.net>
1338 Support optional DLL builds from static libraries.
1340 * aclocal.m4 (MINGW_AC_SET_DLLVERSION): New macro; define it, and...
1341 * VERSION.m4: ...use it here, to enumerate the specifcations for...
1342 (MINGW_AC_ENUMERATE_DLLVERSION_SPECS): ...this collection of DLL
1343 version identification records.
1345 * Makefile.in (DLLVERSION): New macro; define default, and capture
1346 library specific variants, as generated by AC_SUBST output from...
1347 (MINGW_AC_ENUMERATE_DLLVERSION_SPECS): ...this configuration macro.
1348 (a2dll, dllname, dllsuffix): New macros; define them, together with
1349 new pattern rule using them, to create DLLs and import libraries from
1350 existing static object libraries; augment these with...
1351 (optional_dll_version): ...this further new macro, used by...
1352 (install-optional-dlls, install-mingwrt-optional-dlls)
1353 (install-libmingwex-optional-dll): ...these new installation rules...
1354 (uninstall-optional-dlls, uninstall-mingwrt-optional-dlls): ...and
1355 counterpart rules, to uninstall all such optional DLL files.
1356 (optional_dll_package): Further new macro; it is required by...
1357 (optdist, mingwrt-optdist, mingwrt-libmingwex-optdist): ...these new
1358 distribution rules; they create packages for optional DLLs.
1359 (dist): Add optdist.
1361 * configure.ac (MINGW_AC_ENUMERATE_DLLVERSION_SPECS): Invoke it.
1363 2017-02-24 Keith Marshall <keithmarshall@users.sourceforge.net>
1365 Make floating point environment more robust.
1367 * CRT_fp8.c CRT_fp10.c: Delete them; both are replaced by...
1368 * CRT_fenv.c: ...this new common source file; it implements...
1369 (_CRT_fenv): ...this new global variable, with alternative definitions
1370 evaluated during application start-up, to assign one or other of...
1371 [FE_PC53_ENV, FE_PC64_ENV]: ...these, as the preferred default...
1372 [FE_DFL_ENV]: ...represented by this; replacement linkage for...
1373 (_fpreset): ...this MSVCRT.DLL function is no longer supported.
1375 * Makefile.in: Add new static pattern rule, for compiling...
1376 (CRT_fp8.$OBJEXT, CRT_fp10.$OBJEXT): ...each of these, from CRT_env.c
1378 * crt1.c (_gnu_exception_handler, __mingw_CRTStartup): Do not call...
1379 (_fpreset): ...this; its linkage was non-deterministically ambiguous.
1380 (fesetenv): Use this, unambiguously, instead; initially configure the
1381 floating point environment to the predefined state, as assigned to...
1382 [_CRT_fenv]: ...this new global variable; thereafter, reset to...
1383 [FE_DFL_ENV]: ...this ISO-C99 mandatory configuration.
1385 * include/float.h: Assert copyright; tidy layout.
1386 [_MINGW_FLOAT_H_]: Retain, but replace in guard macro usage by...
1387 [_MINGW_FLOAT_H]: ...this, conforming to preferred naming convention.
1388 [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
1389 (_fpreset): Add _CRTIMP attribute; it is resolved by MSVCRT.DLL
1390 (fpreset): Deprecate it; provide inline __LIBIMPL__ fall-back.
1392 * include/fenv.h: Assert copyright; tidy layout.
1393 [_FENV_H_]: Rename multiple inclusion guard macro, adopting...
1394 [_FENV_H]: ...this preferred stylistic naming convention.
1395 [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
1396 (FE_INVALID, FE_DENORMAL, FE_DIVBYZERO, FE_OVERFLOW, FE_UNDERFLOW)
1397 (FE_INEXACT, FE_ALL_EXCEPT, FE_TONEAREST, FE_DOWNWARD, FE_UPWARD)
1398 (FE_TOWARDZERO): Redefine them, in terms of enumerated bit positions.
1399 (FE_PD53_ENV, FE_PD64_ENV): New predefined environment selectors; they
1400 serve as initialization-time aliases, causing redefinition of...
1401 [FE_DFL_ENV]: ...this, as run-time alias for one or other of...
1402 [FE_PC53_ENV, FE_PC64_ENV]: ...these, respectively.
1404 * mingwex/fesetenv.c: Assert copyright; tidy layout.
1405 (fesetenv) [FE_PD53_ENV || FE_PD64_ENV]: Handle them, assigning to...
1406 (FE_DFL_ENV): ...this ISO-C99 mandatory configuration, representing...
1407 (fenv_default): ...the value of this new static variable.
1408 (_fpreset): Call it directly; now always resolved by MSVCRT.DLL, so...
1409 (*_imp__fpreset): ...this indirection becomes unnecessary.
1411 2017-02-21 Keith Marshall <keithmarshall@users.sourceforge.net>
1413 Make mingwrt and w32api test suites consistent.
1415 * Makefile.in (test): New rule; define it as a synonym for...
1416 (check tests): ...these, so maintaining consistency with w32api.
1418 2017-02-16 Keith Marshall <keithmarshall@users.sourceforge.net>
1420 Work around GCC bug; force C++11 to support std::wcstof().
1422 * include/_mingw.h [_ISOC99_SOURCE && __cplusplus >= 201103L]
1423 [__GNUC__ < 6] (_GLIBCXX_HAVE_WCSTOF): Define it to 1; it is required
1424 because, prior to GCC-6, GCC's configuration process fails to specify
1425 it correctly, and so invalidates its own <string> header file.
1427 2017-02-12 Keith Marshall <keithmarshall@users.sourceforge.net>
1429 Support brace expansion in globbing patterns.
1431 * include/glob.h (GLOB_BRACE): New manifest constant; define it...
1432 (__GLOB_FLAG__): ...in terms of this macro.
1434 * mingwex/glob.c (glob_match): Reindent, with preamble invoking...
1435 (glob_brace_expand): ...this new static inline function; implement it.
1436 (GLOB_INIT, GLOB_FREE): Redefine them, relating them to...
1437 (__GLOB_FLAG_OFFSET_HIGH_WATER_MARK): ...this.
1439 * setargv.c (__mingw32_setargv) [_CRT_glob]: Check if it includes...
1440 [GLOB_CASEMATCH | GLOB_BRACE]: either of these; remove check for...
1441 [__CRT_GLOB_CASE_SENSITIVE__]: ...this defunct option.
1443 * include/_mingw.h.in (GLOB_BRACE): Note its use in _CRT_glob.
1444 (GLOB_CASEMATCH): Likewise; this replaces all former usage of...
1445 (__CRT_GLOB_CASE_SENSITIVE__): ...this; delete definition.
1447 2017-02-11 Keith Marshall <keithmarshall@users.sourceforge.net>
1449 Refactor <getopt.h> and <unistd.h> shared declarations.
1451 * include/getopt.h: Assert copyright.
1452 (_BEGIN_C_DECLS, _END_C_DECLS): Use as appropriate.
1453 (__GETOPT_H__, __GETOPT_LONG_H__): Delete them; replace them with...
1454 (_GETOPT_H): This new macro; it guards the entire file, except when...
1455 [__UNISTD_H_SOURCED__]: ...do not activate it; hence when...
1456 [!_GETOPT_H]: ...do not expose API declarations for...
1457 (getopt_long, getopt_long_only): ...these functions.
1458 [_GETOPT_H && _UNISTD_H]: Skip second pass API declarations for...
1459 (getopt): ...this function.
1461 * include/unistd.h: Use the #include "..." form when including...
1462 (io.h, process.h, getopt.h): ...these, to ensure correct association.
1463 (ftruncate): Map it directly to MSVCRT.DLL's _chsize() entry point.
1465 2017-02-10 Keith Marshall <keithmarshall@users.sourceforge.net>
1467 Avoid unnecessary duplication of configuration files.
1469 * Makefile.in (vpath install-sh): Define it; it matches...
1470 (vpath %.m4): ...this; add $top_srcdir/..; search it first; delete
1471 rule for creating duplicate file reference links in $top_srcdir.
1472 (configure): Add '-I ..' option, when running autoconf.
1473 (mingwrt-srcdist-package-files): Remove dependencies on...
1474 (aclocal.m4 VERSION.m4 install-sh): ...these; reinstate them in...
1475 (mingwrt-srcdist-config-files): ...this new distributable files
1476 enumeration goal; add it as a new prerequisite of...
1477 (mingwrt-srcdist-files): ...this.
1479 2017-02-07 Keith Marshall <keithmarshall@users.sourceforge.net>
1481 Ensure selective inclusion of the correct <strings.h>
1483 * include/string.h: Use "..." form for selective inclusion of ...
1484 (strings.h): ...this, to ensure that we get our own version, avoiding
1485 any inappropriate alternative which may have been insinuated into the
1486 system header include path.
1488 2017-02-04 Keith Marshall <keithmarshall@users.sourceforge.net>
1490 Resolve a global variable naming inconsistency.
1492 * mingwex/ofmt.c (__mingw_output_format_flag): Rename it as...
1493 (__mingw_output_format_flags): ...this, at point of definition, and
1494 update all references, to maintain consistency with usage...
1495 * mingwex/ofmtctl.c (__mingw_output_format_flags): ...here.
1497 * mingwex/stdio/pformat.c: Update references.
1499 2017-01-30 Keith Marshall <keithmarshall@users.sourceforge.net>
1501 Implement strerror_r()/strerror_s() API.
1503 * mingwex/strerror_r.c: New file; it implements...
1504 (strerror_r): ...this new POSIX.1-2001 conforming function.
1506 * include/string.h (strerror_s): Add function prototype, subject to...
1507 [_MSVCR80_DLL || _WIN32_WINNT_VISTA]: ...this DLL version dependency;
1508 otherwise implement an inline wrapper function to emulate it, using...
1509 [_POSIX_C_SOURCE > 200112L] (strerror_r): ...this; add prototype.
1511 * Makefile.in (libmingwex.a): Add strerror_r.$OBJEXT
1513 2017-01-30 Keith Marshall <keithmarshall@users.sourceforge.net>
1515 Avoid -Wformat noise from snprintf() and vsnprintf()
1517 * include/stdio.h (snprintf, vsnprintf): Add inline implementations;
1518 they redirect to "__mingw_" prefixed alternatives, so suppressing the
1519 effect of automatic format attribute recognition.
1521 2017-01-30 Keith Marshall <keithmarshall@users.sourceforge.net>
1523 Remove duplicate libmingwex.a entries.
1525 * mingwex/jmpstub.sx (DLLENTRY): Interpret it.
1527 * Makefile.in (jmpstub_awk_script): Handle DLLENTRY.
1528 (libmingwex.a): Remove explicit object file references to...
1529 (snwprintf, vsnwprintf): ...these.
1531 * include/stdio.h (snwprintf, vsnwprintf): Map them as __JMPSTUB__
1532 references to MSVCRT.DLL entry points, via DLLENTRY references to...
1533 (_snwprintf, _vsnwprintf): ...these, respectively.
1535 * mingwex/snwprintf.c: Redundant file; delete it.
1536 * mingwex/vsnwprintf.c: Likewise.
1538 2017-01-29 Keith Marshall <keithmarshall@users.sourceforge.net>
1540 Clean up <limits.h> header file.
1542 * include/limits.h: Tidy layout; assert copyright.
1543 (#pragma GCC system_header): Declare it as being such.
1544 (_LIMITS_H_): Rename this multiple inclusion guard macro...
1545 (_LIMITS_H): ...to adopt this preferred form.
1546 [__STDC_VERSION__ >= 199901L]: Infer it...
1547 [_ISOC99_SOURCE]: ...from this.
1549 2017-01-29 Keith Marshall <keithmarshall@users.sourceforge.net>
1551 Expose C99 features required by C++11; fix issue [#2335]
1553 * include/_mingw.h.in (_ISOC99_SOURCE): Ensure it is defined for...
1554 [__cplusplus >= 201103L]: ...this conformance level, in addition to...
1555 [__STDC_VERSION__>= 199901L || _POSIX_C_SOURCE >= 200112L]: ...these.
1556 [_GLIBCXX_USE_C99]: Force it for -std=c++11, subject to...
1557 [__GNUC__ < 6]: ...this.
1559 * include/ctype.h (isblank): Declare it only if...
1560 [_ISOC99_SOURCE]: ...this, thus simplifying declarative condition.
1561 * include/wctype.h (iswblank) [_ISOC99_SOURCE]: Likewise.
1562 * include/inttypes.h (SCNd8, SCNdLEAST8, SCNdFAST8, SCNi8, SCNiLEAST8)
1563 (SCNiFAST8, SCNo8, SCNoLEAST8, SCNoFAST8, SCNx8, SCNxLEAST8, SCNxFAST8)
1564 (SCNu8, SCNuLEAST8, SCNuFAST8) [_ISOC99_SOURCE]: Likewise.
1566 2017-01-28 Keith Marshall <keithmarshall@users.sourceforge.net>
1568 Make strnlen() and wcsnlen() declaratively consistent.
1570 * include/string.h (strnlen): Do not expose its declaration, unless...
1571 [_POSIX_C_SOURCE >= 200809L]: ...this feature test is enabled.
1573 2017-01-28 Keith Marshall <keithmarshall@users.sourceforge.net>
1575 Implement wcsnlen() API per feature request [#2332].
1577 * mingwex/strnlen.s: Rename it as...
1578 * mingwex/strnlen.sx: ...this; use C preprocessor logic to adapt...
1579 (__mingw_strnlen): ...this existing function implementation for use...
1580 [_UNICODE] (__mingw_wcsnlen): ...as this.
1582 * include/wchar.h [_POSIX_C_SOURCE >= 200809L] (wcsnlen): Declare...
1583 [__MSVCRT_VERSION__>=__MSVCR80_DLL]: ...using MS DLL implementation...
1584 [!__MSVCRT_VERSION__>=__MSVCR80_DLL] (__mingw_wcsnlen): ...otherwise,
1585 declare this, with inline __JMPSTUB__ implementation, providing...
1588 * Makefile.in (wcsnlen.$OBJEXT): New build rule.
1589 (libmingwex.a): Add wcsnlen.$OBJEXT as new prerequisite.
1590 (libmoldname.a, libmoldnamed.a): Add __JMPSTUB__ wrappers.
1591 (libmoldname70.a, libmoldname70d.a): Likewise.
1592 (libmoldname71.a, libmoldname71d.a): Likewise.
1594 for all other MSVC non-free associated oldname import libraries.
1595 (vpath): Add $srcdir/mingwex for %.sx; hence mapping for...
1596 (jmpstub.sx): ...this becomes redundant; delete it.
1598 2017-01-26 Jason Hood <jadoxa@yahoo.com.au>
1600 Honour GLOB_CASEMATCH for globbing sets; cf. issue [#2327].
1602 * include/glob.h (GLOB_CASEMATCH): Update comment.
1603 * mingwex/glob.c (glob_case_match): Move before, and use it in...
1604 (glob_in_set): ...this function, to test characters in the set.
1606 2017-01-26 Keith Marshall <keithmarshall@users.sourceforge.net>
1608 Avoid snprintf() overhead in directory stream functions.
1610 * mingwex/dirent.c (dirent_update): Do not use either snprintf() or
1611 snwprintf() functions when updating dd->d_name and dd->d_namlen data;
1612 emulate them instead, using a lightweight inline char-by-char counted
1613 copy loop, operating on char or wchar_t data as appropriate.
1614 (DIRENT_ASSIGN_NAME): Macro no longer required; delete it.
1615 (NUL): New manifest constant; define it.
1617 2017-01-26 Keith Marshall <keithmarshall@users.sourceforge.net>
1619 Avoid #include_next misbehaviour; cf. MinGW-Bug [#2330]
1621 * include/ctype.h (wctype.h): Use "..." form of #include, rather than
1622 the <...> form; we must include our own corresponding mingwrt version
1623 of this subsidiary header, and avoid any bogus alternative which may
1624 have been insinuated earlier in the system header path.
1626 * include/string.h (wchar.h): Likewise.
1628 2017-01-25 Jason Hood <jadoxa@yahoo.com.au>
1630 Correct quoted backslash handling, per bug [#2328].
1632 * setargv.c (__mingw32_setargv): Within single quotes, backslashes
1633 should be interpreted literally; copy them as-is.
1635 2017-01-25 Keith Marshall <keithmarshall@users.sourceforge.net>
1637 Use C99 blanks as default argv separators, per issue [#2329].
1639 * setargv.c [_ISOC99_SOURCE]: Require it.
1640 (__mingw32_setargv): Separate command line arguments based on...
1641 [(quoted == 0) && isblank( c )]: ...this condition, instead of on...
1642 [(quoted == 0) && isspace( c )]: ...this, so that only blanks, rather
1643 than any whitespace characters, serve as default argument separators.
1645 2017-01-10 Keith Marshall <keithmarshall@users.sourceforge.net>
1647 Correct <strings.h> preprocessor logic; fix bug [#2322]
1649 * include/strings.h (_stricmp, _strnicmp): Always declare, unless...
1650 [__STRICT_ANSI__ && __NO_INLINE__]: ...both of these are defined.
1652 2016-11-28 Keith Marshall <keithmarshall@users.sourceforge.net>
1654 Implement POSIX.1 compatible setenv() and unsetenv() functions.
1656 * mingwex/setenv.c: New file; it implements...
1657 (__mingw_setenv): ...this function, providing common code for...
1658 * include/stdlib.h [_POSIX_C_SOURCE >= 200112L] (setenv, unsetenv):
1659 ...these user visible functions, implemented as __CRT_ALIAS inlines;
1660 qualify them as __JMPSTUB__ and __LIBIMPL__ respectively, so ensuring
1661 that their corresponding external representations are automatically
1662 added to libmingwex.a
1664 * Makefile.in (libmingwex.a): Add setenv.$OBJEXT
1666 2016-11-27 Keith Marshall <keithmarshall@users.sourceforge.net>
1668 Work around another C++11 compliance issue; fix bug [#2321].
1670 * include/excpt.h (__try1_setup, __except1_teardown): Add spaces to
1671 separate each use of '__wsize' and '__ts' macros from all surrounding
1672 string literals, to ensure that C++ parses them as distinct tokens.
1674 2016-11-21 Keith Marshall <keithmarshall@users.sourceforge.net>
1676 Replace defective powf() and powl() function implementations.
1678 * mingwex/math/powf.c mingwex/math/powl.c: Delete; replaced by...
1679 * mingwex/math/pow_generic.sx: ...this new file; it implements...
1680 (__x87pow): ...this generic power function back-end, serving...
1681 (pow, powf, powl): ...each of these front-end entry points.
1683 * Makefile.in (libmingwex.a): Add x87pow.$OBJEXT
1685 * include/math.h (powf): Remove inline implementation; it no longer
1686 offers any inline advantage.
1688 2016-11-18 Keith Marshall <keithmarshall@users.sourceforge.net>
1690 Implement unit tests for power functions.
1692 * tests/testsuite.at.in: m4_include...
1693 * tests/Makefile.in (testsuite): ...and add dependency on...
1694 * tests/powerfunc.at: ...this new file; it specifies unit tests to
1695 check POSIX.1-2008 compliance of results and errno assignment from...
1696 (pow, powf, powl): ...each of these functions.
1698 2016-11-14 Keith Marshall <keithmarshall@users.sourceforge.net>
1700 Add POSIX compliant errno assignments to log functions.
1702 * include/errno.h: Make it assembly language compatible.
1703 [__ASSEMBLER__]: Omit <_mingw.h>; do not declare prototype for...
1704 (_errno): ...this accessor function; the declaration is syntactically
1705 invalid, in assembly language code.
1707 * mingwex/math/errno.sx: New file; when included by other assembly
1708 language files, it provides bindings for assignement of any constant
1709 defined in <errno.h> to the global errno variable, facilitated by...
1710 (errno): ...this new GAS macro.
1712 * mingwex/math/log_generic.sx: New file; it provides a generic back
1713 end implementation for multiple logarithmic functions, accessed via...
1714 (___x87log, ___x87log_chk): ...this pair of entry points, serving...
1715 (log, logf, log): ...each of these primary functions; it replaces...
1716 * mingwex/math/logf.s mingwex/math/logl.s: ...these; delete them.
1718 * mingwex/math/log1p_generic.sx mingwex/math/log10_generic.sx
1719 * mingwex/math/log2_generic.sx: New files; each acts as a wrapper for
1720 log_generic.sx, providing the front end entry stubs for each of...
1721 (log1p, log1pf, log1pl, log10, log10f, log10l, log2, log2f, log2l):
1722 ...these functions; thus, they provide complete replacements for...
1723 * mingwex/math/log1p.s mingwex/math/log1pf.s mingwex/math/log1pl.s
1724 * mingwex/math/log10f.s mingwex/math/log10l.s mingwex/math/log2.s
1725 * mingwex/math/log2f.s mingwex/math/log2l.s: ...these; delete them.
1727 * mingwex/math/x87cvt_generic.sx: New file; it implements...
1728 (___x87cvt, ___x87cvtf): ...this pair of return value conversion
1729 routines, for conversion from the FPU's internal REAL10 data format,
1730 to REAL8 and REAL4, for double and float functions respectively.
1732 * Makefile.in (libmingwex.a): Add dependencies on...
1733 (x87cvt.$OBJEXT), x87cvtf.$OBJEXT), x87log.$OBJEXT), x87logf.$OBJEXT):
1734 ...these object modules; implement pattern rule to build them from...
1735 (x87cvt_generic.sx, log_generic.sx): ...these generic sources; also
1736 provide for building the respective log function entry stubs from
1737 their respective generic sources.
1739 2016-11-08 Keith Marshall <keithmarshall@users.sourceforge.net>
1741 Implement unit tests for logarithmic functions.
1743 * tests/testsuite.at.in: m4_include...
1744 * tests/Makefile.in (testsuite): ...and add dependency on...
1745 * tests/logarithms.at: ...this new file; it specifies unit tests to
1746 check POSIX.1-2008 compliance of results and errno assignment from...
1747 (log, logf, logl, log1p, log1pf, log1pl, log10, log10f, log10l, log2)
1748 (log2f, log2l): ...each of these functions.
1750 2016-11-02 Keith Marshall <keithmarshall@users.sourceforge.net>
1752 Implement unit tests for ANSI printf() functions.
1754 * tests/Makefile.in (testsuite): Add dependency for...
1755 * tests/ansiprintf.at: ...this new file, and...
1756 * tests/testsuite.at.in: ...m4_include it.
1758 2016-11-01 Keith Marshall <keithmarshall@users.sourceforge.net>
1760 Fix another printf() hex-float formatting bug.
1762 * mingwex/stdio/pformat.c (__pformat_emit_xfloat)
1763 [stream->flags & PFORMAT_ZEROFILL]: Ignore this; it should be...
1764 [(stream->flags & PFORMAT_JUSTIFY) == PFORMAT_ZEROFILL]: ...thus.
1766 2016-10-30 Keith Marshall <keithmarshall@users.sourceforge.net>
1768 Merge post 2016-10-18 updates from legacy branch.
1770 * include/io.h include/wchar.h: Updated.
1771 * mingwex/stdio/pformat.c: Likewise.
1773 2016-10-30 Keith Marshall <keithmarshall@users.sourceforge.net>
1775 Work around MSDN inconsistencies in _finddata_t naming.
1777 * include/io.h (_finddata64_t, _wfinddata64_): Define them
1778 respectively as aberrant alternative data type names for each of...
1779 (__finddata64_t, __wfinddata64_t): ...these original names.
1780 (_wfinddata32_t): Similarly, define this with...
1781 (__wfinddata32_t): ...this alternative name.
1783 * include/wchar.h (_wfinddata32_t): Correct references in comments.
1785 2016-10-30 Keith Marshall <keithmarshall@users.sourceforge.net>
1787 Fix a potentially infinite printf() format conversion loop.
1789 * mingwex/stdio/pformat.c (__pformat_emit_xfloat)
1790 [value.__pformat_fpreg_mantissa == 0]: Do not attempt to normalize
1791 it; there are no 1-bits to promote, so repeated shifting until one
1792 appears in most significant position will never terminate.
1794 2016-10-18 Keith Marshall <keithmarshall@users.sourceforge.net>
1796 Merge mingwrt-3.22.4 updates into 5.0-active branch.
1798 * configure.ac: Preserve original 5.0-active state.
1799 * include/wchar.h: Update per 2016-10-17 commits.
1801 2016-10-17 Keith Marshall <keithmarshall@users.sourceforge.net>
1803 Prepare and tag mingwrt-3.22.4 patch release.
1805 * configure.ac (AC_INIT): Increment patch level.
1807 2016-10-17 Keith Marshall <keithmarshall@users.sourceforge.net>
1809 Resolve an ANSI mode <string.h> vs. <wchar.h> conflict.
1811 * include/wchar.h [!(_WCHAR_H && _STRING_H)]: Change condition...
1812 [!(_WCHAR_H && (_STRING_H && !__STRICT_ANSI__))]: ...to this; the
1813 guarded declarations are not exposed by including <string.h> when...
1814 [__STRICT_ANSI__]: ...this is defined; hence, we must declare them
1815 when including <wchar.h>, even after including <string.h>
1817 2016-10-14 Keith Marshall <keithmarshall@users.sourceforge.net>
1819 Add dependency tracking for tests/Makefile.
1821 * tests/Makefile.in (top_builddir): Define it.
1822 (Makefile): Add automatic rebuild rule, tracking both srcdir and
1823 top_builddir prerequisite changes.
1825 2016-10-14 Keith Marshall <keithmarshall@users.sourceforge.net>
1827 Correct a minor typographic error.
1829 * tests/atlocal.in (autoconf_input): Replace invalid AC_SUBST tag...
1830 (configure_input): ...with this correctly named alternative.
1832 2016-10-14 Keith Marshall <keithmarshall@users.sourceforge.net>
1834 Merge mingwrt-3.22.3 updates into 5.0-active branch.
1836 * configure.ac: Preserve original 5.0-active state.
1837 * include/_mingw.h.in include/string.h include/sys/types.h
1838 * include/io.h: Update per 2016-10-13 commits.
1840 2016-10-13 Keith Marshall <keithmarshall@users.sourceforge.net>
1842 Prepare and tag mingwrt-3.22.3 patch release.
1844 * configure.ac (AC_INIT): Increment patch level.
1846 2016-10-13 Keith Marshall <keithmarshall@users.sourceforge.net>
1848 Emulate glibc <string.h> POSIX.1 non-compliance.
1850 * include/_mingw.h.in (_EMULATE_GLIBC): New feature test macro.
1851 [_GNU_SOURCE || _BSD_SOURCE || !__STRICT_ANSI__]: Enable it when...
1852 [_XOPEN_SOURCE || _POSIX_C_SOURCE || _POSIX_SOURCE]: ...none of
1853 these have been pre-defined by the user.
1855 * include/string.h [_EMULATE_GLIBC]: Include <strings.h> in full...
1856 (strcasecmp, strncasecmp): ...so prototypes for these are declared.
1857 [!_EMULATE_GLIBC]: Preserve partial <strings.h> include, guarded by...
1858 [__STRING_H_SOURCED__]: ...this context selector, so suppressing the
1859 declarations of those function prototypes.
1861 2016-10-13 Keith Marshall <keithmarshall@users.sourceforge.net>
1863 Resolve some non-ANSI typedef omissions.
1865 * include/sys/types.h (off_t, ssize_t): Always typedef them when...
1866 [_POSIX_C_SOURCE || !_NO_OLDNAMES]: ...either of these prevails.
1868 * include/io.h (_fsize_t): Do not suppress its typedef when...
1869 [__STRICT_ANSI__]: ...this compiler option applies, irrespective of...
1870 [!(_IO_H && _WCHAR_H)]: ...this, which otherwise causes supression.
1872 2016-09-20 Keith Marshall <keithmarshall@users.sourceforge.net>
1874 Prepare and tag mingwrt-3.22.2 patch release.
1876 * configure.ac (AC_INIT): Increment patch level.
1877 * config.guess config.sub: Delete, per 2016-07-16 commit.
1878 * include/stdlib.h: Backport, per 2016-09-14 commit.
1879 * include/wchar.h: Backport, per 2016-09-17 commits.
1881 2016-09-17 Keith Marshall <keithmarshall@users.sourceforge.net>
1883 Add missing <wchar.h> declarations when compiling C++.
1885 * include/wchar.h (fwide, mbsinit, wmemset, wmemchr, wmemcpy)
1886 (wmemmove, wcstoll, wcstoull): Declare each of these for either of...
1887 [_ISOC99_SOURCE || __cplusplus]: ...these conditions, rather than...
1888 [_ISOC99_SOURCE]: ...this alone.
1890 2016-09-17 Keith Marshall <keithmarshall@users.sourceforge.net>
1892 Stricter <wchar.h> ISO-C99 conformity filtering.
1894 * include/wchar.h [__STRICT_ANSI__]: Do not include any part of...
1895 (direct.h, io.h, sys/stat.h, locale.h, process.h): ...any of these.
1897 2016-09-14 Keith Marshall <keithmarshall@users.sourceforge.net>
1899 Relax strict ISO-C conformity to facilitate C99 support.
1901 * include/stdlib.h (_atoi64, _exit) [__STRICT_ANSI__]: Convention
1902 dictates that the Microsoft specific functions should not be declared;
1903 however, C99 provides equivalents in atoll() and _Exit(), for which we
1904 gratuituously use them to provide inline implementations; thus...
1905 [_ISOC99_SOURCE && !__NO_INLINE__]: ...declare them anyway.
1907 2016-09-13 Keith Marshall <keithmarshall@users.sourceforge.net>
1909 Suppress expected header warnings when running testsuite.
1911 * include/dir.h include/dos.h [__IN_MINGWRT_TESTSUITE__]: New feature
1912 test; do not emit warning messages, which declare this pair of headers
1913 to be obsolete. These warnings are expected, but their format may not
1914 be deterministically predictable; there is no reason to fail any test
1915 on account of any such expected warning message.
1917 2016-09-13 Keith Marshall <keithmarshall@users.sourceforge.net>
1919 Create a preliminary autotest framework.
1921 * configure.ac (AC_TESTDIR): Initialize tests subdirectory.
1922 (AC_PROG_CXX): Identify C++ compiler; the testsuite will use it.
1923 (AC_CHECK_PROG): Check availability of autom4te; specify fallback.
1924 (AC_CONFIG_FILES): Add instantiation requests for tests/atlocal,
1925 tests/Makefile, and tests/testsuite.at.tmp
1927 * tests/testsuite.at.in tests/atlocal.in tests/headers.at
1928 * tests/Makefile.in: New files; implement them.
1930 * Makefile.in (check, check-recursive, tests): Implement new goals.
1931 (mingwrt-srcdist-files): Subdivide package files complement into...
1932 (mingwrt-srcdist-package-files): ...this original collection, and...
1933 (mingwrt-srcdist-testsuite-files): ...this additional set.
1935 * test_headers.c: Superseded by autotest; delete it.
1937 2016-08-25 Keith Marshall <keithmarshall@users.sourceforge.net>
1939 Add pthreads-win32 courtesy support hooks.
1941 * include/errno.h: Assert copyright; tidy layout.
1942 (_ERRNO_H_): Rename this repeat inclusion guard macro as...
1943 (_ERRNO_H): ...this, conforming to preferred naming convention.
1944 [__PTW32_H]: Include "ptw32_errno.h".
1946 * include/time.h [__SCHED_H_SOURCED__]
1947 (struct timespec): Typedef it selectively; do not define...
1950 2016-08-07 Keith Marshall <keithmarshall@users.sourceforge.net>
1952 Implement POSIX printf() feature per request [#2310].
1954 * mingwex/stdio/pformat.c [WITH_XSI_FEATURES]: Delete references.
1955 (PFORMAT_GROUPED): New manifest constant; define it. It previously
1956 appeared in an occluded XSI feature reference, but is now required.
1957 (__pformat_t.tslen, __pformat_t.tschr, __pformat_t.grouping): New
1958 structure member fields; they maintain control state as set up by...
1959 (__pformat_enable_thousands_grouping): ...this new internal function.
1960 (__pformat_int_bufsiz): Use it; it may request a size increment.
1961 (__pformat_emit_digit, __pformat_emit_punct): New functions; they
1962 handle output of digits, radix point, and thousands digits separator
1963 punctuation for all numeric conversion formats, thus replacing...
1964 (__pformat_emit_numeric_value, __pformat_emit_radix_point): ...these;
1965 delete them, and update all callers to use appropriate replacements.
1966 (__pformat_int) [PFORMAT_GROUPED]: Add and emit group separators.
1967 (__pformat_xint_bufsiz): New internal function; it serves in place of
1968 __pformat_int_bufsiz(), for those integer data conversion formats
1969 which explicitly do not support thousands digits grouping, hence...
1970 (__pformat_xint): ...use it, rather than __pformat_int_bufsiz().
1971 (__pformat_adjust_for_grouping): New internal function; it adjusts the
1972 __gdtoa radix point index for fixed point conversion formats, to allow
1973 for the insertion of thousands digits group separators, hence...
1974 (__pformat_emit_float): ...use it, and emit separators as appropriate.
1975 (__pformat_emit_efloat) [PFORMAT_GROUPED]: Explicitly disable it.
1976 (__pformat): Initialise stream references for __pformat_t.grouping,
1977 __pformat_t.tslen, and _pformat_t.tschr, on entry; release any memory
1978 allocated for __pformat_t.grouping, when done.
1980 2016-08-01 Keith Marshall <keithmarshall@users.sourceforge.net>
1982 Implement POSIX conforming getline() and getdelim() functions.
1984 * mingwrt/mingwex/stdio/getdelim.c: New file.
1985 * mingwrt/man/getline.3.man: Likewise.
1987 * mingwrt/include/stdio.h [_POSIX_C_SOURCE >= 200809L]
1988 (getdelim): New function, implemented externally; declare prototype.
1989 (getline): New function; declare prototype; implement as __CRT_ALIAS
1990 inline, with __LIBIMPL__ external representation.
1992 * mingwrt/Makefile.in (libmingwex.a): Add getdelim.$OBJEXT
1993 (mingwrt-man$man3ext): Add manpage dependency references to create...
1994 (getline.$man3ext, getdelim.$man3ext): ...these; declare them as
1995 distributable duplicates, to be generated from...
1996 (getline.$man3ext.man): ...this common source.
1998 2016-08-01 Keith Marshall <keithmarshall@users.sourceforge.net>
2000 Merge mingwrt-3.22.1 legacy updates to 5.0-active branch.
2002 * mingwex/math/powl.c: Update per issue [#2036] workaround.
2003 * mingwex/stdio/pformat.c: Likewise, per issue [#2309] resolution,
2004 and subsequent 2016-07-24 optimization.
2006 2016-07-31 Keith Marshall <keithmarshall@users.sourceforge.net>
2008 Prepare and tag all files for release of mingwrt-3.22.1.
2010 * configure.ac (AC_INIT): Adjust package version number; append
2011 patch level identification.
2013 2016-07-31 Keith Marshall <keithmarshall@users.sourceforge.net>
2015 Interim workaround for issue [#2306].
2017 * mingwex/math/powl.c: Tidy layout; correct indentation.
2018 (powl, reducl): Use ISO-C declaration syntax; K&R is obsolescent.
2019 (powl) [OVERFLOW]: Correct representation of return value, using...
2020 (INFINITYL): ...this manifest constant value, instead of...
2023 2016-07-24 Keith Marshall <keithmarshall@users.sourceforge.net>
2025 Optimize printf() field width accumulation function.
2027 * mingwex/stdio/pformat.c (__imul10plus): Omit multiply by ten on
2028 already accumulated zero total; it is unnecessary, since ten times
2031 2016-07-22 Keith Marshall <keithmarshall@users.sourceforge.net>
2033 Fix printf() field width parsing regression issue [#2309].
2035 * mingwex/stdio/pformat.c (__imul10plus): Coerce any accumulated
2036 negative total to zero; the only negative value to be handled is...
2037 (PFORMAT_IGNORE): ...this; it ceases to be applicable, on first call
2038 to __imul10plus(), to accumulate field width or precision.
2040 2016-07-19 Keith Marshall <keithmarshall@users.sourceforge.net>
2042 Update install-sh to match mingw.org/build-aux package.
2044 * install-sh: Delete it; use version in parent directory instead,
2045 recreating local copy, (as symlink, if supported), on demand.
2047 2016-07-17 Keith Marshall <keithmarshall@users.sourceforge.net>
2049 Eliminate redundant configuration files.
2051 * aclocal.m4 VERSION.m4: Delete them; restore them on demand, via...
2052 * Makefile.in ($top_srcdir/../%): ...this symlink dependency rule.
2054 * configure.ac (AC_PROG_LN_S): Add configuration check.
2056 2016-07-17 Keith Marshall <keithmarshall@users.sourceforge.net>
2058 Merge mingwrt-3.22 packaging correction to 5.0-active branch.
2060 2016-07-17 Keith Marshall <keithmarshall@users.sourceforge.net>
2062 Correct mingwrt-3.22 source package subdirectory omission.
2064 * Makefile.in (mingwrt-srcdist-files): Add msvcrt-xref.
2066 2016-07-16 Keith Marshall <keithmarshall@users.sourceforge.net>
2068 Discard redundant config.guess and config.sub files.
2070 * config.guess config.sub: Delete them; they are no longer required.
2072 2016-07-16 Keith Marshall <keithmarshall@users.sourceforge.net>
2074 Merge recent legacy branch updates to 5.0-active branch.
2076 * Makefile.in include/ctype.h include/excpt.h include/stdint.h
2077 * include/glob.h include/limits.h include/locale.h include/search.h
2078 * include/stdio.h include/stdlib.h include/wchar.h include/wctype.h
2079 * include/sys/param.h include/sys/stat.h mingwex/tdelete.c
2080 * mingwex/tfind.c mingwex/tsearch.c mingwex/twalk.c: Updated.
2082 2016-07-14 Keith Marshall <keithmarshall@users.sourceforge.net>
2084 Prepare and tag all files for release of mingwrt-3.22.
2086 * configure.ac (AC_INIT): Adjust package version number.
2088 2016-07-14 Keith Marshall <keithmarshall@users.sourceforge.net>
2090 Preserve kludge to evade GCC build failure on S_ISBLK misuse.
2092 * include/sys/stat.h (_NO_UNSUPPORTED): New feature test macro; it
2093 should be user defined, if desired, before inclusion; leave undefined.
2094 [!_S_IFBLK && !_NO_UNSUPPORTED && !_NO_OLDNAMES] (S_ISBLK): Define it,
2095 as appropriate for POSIX conforming usage; do not poison it.
2097 2016-07-10 Keith Marshall <keithmarshall@users.sourceforge.net>
2099 Fix C++ strict type checking inconsistency in <glob.h>
2101 * include/glob.h (__ERRFUNC_P): New private macro; define it to match
2102 the type signature of the error function pointer, to be passed to...
2103 (glob): ...this function; use it to correctly represent error function
2104 pointer argument in inline implementation.
2106 2016-07-09 Keith Marshall <keithmarshall@users.sourceforge.net>
2108 Factor out <ctype.h> vs. <wctype.h> duplicate elements.
2110 * include/ctype.h: Assert copyright; tidy layout.
2111 [!_CTYPE_H_]: Do not evaluate; rename macro to be tested, as...
2112 [!_CTYPE_H]: ...this preferred multiple inclusion guard macro name.
2113 (__CTYPE_H_SOURCED__): New macro; define it, and include <wctype.h>,
2114 so requesting partial inclusion, to retrieve definitions for...
2115 (_ALPHA, _BLANK, _CONTROL, _DIGIT, _HEX, _LOWER, _PUNCT, _SPACE)
2116 (_UPPER, WEOF): ...these macros; hence, do not define them locally.
2117 (wint_t, wchar_t, wctype_t): Likewise these type definitions...
2118 (iswalnum, iswalpha, iswascii, iswblank, iswcntrl, iswctype)
2119 (iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace)
2120 (iswupper, iswxdigit, towlower, towupper, is_wctype): ...these function
2121 prototypes, and corresponding inline alternative implementations.
2122 (_BEGIN_C_DECLS, _END_C_DECLS): Use these as appropriate.
2123 [__MSVCRT_VERSION__<=__MSVCR70_DLL]: Likewise.
2125 * include/wctype.h: Assert copyright; tidy layout.
2126 [!_WCTYPE_H_]: Do not evaluate; rename macro to be tested, as...
2127 [!_WCTYPE_H]: ...this preferred multiple inclusion guard macro name;
2128 do not define it when partial inclusion only is selected, by...
2129 [__CTYPE_H_SOURCED__]: ...this; thence define only...
2130 (_ALPHA, _BLANK, _CONTROL, _DIGIT, _HEX, _LOWER, _PUNCT, _SPACE)
2131 (_UPPER): ...these character characterisation macros...
2132 (wint_t, wchar_t, wctype_t): ...these type definitions...
2133 (iswalnum, iswalpha, iswascii, iswblank, iswcntrl, iswctype)
2134 (iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace)
2135 (iswupper, iswxdigit, towlower, towupper): ...these function
2136 prototypes, with corresponding inline alternative implementations...
2137 (is_wctype): ...this further prototype, qualified as deprecated...
2138 (WEOF): ...and this status reporting macro.
2139 (_ctype, _pctype, _pctype_dll, _imp___ctype, _imp___pctype): Delete
2140 declarations, and associated definitions; they do not belong here.
2141 (isleadbyte): Likewise, this Microsoft specific function prototype...
2142 (_LEADBYTE): ...and this associated character classification macro.
2143 (_BEGIN_C_DECLS, _END_C_DECLS): Use these as appropriate.
2145 2016-07-04 Keith Marshall <keithmarshall@users.sourceforge.net>
2147 Do not pass MAKEFLAGS explicitly, when invoking recursive make.
2149 * Makefile.in (install-strip, uninstall): Delete explicit $(MAKEFLAGS)
2150 references from $(MAKE) command lines; make passes them implicitly.
2152 2016-07-03 Keith Marshall <keithmarshall@users.sourceforge.net>
2154 Rework tsearch and friends; resolve issues [#1512] and [#1576].
2156 * include/search.h: Assert copyright; tidy layout.
2157 (_SEARCH_H_): Rename this multiple inclusion guard macro...
2158 (_SEARCH_H): ...to conform to this preferred standard convention.
2159 (__search_comparator): New function prototype typedef; it provides a
2160 convenient shorthand notation for argument declarations in functions
2161 which require a comparator function pointer; use it where appropriate.
2162 (tsearch, tfind, tdelete) [__MINGW_ATTRIB_NONNULL]: Apply to arguments
2163 #2 and #3; was previously incorrectly applied to arguments #1 and #3.
2164 (twalk) [__MINGW_ATTRIB_NONNULL]: Apply to both arguments #1 and #2.
2165 [_SEARCH_PRIVATE] (__MINGW_ATTRIB_NONNULL): Suppress its effect, to
2166 ensure that GCC does not optimize away checks within implementation.
2167 (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
2169 * mingwex/tdelete.c: Tidy layout.
2170 (tdelete): Reimplement it as a thin wrapper around...
2171 (__tdelete): ...this; it encapsulates the original implementation as a
2172 __CRT_ALIAS (inline) function, to simplify void ** --> node_t ** casts.
2173 Remove unnecessary non-null assertions for arguments #1 and #3; prefer
2174 to validate arguments #2 and #3 internally, and simply return NULL if
2175 necessary; hence, do not include <assert.h>
2177 * mingwex/tfind.c: Tidy layout.
2178 (tfind): Similarly reimplement it as a thin wrapper around...
2179 (__tfind): ...this __CRT_ALIAS (inline) encapsulation of the original.
2180 Add non-null validation for argument #3; do not include <assert.h>
2182 * mingwex/tsearch.c: Tidy layout.
2183 (tsearch): Once again, reimplement it as a thin wrapper around...
2184 (__tsearch): ...this __CRT_ALIAS variant. Add non-null validation for
2185 argument #3; do not include <assert.h>
2187 * mingwex/twalk.c: Tidy layout; do not include <assert.h>
2189 2016-06-28 Keith Marshall <keithmarshall@users.sourceforge.net>
2191 Rework __try1/__except1 to resolve issue [#1328].
2193 * include/excpt.h: Assert copyright; tidy layout.
2194 (_EXCPT_H_): Multiple inclusion guard macro renamed to...
2195 (_EXCPT_H): ...this; update all references as appropriate.
2196 (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
2197 (__typecast_alloca): New macro; define it, casting return type of...
2198 (__builtin_alloca): ...this to a specified data type; use it in...
2199 (__try1_setup, __except1_teardown): ...these new macros; define them
2200 as parameterized templates, providing both -masm-att and -masm-intel
2201 syntax implementations, with host specific word size and register
2202 assignment parameter substitutions; use them to redefine...
2203 (__try1, __except1): ...each of these, using __builtin_alloca to avoid
2204 direct stack pushes when registering exception handlers; assign the
2205 template parameters as appropriate to support implementation for...
2206 [_WIN64, _WIN32]: ...either of these, as the host requires.
2208 2016-06-17 Keith Marshall <keithmarshall@users.sourceforge.net>
2210 Merge Cygwin CVS updates to legacy branch.
2212 * include/stdio.h: Merge 2011-11-30 and 2012-08-02 commits.
2213 (getc, getchar, putc, putchar): Declare function prototypes.
2214 (fopen64, ftello64): Likewise; change implementation classification
2215 from __CRT_INLINE to __CRT_ALIAS, to avoid C++ emitted code bloat.
2216 (_lock_file, _unlock_file): Add prototypes; modify merge to...
2217 [__MSVCRT_VERSION__>=__MSVCR80_DLL]: ...require this.
2219 * include/stdint.h: Merge 2012-07-30 commit; include <_mingw.h>
2221 * include/excpt.h: Merge 2012-08-01 commit.
2222 (__try1, __except1) [_WIN64]: Add alternative implementations.
2224 * include/stdlib.h: Merge 2012-08-02 commit.
2225 [__MSVCRT__VERSION__>=__MSVCR70_DLL || _WIN32_WINNT >= _WINXP]
2226 (_strtoi64, _strtoui64, _wcstoi64, _wcstoui64): Declare prototypes.
2227 [__MSVCRT__VERSION__>=__MSVCR80_DLL || _WIN32_WINNT >= _VISTA]
2228 (_strtoi64_l, _strtoui64_l, _wcstoi64_l, _wcstoui64_l): Likewise...
2229 [!__have_typedef_locale_t] (__need_locale_t): ...and define to get...
2230 (locale_t): ...this, by selective inclusion of <locale.h>
2231 [__WCHAR_H_SOURCED] (_wcstoi64, _wcstoui64, _wcstoi64_l)
2232 (_wcstoui64_l): Make these function prototypes available for selective
2234 * include/wchar.h: ...this; merge 2012-08-02 commit.
2235 [__MSVCRT__VERSION__>=__MSVCR70_DLL || _WIN32_WINNT >= _WINXP]
2236 (_wcstoi64, _wcstoui64): Note availability of function prototypes via
2237 selective inclusion of their actual declarations from <stdlib.h>
2238 [__MSVCRT__VERSION__>=__MSVCR80_DLL || _WIN32_WINNT >= _VISTA]
2239 (_wcstoi64_l, _wcstoui64_l): Likewise.
2241 * include/limits.h: Merge 2012-08-02 commit.
2242 [__STRICT_ANSI__] (PATH_MAX): Suppress definition.
2244 * include/sys/param.h: Merge 2012-08-02 commit.
2245 [PATH_MAX not defined] (MAXPATHLEN): Define it explicitly.
2246 [PATH_MAX defined] (MAXPATHLEN): Define it as an alias.
2248 2016-06-12 Keith Marshall <keithmarshall@users.sourceforge.net>
2250 Add typedef and access support for opaque locale_t objects.
2252 * include/locale.h (locale_t, _locale_t): Define opaque types.
2253 [__need_locale_t]: Make them selectively accessible; define...
2254 (__have_typedef_locale_t): ...this, when they are available.
2255 [_LOCALE_H] (_create_locale, _get_current_locale, _free_locale):
2256 Declare function prototypes, on direct <locale.h> inclusion only.
2257 [_LOCALE_H || _WCHAR_H] (_wcreate_locale): Likewise; this is to be
2258 visible on direct inclusion, or when including <wchar.h>
2260 * include/stdio.h [!(_STDIO_H && _WCHAR_T)]: Correct expression of...
2261 [__MSVCR80_DLL || _WIN32_WINNT_VISTA]: ...this subsidiary condition;
2262 for all cases when this is true, (including when [_STDIO_H] alone)...
2263 [!__have_typedef_locale_t] (__need_locale_t): ...define this, and
2264 include <locale.h>, for selective definition of...
2265 (locale_t): ...this.
2267 2016-05-19 Keith Marshall <keithmarshall@users.sourceforge.net>
2269 Occlude unsupported _S_IFBLK feature; resolve issue [#1146].
2271 * include/sys/stat.h (_MINGW_S_IFBLK_KLUDGE): New feature test macro;
2272 do not define it, and strongly recommend that it remains undefined.
2273 [!_MINGW_S_IFBLK_KLUDGE] (_S_IFBLK, S_IFBLK): Do not define them.
2274 [!_MINGW_S_IFBLK_KLUDGE] (_S_ISBLK, S_ISBLK): Poison them.
2275 [_MINGW_S_IFBLK_KLUDGE] (_S_IFBLK, S_IFBLK): Adjust definitions; use a
2276 modified value, which is guaranteed to be impossible to match in...
2277 [_S_ISBLK, S_ISBLK]: ...these, thus enforcing false test results.
2279 2016-05-18 Keith Marshall <keithmarshall@users.sourceforge.net>
2281 Fix a typo in a <sys/stat.h> inline function definition.
2283 * include/sys/stat.h [__MSVCRT_VERSION__ >= __MSVCR80_DLL]
2284 (stat): First argument declared as 'int'; should be 'const char *';
2287 2016-05-12 Keith Marshall <keithmarshall@users.sourceforge.net>
2289 Synchronize package version management with Win32-API.
2291 * VERSION.m4: New file; link it to keep in sync with identically named
2292 file in top level composite package source directory; it defines...
2293 (__VERSION__): ...this new composite package version macro.
2295 * aclocal.m4: Link it, to keep in sync with identically named files in
2296 top level composite source and sibling w32api sub-package directories.
2297 (__VERSION__): New macro; include VERSION.m4 to define it.
2298 (__BUG_REPORT_URL__): New macro; define it.
2300 * configure.ac (AC_INIT): Assign package version and bug report URL...
2301 (__VERSION__, __BUG_REPORT_URL__): ...from these, as defined through
2302 automatic inclusion of aclocal.m4
2304 * Makefile.in (configure): Add dependency on VERSION.m4
2306 2016-05-12 Keith Marshall <keithmarshall@users.sourceforge.net>
2308 Resolve some strnlen() implementation issues.
2310 * mingwex/strnlen.s (__mingw_strnlen) [!NUL]: Correct termination
2311 logic; should have used jnz, not jz, to skip endpoint adjustment on
2312 scanning past a terminal NUL character code.
2314 * include/string.h [_POSIX_C_SOURCE >= 200809L] (strnlen): Do not
2315 #define it, as this breaks GCC compilation; use __CRT_ALIAS instead,
2316 with __JMPSTUB__ referencing via "oldname" libraries.
2318 * Makefile.in (jmpstub_awk_script, libimpl_awk_script): Adapt to
2319 facilitate assignment of __JMPSTUB__ and __LIBIMPL__ references to
2320 libraries other than libmingwex.a
2321 (strnlen.jmpstub.$OBJEXT): Assign it to all "moldname" libraries prior
2322 to libmoldname80.a, in addition to libcoldname.a, as specified by the
2323 __JMPSTUB__ assignment within <string.h>
2325 2016-05-03 Keith Marshall <keithmarshall@users.sourceforge.net>
2327 Enforce consistent specification of package version.
2329 * include/_mingw.h: Rename as...
2330 * include/_mingw.h.in: ...this build-time template file.
2331 (__MINGW32_VERSION): Redefine it, in terms of...
2332 (%PACKAGE_VERSION_LONG%): ...this substitution template.
2333 (__MINGW32_MAJOR_VERSION, __MINGW32_MINOR_VERSION)
2334 (__MINGW32_PATCHLEVEL): Likewise, redefine them in terms of...
2335 (%PACKAGE_VERSION_MAJOR%, %PACKAGE_VERSION_MINOR%)
2336 (%PACKAGE_VERSION_PATCH%): ...these.
2338 * configure.ac (AC_CONFIG_SRCDIR): Adjust for renamed file.
2339 (MINGW_AC_CONFIG_EXTRA_SRCDIR): Likewise, for similarly renamed
2340 w32api/include/w32api.h.in file.
2342 * Makefile.in (all-mingwrt-stage-1-only): Add dependency on...
2343 (_mingw.h, w32api.h): ...these; add rule to generate them, using...
2344 (PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): ...these new macros;
2345 they apply appropriate substitutions to the renamed template files.
2346 (install-mingwrt-headers): Explicitly add _mingwrt.h
2348 2016-04-30 Keith Marshall <keithmarshall@users.sourceforge.net>
2350 Make strnlen() available for all MSVCRT.DLL versions.
2352 * msvcrt-xref/msvcrt.def.in (strnlen): Mark it as...
2353 (__MINGW_DLSYM): ...this, excluding its exposure in libmsvcrt.dll, and
2354 thus requiring a dlsym() lookup for versions which provide it.
2356 * include/string.h [__MSVCRT_VERSION__>=__MSVCR80_DLL] (strnlen):
2357 Declare prototype, for use from these non-free DLLs, otherwise...
2358 [_POSIX_C_SOURCE >= 200809L] (strnlen): Define it as an alias for...
2359 (__mingw_strnlen): ...this new libmingwex.a function.
2361 * mingwex/strnlen.s: New file; it implements...
2362 (__mingw_strnlen, __mingw_strnlen_s): ...these new functions.
2364 * Makefile.in (libmingwex.a): Add requirement for...
2365 (strnlen.$OBJEXT): ...this; add vpath specification for its source.
2367 2016-04-26 Keith Marshall <keithmarshall@users.sourceforge.net>
2369 Use correct paths for partially included header files.
2371 * include/io.h include/process.h: Use 'iquote' #include "stdint.h", to
2372 ensure that we get stdint.h from the same include directory.
2373 * include/stdio.h: Likewise for #include "stdarg.h", and "sys/types.h"
2374 * include/wchar.h: Likewise for all of #include "stdio.h", "stdlib.h",
2375 "direct.h", "sys/stat.h", "io.h", "time.h", "locale.h", and "process.h"
2376 * include/dir.h include/dos.h: Likewise for #include "io.h"
2377 * include/direct.h: Likewise for #include "dos.h"
2379 2016-04-13 Keith Marshall <keithmarshall@users.sourceforge.net>
2381 Generalize procedure for installing manpages.
2383 * man/dirname.man: Rename it as...
2384 * man/dirname.3.man: ...this, with inherent MANSECT specification.
2385 (TH): Use %PAGEREF% substitution for NAME, MANSECT, and DATE.
2386 (MS-Windows): Do not append \[tm]; it doesn't render well in Windows
2387 console. Further, correct typos; some syntactic adjustments.
2389 * Makefile.in (%:%.man): New rule; define it.
2390 (%.mancopy, %.mancopy-recursive): New rules; define and use with...
2391 (reference_manpage): ...this new macro, defining it to map...
2392 (dirname.3.man): ...this as the reference source file for both of...
2393 (basename.3, dirname.3): ...these installed manpages.
2394 (format_manpage): Add MANSECT and DATE to expansion of...
2395 (%PAGEREF%): ...this sed substitution pattern.
2397 2016-04-12 Keith Marshall <keithmarshall@users.sourceforge.net>
2399 Update several incorrectly attributed header files.
2401 * include/direct.h include/io.h include/locale.h include/math.h
2402 * include/process.h include/stdio.h include/stdlib.h include/string.h
2403 * include/sys/stat.h include/sys/types.h include/time.h: Identify the
2404 original author as Colin Peters; Rob Savoye merely imported them into
2405 the original CVS repository, when he created it.
2407 * include/wchar.h: Likewise, imported by Rob Savoye, but the original
2408 source file is unattributed.
2410 2016-04-11 Keith Marshall <keithmarshall@users.sourceforge.net>
2412 Eliminate all references to non-standard __NO_ISOCEXT macro.
2414 * include/math.h: Tidy layout.
2415 [!defined __NO_ISOCEXT]: Do not use this ugly double negative; in any
2416 case, we do not want to encourage users to define such implementation
2417 private macros; instead, prefer to make use of...
2418 [defined _ISOC99_SOURCE]: ...this glibc compatible feature test.
2419 [__STDC_VERSION__ >= 199901L]: Do not require this; it is implied, by
2420 definition, in _ISOC99_SOURCE.
2421 * include/stdio.h [!defined __NO_ISOCEXT]: Likewise; replace with...
2422 [defined _ISOC99_SOURCE]: ...this, throughout.
2424 2016-04-10 Keith Marshall <keithmarshall@users.sourceforge.net>
2426 Make resetting of __need_typedef requests more robust.
2428 * include/sys/types.h [__need_off_t, __need___off64_t]
2429 [__need_ssize_t, __need_time_t]: Move corresponding #undef out of, and
2430 after the respective conditional blocks, which provide each associated
2431 typedef, so ensuring that any repeat request is properly reset.
2433 * include/time.h [__need_time_t]: Always delegate to <sys/types.h> for
2434 typedef, and reset of request, even in cases where...
2435 [_TIME_H]: ...this is already defined.
2437 2016-04-10 Keith Marshall <keithmarshall@users.sourceforge.net>
2439 Add a missing comment terminator.
2441 * include/io.h [!(defined _IO_H && defined _WCHAR_H)]: Properly
2442 terminate the comment annotating the closing #endif statement.
2444 2016-04-06 Keith Marshall <keithmarshall@users.sourceforge.net>
2446 Declare <dir.h> as formally deprecated.
2448 * include/dir.h: Assert copyright.
2449 (pragma GCC system_header): Declare it.
2450 (_DIR_H): Define as multiple inclusion macro.
2451 [!_DIR_H]: Emit "obsolete header" warning message.
2453 2016-04-06 Keith Marshall <keithmarshall@users.sourceforge.net>
2455 Factor out <wchar.h> vs. <io.h> duplicate declarations.
2457 * include/io.h: Assert copyright; tidy layout.
2458 (_IO_H_): Rename this multiple inclusion guard macro...
2459 (_IO_H): ...to this preferred form; do not define it when...
2460 [__WCHAR_H_SOURCED__]: ...this is defined, in which case declare...
2461 (_waccess, _wchmod, _wcreat, _wopen, _wsopen, _wunlink, _wmktemp)
2462 (_wfindfirst, _wfindnext, _wfindfirst64, _wfindnext64, _wfindfirsti64)
2463 (_wfindnexti64, _wfindfirst32i64, _wfindnext32i64, _wfindfirst64i32)
2464 (_wfindnext64i32, _wfindfirst32, _wfindnext32, _findclose): ...only
2465 these function prototypes, common to <wchar.h>, together with...
2466 (_fsize_t, struct _wfinddata_t, struct _wfinddatai64_t)
2467 (struct __wfinddata64_t, struct _wfinddata64i32_t)
2468 (struct _wfinddata32i64_t, struct __wfinddata32_t): ...these
2469 requisite data type definitions.
2470 (pragma GCC system_header): Declare it.
2471 (__need_intptr_t): Define, and include <stdint.h> to get...
2472 (intptr_t): ...this typedef; neither define it locally, nor define...
2473 (_INTPTR_T_DEFINED): ...this; delete all references.
2474 (_FSIZE_T_DEFINED): Do not define it; delete all references; rather...
2475 [!(defined _IO_H && defined _WCHAR)] (_fsize_t): Define it.
2476 (FILENAME_MAX): Define it unconditionally.
2477 (__struct_finddata_t): New temporary macro; define and use it to...
2478 (struct _finddata_t, struct _wfinddata_t, struct _finddatai64_t)
2479 (struct _wfinddatai64_t, struct __finddata64_t, struct __wfinddata64_t)
2480 (struct _finddata64i32_t, struct _wfinddata64i32_t)
2481 (struct _finddata32i64_t, struct _wfinddata32i64_t)
2482 (struct __finddata32_t, struct __wfinddata32_t): ...define these.
2484 * include/wchar.h (_WFINDDATA_T_DEFINED): Do not define it; delete all
2485 references; filter out associated data type definitions, namely...
2486 (struct _wfinddata_t, struct _wfinddatai64_t): ...these, and also...
2487 (struct __wfinddata64_t, struct _wfinddata64i32_t): ...these, and...
2488 (struct _wfinddata32i64_t, struct __wfinddata32_t): ...these.
2489 (_WIO_DEFINED): Likewise, do not define it; delete all references;
2490 filter out associated function prototype declarations for all of...
2491 (_waccess, _wchmod, _wcreat, _wopen, _wsopen, _wunlink, _wmktemp)
2492 (_wfindfirst, _wfindnext, _wfindfirst64, _wfindnext64, _wfindfirsti64)
2493 (_wfindnexti64, _wfindfirst32i64, _wfindnext32i64, _wfindfirst64i32)
2494 (_wfindnext64i32, _wfindfirst32, _wfindnext32): ...these; reproduce
2495 them by selective inclusion of <io.h>.
2497 2016-04-04 Keith Marshall <keithmarshall@users.sourceforge.net>
2499 Factor out <wchar.h> vs. <process.h> duplicate declarations.
2501 * include/process.h: Assert copyright; tidy layout.
2502 (_PROCESS_H_): Rename this multiple inclusion guard macro...
2503 (_PROCESS_H): ...to this preferred form; do not define it when...
2504 [__WCHAR_H_SOURCED__]: ...this is defined, in which case declare...
2505 (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve, _wexecvp)
2506 (_wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe, _wspawnv)
2507 (_wspawnve, _wspawnvp, _wspawnvpe): ...only these functions.
2508 [!__WCHAR_H_SOURCED__] (_PROCESS_H): Define it; declare all functions
2509 normally specified herein, including those listed above, as required.
2510 (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
2511 (__need_intptr_t): Define it prior to including <stdint.h>.
2512 (pragma GCC system_header): Declare it.
2514 * include/wchar.h (_WPROCESS_DEFINED): Delete it; filter out...
2515 (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve, _wexecvp)
2516 (_wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe, _wspawnv)
2517 (_wspawnve, _wspawnvp, _wspawnvpe): ...these function prototypes;
2518 reproduce them, by selective inclusion of <process.h>.
2520 2016-04-04 Keith Marshall <keithmarshall@users.sourceforge.net>
2522 Enable selective retrieval of intptr typedefs from <stdint.h>.
2524 * include/stdint.h: Assert copyright; tidy layout.
2525 [__need_intptr_t || __need_uintptr_t] (_STDINT_H): Do not define it;
2526 conceal all normally defined data types, except either or both of...
2527 [__need_intptr_t] (intptr_t): ...this, and/or...
2528 [__need_uintptr_t] (uintptr_t): ...this.
2529 (pragma GCC system_header): Declare it.
2531 2016-03-29 Keith Marshall <keithmarshall@users.sourceforge.net>
2533 Factor out <wchar.h> vs. <sys/stat.h> duplicate declarations.
2535 * include/sys/stat.h: Assert copyright; tidy layout.
2536 (pragma GCC system_header): Declare it.
2537 (_STAT_H_): Rename multiple inclusion guard macro; adopt...
2538 (_SYS_STAT_H): ...this preferred naming convention; however, when...
2539 [__WCHAR_H_SOURCED__] (_SYS_STAT_H): ...do not define it; declare...
2540 (_wstat, _wstati64, _wstat64, _wstat32): ...these functions, and...
2541 (_wstat32i64, _wstat64i32): ...these, as appropriate to user specified
2542 __MSVCRT_VERSION__ and _WIN32_WINNT macro definitions, namely...
2543 [__MSVCRT_VERSION__ >= 0x601]: ...this, updated to become...
2544 [__MSVCRT_VERSION__ >= __MSVCR61_DLL]: ...this; augment it with...
2545 [|| _WIN32_WINNT >= _WIN32_WINNT_WIN2K]: ...this complement; also...
2546 [__MSVCRT_VERSION__ < 0x800]: this, updated to become...
2547 [__MSVCRT_VERSION__ < __MSVCR80_DLL]: ...this; likewise...
2548 [__MSVCRT_VERSION__ >= 0x800]: ...this, which becomes...
2549 [__MSVCRT_VERSION__ >= __MSVCR80_DLL]: ...this.
2550 (__struct_stat_defined): New macro; define, and use it to define...
2551 (struct stat, struct _stat, struct _stati64, struct __stat64)
2552 (struct __stat32, struct _stat32i64, struct _stat64i32): ...these.
2553 [!__WCHAR_H_SOURCED__] (_SYS_STAT_H): Define it; also include
2554 <sys/types.h>, delegating to it the inclusion of <_mingw.h>, and
2555 definition of types size_t and wchar_t; declare all header content,
2556 including that declared when __WCHAR_H_SOURCED__ is defined, unless
2557 already declared as a result of selective inclusion by <wchar.h>
2558 (__need_size_t, __need_wchar_t): Do not define them; consequently,
2559 there is no need to include <stddef.h>; do not do so.
2561 * include/wchar.h (_wstat, _wstati64, _wstat64): Factor out.
2562 (_wstat32, _wstat32i64, _wstat64i32, struct stat, struct _stat)
2563 (struct _stati64, struct __stat64, struct __stat32, struct _stat32i64)
2564 (struct _stat64i32): Likewise; reproduce them by selective inclusion
2567 2016-03-28 Keith Marshall <keithmarshall@users.sourceforge.net>
2569 Factor out <wchar.h> vs. <direct.h> duplicate declarations.
2571 * include/direct.h: Conditionally partition it, such that...
2572 [__WCHAR_H_SOURCED__] (_DIRECT_H): Do not define it; declare only...
2573 (_wchdir, wchar_t, wchar_t, _wmkdir, _wrmdir): ...these, otherwise...
2574 [!__WCHAR_H_SOURCED__] (_DIRECT_H): Define it; expose all content.
2575 (_WDIRECT_DEFINED): Never define it; delete all references.
2577 * include/wchar.h (_WDIRECT_DEFINED): Delete all references.
2578 (_wchdir, wchar_t, wchar_t, _wmkdir, _wrmdir): Delete prototypes;
2579 selectively #include <direct.h> to reproduce them.
2581 2016-03-26 Keith Marshall <keithmarshall@users.sourceforge.net>
2583 Factor out <direct.h> vs. <dos.h> duplicate declarations.
2585 * include/dos.h: Assert copyright; tidy layout.
2586 (pragma GCC system_header): Declare it.
2587 (_DOS_H_): Rename multiple inclusion guard macro, to adopt...
2588 (_DOS_H): ...this preferred convention; do not define it when...
2589 [__DIRECT_H_SOURCED__]: ...this applies; restrict declarations to...
2590 (struct _diskfree_t): ...this aggregate data type, together with...
2591 [_NO_OLDNAMES] (diskfree_t): ...this alternative name for it, and...
2592 (_getdiskfree): ...this associated function.
2593 [!__DIRECT_H_SOURCED__] (_DOS_H): Define it; expose all content, but
2594 emit a warning that this header is obsolete, and should not be used.
2595 (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
2596 (_DISKFREE_T_DEFINED): Do not define it; delete all references.
2597 (__need_wchar_t): Do not define it; it isn't needed here, and hence,
2598 neither is it necessary to #include <stddef.h>; do not do so. Also,
2599 do not #include <_mingw.h> explicitly, but always #include <io.h>,
2600 which will implicitly #include <_mingw.h> anyway.
2602 * include/direct.h: Assert copyright; tidy layout.
2603 (pragma GCC system_header): Declare it.
2604 (_DIRECT_H_): Rename this multiple inclusion guard macro...
2605 (_DIRECT_H): ...to adopt this preferred naming convention.
2606 (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
2607 (_DISKFREE_T_DEFINED, diskfree_t, struct _diskfree_t): Do not define.
2608 (_getdiskfree): Likewise, do not declare prototype; instead...
2609 (__DIRECT_H_SOURCED__): ...define this, and #include <dos.h>; also
2610 delegate indirect inclusion of <_mingw.h> and <io.h> to this, rather
2611 than include them directly; undefine __DIRECT_H_SOURCED__ when done.
2612 (__need_wchar_t): Do not define it, and do not #include <stddef.h>;
2613 although needed, we may inherit it indirectly from <sys/types.h>,
2614 included by <io.h> via <dos.h>.
2616 2016-03-26 Keith Marshall <keithmarshall@users.sourceforge.net>
2618 Evade CPP mismatched apostrophe warnings in windres comments.
2620 * msvcrt-xref/msvcrt.def.in (; pexports): 1,Gs/doesn't/does not/g
2622 2016-03-20 Keith Marshall <keithmarshall@users.sourceforge.net>
2624 Factor out <locale.h> vs. <wchar.h> duplicate declarations.
2626 * include/locale.h: Assert copyright; tidy layout.
2627 (_LOCALE_H_): Rename multiple inclusion guard macro, to...
2628 (_LOCALE_H): ...this; do not define it when...
2629 [__WCHAR_H_SOURCED__]: ...this applies; restrict declarations to...
2630 (_wsetlocale): ...just this one visible function prototype.
2631 [!__WCHAR_H_SOURCED__] (_LOCALE_H): Define it; expose all content.
2632 (_WLOCALE_DEFINED): Do not define it; delete all references.
2633 (pragma GCC system_header): Declare it.
2635 * include/wchar.h (_wsetlocale): Delete prototype; maintain its
2636 visibility by selective inclusion of <locale.h> instead.
2637 (_WLOCALE_DEFINED): Delete all references.
2639 2016-03-18 Keith Marshall <keithmarshall@users.sourceforge.net>
2641 Resolve some "implicit function declaration" warnings.
2643 * setargv.c (isspace): Include <ctype.h> for declaration.
2644 * cpu_features.h (__cpu_features_init): Declare function prototype.
2645 * crt1.c (_setargv): Likewise; (this isn't needed elsewhere).
2647 2016-03-18 Keith Marshall <keithmarshall@users.sourceforge.net>
2649 Factor out <stdlib.h> vs. <wchar.h> duplicate declarations.
2651 * include/stdlib.h [__WCHAR_H_SOURCED__]
2652 (_STDLIB_H): Do not define it; restrict visible declarations to...
2653 (wcstol, wcstoul, wcstod, _wgetenv, _wputenv, _wsearchenv, _wsystem)
2654 (_wmakepath, _wsplitpath, _wfullpath, wcstof, wcstold): ...this subset
2655 of regular <stdlib.h> content; full content is declared only when...
2656 [!__WCHAR_H_SOURCED__] (_STDLIB_H): ...this applies; define it.
2657 (_WSTDLIB_DEFINED): Do not define it; delete all references.
2658 (pragma GCC system_header): Declare it; tidy layout.
2660 * include/wchar.h: Delete duplicated declarations for...
2661 (wcstol, wcstoul, wcstod, _wgetenv, _wputenv, _wsearchenv, _wsystem)
2662 (_wmakepath, _wsplitpath, _wfullpath, wcstof, wcstold): ...these;
2663 include <stdlib.h> selectively, to maintain their visibility.
2664 (_WSTDLIB_DEFINED): Delete all references.
2666 2016-03-17 Keith Marshall <keithmarshall@users.sourceforge.net>
2668 Relocate misplaced umask() function prototypes.
2670 * include/sys/stat.h (umask, _umask): Declare prototypes; duplicate...
2671 * include/io.h (umask, _umask): ...these; POSIX doesn't expect them
2672 here, but leave them for backward, or Microsoft, compatibility.
2674 2016-03-17 Keith Marshall <keithmarshall@users.sourceforge.net>
2676 Correct another _BEGIN_C_DECLS imbalance error.
2678 * include/wchar.h (_BEGIN_C_DECLS): One misplaced, superfluous, and
2679 unbalanced instance deleted; one correctly balanced instance remains.
2681 2016-03-13 Keith Marshall <keithmarshall@users.sourceforge.net>
2683 Support installation of headers with empty parts directory.
2685 * Makefile.in (SUB_HEADERS_PRESENT): New macro; define it, and...
2686 (install-mingwrt-headers): ...invoke it; if false, do not perform...
2687 (INSTALL_SUB_HEADERS): ...this.
2689 2016-03-13 Keith Marshall <keithmarshall@users.sourceforge.net>
2691 Reinstate typedef for non-standard off64_t.
2693 * include/sys/types.h [!__STRICT_ANSI__] (off64_t): Define it as...
2694 (__off64_t): ...typedef derived from this; although non-standard, it
2695 is gratuitously required when building GCC's libgfortran.a
2697 2016-03-13 Keith Marshall <keithmarshall@users.sourceforge.net>
2699 Correct conditional compilation block nesting errors.
2701 * include/stdio.h include/time.h (_BEGIN_C_DECLS, _END_C_DECLS): Keep
2702 them balanced within, and around, conditional compilation blocks.
2704 2016-03-10 Keith Marshall <keithmarshall@users.sourceforge.net>
2706 Feature test _MINGW32_EXTENDED_SOURCE renamed.
2708 * include/_mingw.h (_MINGW32_EXTENDED_SOURCE): Rename to...
2709 (_MINGW32_SOURCE_EXTENDED): ...this, to improve naming consistency...
2710 (_XOPEN_SOURCE_EXTENDED): ...with this POSIX-XSI feature test.
2711 (__USE_MINGW_ANSI_STDIO): Note that it is intended for internal use;
2712 users should enable any conventional feature test which implies it.
2714 * include/time.h (_MINGW32_EXTENDED_SOURCE): Update references...
2715 (_MINGW32_SOURCE_EXTENDED): ...i.e. to refer to this.
2717 2016-02-28 Keith Marshall <keithmarshall@users.sourceforge.net>
2719 Correct atexit() and _onexit() export declaration regression.
2721 * msvcrt-xref/msvcrt.def.in (atexit, _onexit): These must be exported
2722 as DATA; declare them accordingly.
2724 2016-02-18 Keith Marshall <keithmarshall@users.sourceforge.net>
2726 Refactor to make <parts/time.h> and <parts/wchar.h> redundant.
2728 * include/string.h: Tidy layout.
2729 (__STRING_H_SOURCED__): New macro; define it at start; delete at end.
2730 (_stricmp, _strnicmp): Include their prototypes, selectively from...
2731 * include/strings.h [__STRING_H_SOURCED__]: ...here, reproduce them...
2732 * include/parts/strings.h: ...from here; file is obsolete; delete it.
2734 * include/string.h (_wcscmpi): Define alias.
2735 (wcscat, wcschr, wcscmp, wcscoll, wcscpy, wcscspn, wcslen, wcsncat)
2736 (wcsncmp, wcsncpy, wcspbrk, wcsrchr, wcsspn, wcsstr, wcstok, wcsxfrm)
2737 (_wcsdup, _wcsicmp, _wcsicoll, _wcslwr, _wcsnicmp, _wcsnset, _wcsrev)
2738 (_wcsset, _wcsupr, _wcsncoll, _wcsnicoll, _wcserror, __wcserror)
2739 (wcscmpi, wcscmpi, wcsdup, wcsicmp, wcsicoll, wcslwr, wcsnicmp)
2740 (wcsnset, wcsrev, wcsset, wcsupr): Selectively include prototypes...
2741 * include/wchar.h [__STRING_H_SOURCED__]: ...from here; reproduce...
2742 * include/parts/wchar.h: ...from here; file is obsolete; delete it.
2744 * include/strings.h (_STRINGS_H): Do not define it, when...
2745 [__STRING_H_SOURCED__]: ...selectively included by <string.h>.
2746 * include/wchar.h (_WCHAR_H) [__STRING_H_SOURCED__]: Likewise.
2748 2016-02-16 Keith Marshall <keithmarshall@users.sourceforge.net>
2750 Refactor to make <parts/time.h> redundant.
2752 * include/sys/types.h (time_t, __time32_t, __time32_t)
2753 [__need_time_t && !__have_typedef_time_t]: Reproduce definitions...
2754 * include/parts/time.h: ...from here; preserve selective exposure.
2756 * include/time.h (time_t, __time32_t, __time32_t): Get them...
2757 * include/sys/types.h: ...from here, by selective inclusion.
2759 * include/time.h (struct timespec, struct __mingw_extended_timespec)
2760 [__need_struct_timespec && !__struct_timespec_defined]: Reproduce...
2761 * include/parts/time.h: ...from here; preserve selective exposure.
2763 * include/parts/time.h: Delete file; it is no longer required.
2765 2016-02-16 Keith Marshall <keithmarshall@users.sourceforge.net>
2767 Declare the nanosleep() function where POSIX expects it.
2769 * include/time.h (__mingw_sleep): Declare function prototype.
2770 (nanosleep): Declare prototype, and provide in-line implementation;
2771 this is a reproduction of the original implementation, relocated...
2772 * include/unistd.h (nanosleep): ...from here; remove it; hence...
2773 (struct timespec): ...this need not be declared here, and there is
2774 no need to include <parts/time.h>; remove reference.
2776 2016-02-15 Keith Marshall <keithmarshall@users.sourceforge.net>
2778 Refactor <time.h> vs. <wchar.h> to avoid duplication.
2780 * include/wchar.h (__WCHAR_H_SOURCED__): New macro; define it...
2781 [_WCHAR_H]: ...at start of processing in this scope; delete at end.
2782 (struct tm): Delete definition; delegate it, together with each of...
2783 (_wctime, _wasctime, _wstrdate, _wstrtime, _wctime64, _wctime32)
2784 (wcsftime): ...these function prototypes; delete them, but note in
2785 comments, that they remain declared, via delegation to...
2786 * include/time.h: ...this; include it selectively, subject to...
2787 [defined __WCHAR_H_SOURCED__](__need_wchar_decls): ...this; define it.
2788 [defined __WCHAR_H_SOURCED__](_TIME_H): Suppress its definition.
2789 [_TIME_H]: Process all definitions and declarations; otherwise...
2790 [__need_wchar_decls]: ...process only <wchar.h> shared content, but...
2791 [_TIME_H && _WCHAR_H]: ...not on second, or later, time of processing.
2792 (_WTIME_DEFINED): Obsolete macro; delete all references.
2794 2016-02-11 Keith Marshall <keithmarshall@users.sourceforge.net>
2796 Implement support for POSIX "%n$*m$" printf() format control.
2798 * mingwex/stdio/pformat.c (NL_ARGMAX): New macro; nominally, it should
2799 be defined in <limits.h>, but MinGW may not do so; provide a fallback.
2800 (__pformat_inline__): New macro; define, and use it where appropriate.
2801 (PFORMAT_CONVERSION_TYPE, PFORMAT_LENGTH_MODIFIER)
2802 (PFORMAT_TYPE_DOUBLE, PFORMAT_TYPE_INTEGER, PFORMAT_TYPE_POINTER)
2803 (PFORMAT_LENGTH_DEFAULT): New enumerated values; define them.
2804 (PFORMAT_ARGMAP_ENTRIES): New enumerated value tally; use it in...
2805 (__pformat_argmap_t): ...this new union data type; define it.
2806 (__pformat_indexed_argc, __pformat_sizeof_argument, __pformat_argmap)
2807 (__pformat_imul10plus, __pformat_arg_index, __pformat_read_arg_index)
2808 (__pformat_read_arg_index_after, __pformat_look_ahead_beyond_flags)
2809 (__pformat_look_ahead, __pformat_ignore_flags, __pformat_is_ldouble)
2810 (__pformat_is_conversion_type, __pformat_is_alt_ldouble_modifier)
2811 (__pformat_length_modifier, __pformat_check_length_modifier): New
2812 locally defined static and/or inline functions; implement, and...
2813 (__pformat): ...use them.
2815 2016-02-11 Keith Marshall <keithmarshall@users.sourceforge.net>
2817 Add prototypes for Microsoft's _printf_p() family of functions.
2819 * include/stdio.h [>=__MSVCR80_DLL || >=_WIN32_WINNT_VISTA]
2820 (_printf_p, _printf_p_l, _vprintf_p, _vprintf_p_l, _fprintf_p)
2821 (_fprintf_p_l, _vfprintf_p, _vfprintf_p_l, _sprintf_p, _sprintf_p_l)
2822 (_vsprintf_p, _vsprintf_p_l): Add function prototypes; they require
2823 either a non-free MSVC runtime, or MSVCRT.DLL from Vista onward.
2824 (_wprintf_p, _wprintf_p_l, _vwprintf_p, _vwprintf_p_l, _fwprintf_p)
2825 (_fwprintf_p_l, _vfwprintf_p, _vfwprintf_p_l, _swprintf_p)
2826 (_swprintf_p_l, _vswprintf_p, _vswprintf_p_l): Likewise; make them
2827 available for selective inclusion by both <stdio.h> and <wchar.h>...
2828 [_STDIO_H || __WCHAR_H_SOURCED__]: ...when either of these defined.
2830 2016-02-09 Keith Marshall <keithmarshall@users.sourceforge.net>
2832 Adapt msvcrt-xref to become msvcrt.def.in provider.
2834 * Makefile.in (msvcrt_version_script) [__MSVCRT_VERSION__]: Adjust
2835 filter value assignment; scale it upwards, by a factor of 0x10000.
2836 (%.def.in) [vpath]: Make it refer to msvcrt-xref directory.
2837 (%.def) [msvcr*]: Do not preserve comments; define...
2838 (__DLLNAME__): ...this preprocessor symbol.
2840 * msvcrt.def.in: Content is obsolete; delete file and replace with...
2841 * msvcrt-xref/msvcrt.def.in: ...this updated alternative.
2842 (__MINGW_DLSYM): New preprocessor macro; define it conditionally...
2843 [__MSVCRT_VERSION__ != 0]: ...to emit in-scope symbols it declares...
2844 [__MSVCRT_VERSION__ == 0]: ...to hide symbols it declares, followed by
2845 redefinition of __MSVCRT_VERSION__ itself, to a value of 0x10000.
2847 2016-02-09 Keith Marshall <keithmarshall@users.sourceforge.net>
2849 Import msvcrt-xref documentation resources.
2851 * msvcrt-xref: New directory.
2852 * msvcrt-xref/ChangeLog msvcrt-xref/COPYING: New files.
2853 * msvcrt-xref/msvcrt-xref.ms msvcrt-xref/fdl-1.3.ms: New files.
2854 * msvcrt-xref/configure.ac msvcrt-xref/Makefile.in: New files.
2855 * msvcrt-xref/README.in msvcrt-xref/msvcrt.def.in: New files.
2857 2016-01-29 Keith Marshall <keithmarshall@users.sourceforge.net>
2859 Refactor <stdio.h> vs. <wchar.h> to avoid duplication.
2861 * include/wchar.h: Some minor layout adjustments.
2862 (__WCHAR_H_SOURCED__): New macro; define it temporarily, only while
2863 within the scope of reading <wchar.h>; undefine it at end of file.
2864 (struct tm): Do not define; it is sufficient to keep it opaque.
2865 (FILE, FILENAME_MAX, NULL, __VALIST, off_t, __off64_t, size_t)
2866 (ssize_t, va_list, wchar_t, wint_t): Do not require or define them
2867 directly; delegate to indirect definition by including <stdio.h>.
2868 (fgetwc, fputwc, fgetws, fputws, fwprintf, fwscanf, getwc, getwchar)
2869 (_getws, putwc, putwchar, _putws, snwprintf, _snwprintf, swprintf)
2870 (swscanf, ungetwc, vfwprintf, vfwscanf, _vscwprintf, vsnwprintf)
2871 (_vsnwprintf, vswprintf, vwprintf, vswscanf, vwscanf, _wfdopen)
2872 (_wfopen, _wfreopen, _wfsopen, _wperror, _wpopen, wprintf, _wrename)
2873 (_wremove, wscanf, _wtmpnam, _wtempnam): Omit prototypes; acquire them
2874 indirectly, by selective inclusion from <stdio.h>; hence include it.
2876 * include/stdio.h: Assert copyright; tidy layout.
2877 (_STDIO_H_): Multiple inclusion guard macro, renamed as...
2878 (_STDIO_H): ...this, but defined conditionally, subject to...
2879 [__WCHAR_H_SOURCED__]: ...selectively define and declare only those
2880 entities which are required by <wchar.h>; do not define...
2881 [__WCHAR_H_SOURCED__] (_STDIO_H): ...this; define it only if...
2882 [!__WCHAR_H_SOURCED__]: ...this; define and declare ALL entities which
2883 are normally specified within <stdio.h>, INCLUDING those specifically
2884 itemised above, as selectively required by <wchar.h>.
2886 * pseudo-reloc.c: Some minor layout adjustments.
2887 (WIN32_LEAN_AND_MEAN): Define it; we don't need the windows baggage.
2888 [typedef ptrdiff_t]: Do not assume this is gratuitously defined;
2889 include <stddef.h> to guarantee it.
2891 2016-01-29 Keith Marshall <keithmarshall@users.sourceforge.net>
2893 Enable selective definition of POSIX system types.
2895 * include/sys/types.h (_SYS_TYPES_H): Do NOT define, if including with
2896 any specific __need_TYPE selector having been set prior to inclusion;
2897 DO define it when no such selector is present, and undefine all such
2898 selectors as may have been set, after evaluation of their effects.
2899 (_DEV_T_, _FPOS64_T_, _INO_T_, _MODE_T_, _OFF_T_, _OFF64_T_, _PID_T_)
2900 (_SIGSET_T_, _SSIZE_T_): Unnecessary guard macros; delete them; this
2901 accommodates reorganization of the file, to achieve a tidier layout.
2902 (__have_typedef_off_t): New repeat definition guard; define it for
2903 compilers which may choke on any repeated typedef for either of...
2904 (off_t, _off_t): ...these; make them selectively defineable for...
2905 [_SYS_TYPES_H && !__have_typedef_off_t]: ...non-selective inclusion...
2906 [__need_off_t && !__have_typedef_off_t]: ...this specific selection;
2907 in either case, redefine them in terms of...
2908 (__off32_t): ...this new internal type, for consistency with...
2909 (__off64_t): ...this previously defined non-standard type; also make
2910 it selectively defineable, either by...
2911 [_SYS_TYPES_H && !__have_typedef___off64_t]: ...non-selective, or...
2912 [__need_off_t && !__have_typedef___off64_t]: ...selective inclusion.
2913 (__have_typedef___off64_t): New repeat definition guard; define it.
2914 (ssize_t, _ssize_t): Also make them selectively defineable, on...
2915 [_SYS_TYPES_H && !__have_typedef_ssize_t]: ...non-selective, or...
2916 [__need_off_t && !__have_typedef_ssize_t]: ...selective inclusion.
2917 (__have_typedef_ssize_t): New repeat definition guard; define it.
2919 2015-12-30 Keith Marshall <keithmarshall@users.sourceforge.net>
2921 Avoid user namespace pollution by non-standard type 'off64_t'.
2923 * include/sys/types.h (off64_t): Rename it as...
2924 (__off64_t): ...this implementation-private alternative name, so
2925 eliminating the potential for user namespace pollution.
2927 * include/io.h (lseek64): Use '__off64_t', instead of 'off64_t', as
2928 return type, and type of offset argument, in both prototype and inline
2929 implementation; note that this addresses the issue of pollution in the
2930 user namespace, while avoiding the issue of MinGW-Bug [#2024].
2932 * include/stdio.h (fseeko64, __mingw_fseeko64): Use '__off64_t'
2933 instead of 'off64_t', as offset argument type in function prototypes.
2934 (ftello64): Likewise, for return type of inline function.
2936 * mingwex/mingw-fseek.c: Assert copyright; tidy layout.
2937 (WIN32_LEAN_AND_MEAN): Define, to minimize impact of <windows.h>.
2938 (__mingw_fseeko64): Use '__off64_t' per modified function prototype.
2940 * mingwex/stdio/fseeko64.c: Assert copyright.
2941 (fseeko64): Use '__off64_t' per modified function prototype.
2943 2015-12-27 Keith Marshall <keithmarshall@users.sourceforge.net>
2945 Improve ISO-C conformity in MinGW printf(); cf. MinGW-Bug [#1761]
2947 * mingwex/ofmtctl.c: New file; it implements...
2948 (_mingw_output_format_control): ...this new function; it provides
2949 additional MinGW specific printf() format processing options.
2951 * Makefile.in (libmingwex.a) [prerequisites]: Add ofmtctl.$OBJEXT
2953 * include/stdio.h (_mingw_output_format_control): Declare it.
2954 (_EXPONENT_DIGIT_MASK, _MSVC_PRINTF_QUIRKS, _QUERY_MSVC_PRINTF_QUIRKS)
2955 (_ENABLE_MSVC_PRINTF_QUIRKS, _DISABLE_MSVC_PRINTF_QUIRKS): New
2956 manifest constant expressions; define them.
2958 * mingwex/stdio/pformat.c: Revise licensing terms.
2959 (__pformat) [%le, %lE, %lf, %lF, %lg, %lG, %lx, %lX]: When...
2960 [_mingw_output_format_flag & _MSVC_PRINTF_QUIRKS == 0]: ...ignore `l'
2961 modifier; this matches the behaviour specified by ISO-C99, else...
2962 [_mingw_output_format_flag & _MSVC_PRINTF_QUIRKS != 0]: ...revert to
2963 previous MSVC compatible behaviour, treating it as an `L' modifier.
2964 [!_WIN32] (_MSVC_PRINTF_QUIRKS): Force the zero match case.
2966 * mingwex/ofmt.c (ARGLIST): Subsume references to...
2967 (ARGTYPE): ...this now obsolete macro; delete it throughout.
2968 (update_output_format_flag): New inline function; it restricts flag
2969 operations to affect only Microsoft's exponent digit bits.
2970 [FUNCTION == _set_output_format]: Use it.
2971 [FUNCTION == _get_output_format]: Likewise.
2973 2015-10-23 Keith Marshall <keithmarshall@users.sourceforge.net>
2975 Make atof() and strtod() conform to ISO-C; fix MinGW-Bug [#2273]
2977 * include/_mingw.h (_ISOC99_SOURCE): Ensure this feature test macro is
2978 defined, when implied by any STDC or POSIX version selection, viz. ...
2979 [__STDC_VERSION__ >= 199901L || _POSIX_C_SOURCE >= 200112L]: ...this.
2981 * include/stdlib.h: Assert copyright; tidy layout.
2982 (_STDLIB_H_): Multiple inclusion guard macro renamed...
2983 (_STDLIB_H): ...to this, preferring no trailing underscore.
2984 [!defined __NO_ISOCEXT]: Delete double negative references; use...
2985 [defined _ISOC99_SOURCE]: ...this feature test instead, when...
2986 (lldiv_t): ...defining this C99 specific aggregate data type, and...
2987 (lldiv, llabs, atoll, strtoll, strtoull, strtof, strtold, wcstof)
2988 (wcstold, _Exit): ...declaring these C99 function prototypes.
2989 (wtoll, lltoa, ulltoa, lltow, ulltow): Mark as deprecated, pending
2990 future removal; not in MSVCRT.DLL, these conform to no known standard.
2991 [__USE_MINGW_ANSI_STDIO] (atof, strtod): Implement inline, using...
2992 (__strtod): ...this libmingwex.a provided function; it handles string
2993 representations of hexadecimal-floats, infinities and NaNs, whereas...
2994 (strtod): ...this MSVCRT.DLL implementation does not.
2995 (__MSVCRT_VERSION__): Prefer symbolic comparison...
2996 [>= __MSVCR80_DLL]: ...for this requirement.
2998 2015-10-22 Keith Marshall <keithmarshall@users.sourceforge.net>
3000 Rationalize definition of struct timespec.
3002 * include/parts/time.h (struct timespec): Redefine; use __time64_t for
3003 tv_sec field, in place of anonymous union, thus avoiding missing brace
3004 warnings when initializing; leave a copy of the previous definition...
3005 (struct __mingw32_expanded_timespec): ...named thus.
3007 * include/unistd.h (nanosleep): Adjust inline implementation, to match
3008 altered specification of tv_sec field in struct timespec.
3010 * include/_mingw.h (_MINGW32_EXTENDED_SOURCE): New feature test macro.
3011 [! defined __STRICT_ANSI__]: Define it, making it a default feature.
3013 * include/time.h [_MINGW32_EXTENDED_SOURCE] (mingw_timespec): New
3014 convenience function; defined as inline, with __LIBIMPL__ equivalent,
3015 it facilitates interpretation of an instance of struct timespec as if
3016 it were defined as struct __mingw32_expanded_timespec.
3018 2015-09-14 Keith Marshall <keithmarshall@users.sourceforge.net>
3020 Make strings.h mostly POSIX.1-2008 compliant.
3022 * include/strings.h: Rewritten. Do not include...
3023 (string.h): ...this; mandated by POSIX.1, it now defines...
3024 (strcasecmp, strncasecmp): ...these POSIX.1 functions, complete with
3025 prototypes, possible in-line implementations, and JMPSTUB references
3026 to corresponding external implementations, which will now become
3027 automatically created within libmingwex.a
3029 * include/parts/strings.h: New file; it declares prototypes for...
3030 (_stricmp, _strnicmp): ...these MSVC functions; nominally declared in
3031 string.h, but we also require them in strings.h
3033 * include/parts/wchar.h: New file; it declares prototypes for all wide
3034 character functions which MSVC specifies in both wchar.h and string.h
3036 * include/string.h: Miscellaneous layout adjustments.
3037 (strcasecmp, strncasecmp): Delete; they belong in strings.h
3038 (_stricmp, _strnicmp): Factor out; include them from parts/strings.h
3039 [!_WSTRING_DEFINED]: Factor out all associated function prototypes;
3040 include them from parts/wchar.h instead.
3042 * include/wchar.h [!_WSTRING_DEFINED]: Delete all associated function
3043 prototypes; include them from parts/wchar.h instead, so making this
3044 guard macro redundant; delete it.
3046 * Makefile.in (strcasecmp.$OBJEXT, strncasecmp.$OBJEXT)
3047 (wcscmpi.$OBJEXT): Implementations are now automatically generated
3048 from header file, for inclusion in libmingwex.a; remove free-standing
3049 implementations from the entire family of liboldname libraries, and...
3050 * strcasecmp.c strncasecmp.c wcscmpi.c: ...delete corresponding source
3051 files; they are no longer required.
3053 2015-07-16 Keith Marshall <keithmarshall@users.sourceforge.net>
3055 Incorporate build system updates from w32api package.
3057 * Makefile.in (NTDDI_VERSION): Set default to NTDDI_WINNT4.
3058 (mkinstalldirs, INSTALL_DATA): Reimplement to support $(call ...)
3059 (install-strip, uninstall): New make command goals; implement them.
3060 (mingwrt-dist-staged): Use 'install-strip' in this rule; hence...
3061 (devdist, dlldist): ...these have no need to strip explicitly.
3062 (INSTALL_SUB_HEADERS): New macro; implement it, and use it...
3063 (install-mingwrt-headers): ...here.
3065 2015-07-14 Keith Marshall <keithmarshall@users.sourceforge.net>
3067 Adapt platform feature checks to NTDDI_VERSION conventions.
3069 * include/_mingw.h: Assert copyright; include w32api.h
3070 (UNICODE, _UNICODE): Factor out consistency checks; relocate them
3071 to w32api/include/w32api.h, whence they remain in effect.
3072 (_EXTERN_C, _BEGIN_C_DECLS, _END_C_DECLS): Likewise.
3074 2015-07-14 Keith Marshall <keithmarshall@users.sourceforge.net>
3076 Correct mismatched #if/#endif from preceding commit.
3078 * include/_mingw.h (#pragma GCC system_header)
3079 [__GNUC__ >= 3 && ! defined __PCC__]: Merge these conditions, thus
3080 correcting for inadvertent removal of matching #endif introduced by
3081 preceding 2015-06-19 commit.
3083 2015-06-19 Keith Marshall <keithmarshall@users.sourceforge.net>
3085 Define symbolic names for alternative Microsoft runtime DLLs.
3087 * include/msvcrtver.h: New file; it assigns a value for...
3088 (__MSVCRT_VERSION__): ...this, making its default equivalent to...
3089 (__MSVCR60_DLL): ...this new manifest constant, with each of...
3090 (__MSVCR61_DLL, __MSVCR70_DLL, __MSVCR71_DLL, __MSVCR80_DLL)
3091 (__MSVCR90_DLL, __MSVCR100_DLL, __MSVCR110_DLL, __MSVCR120_DLL):
3092 ...these also defined, as user assignable alternatives.
3094 * include/_mingw.h (__MSVCRT_VERSION__): Use include/msvcrtver.h
3095 to establish its default value.
3097 2015-06-18 Keith Marshall <keithmarshall@users.sourceforge.net>
3099 Track dependencies on modified system header files.
3101 * Makefile.in (DEPFLAGS): Use -MD, rather than -MMD.
3103 2015-06-18 Keith Marshall <keithmarshall@users.sourceforge.net>
3105 Correct an anomaly in stage 1 only build procedure.
3107 * Makefile.in (all-gcc): New goal; it is an alias for...
3108 (all-mingwrt-stage-1): ...this, renamed to match configure, as...
3109 (all-mingwrt-stage-1-only): ...this; upate all references.
3110 (active-goals): Adjusted accordingly; it now reguires...
3111 (all-deprecated-mingwrt-stage-1-only): ...this new goal.
3112 (install): Adjusted, as directed by...
3113 (DEFAULT_MAKECMDGOALS): ...this.
3115 2015-06-13 Keith Marshall <keithmarshall@users.sourceforge.net>
3117 Prefer our hypot() implementation in complex maths operations.
3119 * mingwex/complex/cabs_generic.c: New file; it replaces...
3120 * mingwex/complex/cabs.c mingwex/complex/cabsf.c: ...all of...
3121 * mingwex/complex/cabsl.c: ...these.
3123 * mingwex/complex/catan_generic.c: New file; it replaces...
3124 * mingwex/complex/catan.c mingwex/complex/catanf.c: ...all of...
3125 * mingwex/complex/catanl.c: ...these.
3127 * mingwex/complex/clog_generic.c: New file; it replaces...
3128 * mingwex/complex/clog.c mingwex/complex/clogf.c: ...all of...
3129 * mingwex/complex/clogl.c: ...these.
3131 * mingwex/complex/cpow_generic.c: New file; it replaces...
3132 * mingwex/complex/cpow.c mingwex/complex/cpowf.c: ...all of...
3133 * mingwex/complex/cpowl.c: ...these.
3135 * mingwex/complex/csqrt_generic.c: Do not use...
3136 (_hypot): ...this Microsoft form of function reference; use...
3137 (hypot): ...this ANSI standard form instead.
3139 2015-06-10 Keith Marshall <keithmarshall@users.sourceforge.net>
3141 Correct C++ compilation anomaly with hypotf() in cmath header.
3143 * include/math.h: Add copyright notice; generally tidy layout.
3144 (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
3145 (hypotf): Delete inline implementation; it did not properly handle
3146 range errors, and was uncompilable with optimization when any g++
3147 option implying __STRICT_ANSI__ conformity was specified.
3148 (_MATH_H_): Rename this multiple inclusion guard...
3149 (_MATH_H): ...to this.
3151 * mingwex/math/hypot_generic.c: New file; it implements...
3152 (hypot, hypotf, hypotl): ...these; use the latter pair in place of...
3153 * mingwex/math/hypotf.c mingwex/math/hypotl.c: ...these; delete them.
3155 2015-06-08 Keith Marshall <keithmarshall@users.sourceforge.net>
3157 Prepare and tag all files for release of mingwrt-3.21.1.
3159 * configure.ac (AC_INIT): Adjust package version argument.
3160 * include/_mingw.h (__MINGW32_PATCHLEVEL): Increment to 1, and...
3161 (__MINGW32_VERSION): ...increment this to match.
3163 2015-05-18 Keith Marshall <keithmarshall@users.sourceforge.net>
3165 Refactor to avoid possible time_t conflicts across headers.
3167 * include/parts/time.h (struct timespec): Make it more descriptive of,
3168 and better able to accommodate, potential ambiguity relating to...
3169 (time_t, __time32_t, __time64_t): ...these typedefs; define them here,
3170 whence they may be identically imported into each of...
3171 * include/sys/types.h include/time.h include/wchar.h: these; delete
3172 duplicate typedefs, and import accordingly.
3174 * include/sys/types.h: Add licence; general comment additions.
3175 (_TYPES_H_): Rename multiple inclusion guard macro...
3176 (_SYS_TYPES_H): ...to this.
3178 * include/time.h: Add licence; general comment/layout adjustments.
3179 (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
3180 (_TIME_T_DEFINED, _TIME32_T_DEFINED, _TIME64_T_DEFINED)
3181 (_CLOCK_T_DEFINED): Superfluous guard macros; delete them.
3182 (_TIME_H_): Rename multiple inclusion guard macro...
3183 (_TIME_H): ...to this.
3185 * include/unistd.h (nanosleep): Adjust to accommodate redefinition...
3186 (struct timespec): ...of this.
3188 * include/wchar.h: Add licence; general comment/layout adjustments.
3189 (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
3190 [GCC] (system_header): Add pragma, identifying header as such.
3191 (_WCHAR_H_): Rename multiple inclusion guard macro...
3192 (_WCHAR_H): ...to this.
3194 2015-05-09 Keith Marshall <keithmarshall@users.sourceforge.net>
3196 Remove obsolete varargs.h header file.
3198 * include/varargs.h: Delete it; it was a mostly redundant wrapper for
3199 a GCC header which is no longer supported, and was always intended for
3200 ultimate removal; now is the long overdue time to do so.
3202 2015-05-08 Keith Marshall <keithmarshall@users.sourceforge.net>
3204 Correct improper unistd.h function attribute declarations.
3206 * include/unistd.h (_cdecl): Correct usage throughout; should be...
3209 2015-03-12 Keith Marshall <keithmarshall@users.sourceforge.net>
3211 Fix GLOB_DOOFFS initialization bug.
3213 * mingwex/glob.c (__mingw_glob) [!GLOB_DOOFFS]: Ensure...
3214 (gl_data->gl_offs): ...this is properly initialized to zero.
3216 2014-12-28 Keith Marshall <keithmarshall@users.sourceforge.net>
3218 Tag all files for release of mingwrt-3.21.
3220 * include/_mingw.h: Adjust version accordingly.
3222 2014-12-28 Keith Marshall <keithmarshall@users.sourceforge.net>
3224 Improve usage notes in stdlib.h, for mkstemp() function.
3226 * include/stdlib.h (MKSTEMP_SETMODE): Explain usage; this is a copy of
3227 an original comment, explaining the need to use _O_TEMPORARY, from...
3228 * mingwex/mkstemp.c: ...here; delete trailing white space.
3230 2014-12-23 Keith Marshall <keithmarshall@users.sourceforge.net>
3232 Eliminate some potential definition inconsistencies.
3234 * include/stdio.h: Cosmetic formatting change, relating to...
3235 * include/unistd.h (SEEK_SET, SEEK_CUR, SEEK_END): Define them
3236 unconditionally; this allows the compiler to check for consistency
3237 with their primary definitions in stdio.h
3239 2014-12-23 Keith Marshall <keithmarshall@users.sourceforge.net>
3241 Suppress expected warning diagnostics in LIBIMPL builds.
3243 * Makefile.in (LIBIMPL_CFLAGS): Redefine it; it now incorporates...
3244 (LIBIMPL_EXTRA_CFLAGS): ...this new macro; it includes the requisite
3245 GCC flag to supress warnings relating to deprecated declarations.
3247 2014-12-23 Keith Marshall <keithmarshall@users.sourceforge.net>
3249 Provide more POSIX conforming sleep() functions.
3251 * include/sys/types.h (useconds_t): Make it explicitly long; int may
3252 be okay, but doesn't guarantee enough bits; mark as deprecated, since
3253 POSIX has declared it "obsolete", and no longer specifies it.
3255 * mingwex/usleep.c: Delete file; it provided an implementation of...
3256 (usleep): ...this now obsolete function, claiming POSIX.1 issue 6, but
3257 its error handling was hopelessly broken; replace it with...
3258 * mingwex/nsleep.c: ...this new file; it implements...
3259 (__mingw_sleep): ...this generic helper function; it supports sleep
3260 capability with interval specification to nanosecond precision.
3262 * include/unistd.h (__mingw_sleep): Declare prototype; use it as the
3263 basis for providing __LIBIMPL__ __CRT_INLINE implementations of...
3264 (sleep, nanosleep): ...these current POSIX functions, and also...
3265 (usleep): ...this obsolete one; mark it as deprecated.
3267 * include/parts: New directory; it is intended to host partial header
3268 implementations, for content which must be shared among arbitrary sets
3269 of multiple standard header files.
3271 * include/parts/time.h: New file; nominally declaring time.h content.
3272 (struct timespec): Declare it; it is currently used within unistd.h,
3273 to facilitate the __CRT_INLINE implementation of nanosleep().
3275 * Makefile.in (libmingwex.a): Remove reference to...
3276 (usleep.$OBJEXT): ...this; replace it with a reference to...
3277 (nsleep.$OBJEXT): ...this alternative.
3278 (mingwrt-includedirs): Add prerequisite to create...
3279 ($includedir/parts): ...this new directory; it is populated by...
3280 (install-mingwrt-headers): ...this rule; add requisite command.
3282 2014-12-13 Keith Marshall <keithmarshall@users.sourceforge.net>
3284 Delete an unnecessary Unicode wrapper file.
3286 * mingwex/wdirent.c: Delete it; Makefile.in knows how to compile the
3287 UTF-16LE API from dirent.c, without any need for this wrapper.
3289 2014-12-13 Keith Marshall <keithmarshall@users.sourceforge.net>
3291 Some further inline function rationalization.
3293 * include/io.h (_CRTALIAS): Replace all references...
3294 (__CRT_ALIAS): ...using this syntactically preferred form.
3295 (lseek64): Specify __JMPSTUB__ semantics for extern implementation.
3296 [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
3298 * include/unistd.h (ftruncate): Specify __JMPSTUB__ semantics.
3299 [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
3301 * mingwex/stdio/lseek64.c: File is now redundant; delete it.
3302 * mingwex/ftruncate.c: Likewise.
3304 * Makefile.in (libmingwex.a): Delete obsolete dependencies on...
3305 (lseek64.$OBJEXT, ftruncate.$OBJEXT): ...these.
3307 2014-12-13 Keith Marshall <keithmarshall@users.sourceforge.net>
3309 Some POSIX feature test adjustments.
3311 * include/stdlib.h (mkstemp): Available since SUSv3, so requires...
3312 [_POSIX_C_SOURCE >= 200112L]: ...this minimum level of POSIX support.
3313 (mkdtemp): This didn't become available until SUSv4, so requires...
3314 [_POSIX_C_SOURCE >= 200809L]: ...this increased feature level.
3316 2014-12-11 Keith Marshall <keithmarshall@users.sourceforge.net>
3318 Another CRT_INLINE function implementation rationalization.
3320 * include/inttypes.h (imaxabs): Specify as __LIBIMPL__; declare...
3321 (llabs): ...this, to be implemented as its __LIBIMPL__ alias.
3322 [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
3324 * Makefile.in (libimpl_sed_script): Handle ALIAS attribute.
3325 (libmingwex.a): Delete obsolete dependency on...
3326 (imaxabs.$OBJEXT): ...this.
3328 * mingwex/imaxabs.c: File is now redundant; delete it.
3330 2014-12-11 Keith Marshall <keithmarshall@users.sourceforge.net>
3332 More rationalization of CRT_INLINE function implementations.
3334 * include/stdio.h (fopen64): Add __JMPSTUP__ specification.
3335 (ftello64): Add __LIBIMPL__ specification for extern implementation.
3336 [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
3338 * mingwex/stdio/fopen64.c: File is now redundant; delete it.
3339 * mingwex/stdio/ftell064.c: Likewise.
3341 * Makefile.in (libmingwex.a): Delete obsolete dependencies on...
3342 (fopen64.$OBJEXT, ftello64.$OBJEXT): ...these.
3344 2014-12-11 Keith Marshall <keithmarshall@users.sourceforge.net>
3346 Don't implicitly define _POSIX_C_SOURCE too early.
3348 * include/_mingw.h (_POSIX_C_SOURCE): Delay implict definition.
3349 (__USE_MINGW_ANSI_STDIO): This must be initialized first, to ensure
3350 that it is not accidentally activated by implied _POSIX_C_SOURCE.
3352 2014-12-10 Keith Marshall <keithmarshall@users.sourceforge.net>
3354 Correct complex arcsin computation per issue [#2245].
3356 * mingwex/complex/casin_generic.c: New file; it replaces...
3357 * mingwex/complex/casin.c: ...this; it is now obsolete; delete it.
3358 * mingwex/complex/casinf.c mingwex/complex/casinl: Likewise.
3360 2014-12-10 Keith Marshall <keithmarshall@users.sourceforge.net>
3362 Correct complex square root computation per issue [#2246].
3364 * include/math.h (hypotf): Redirect __CRT_INLINE call to...
3365 (_hypot): ...this MSVCRT.DLL exported function, so avoiding...
3366 (hypot): ...this libmoldname.a indirection.
3368 * mingwex/complex/csqrt_generic.c: New file; it replaces...
3369 * mingwex/complex/csqrt.c: ...this; it is now obsolete; delete it.
3370 * mingwex/complex/csqrtf.c mingwex/complex/csqrtl: Likewise.
3372 2014-12-10 Keith Marshall <keithmarshall@users.sourceforge.net>
3374 Adjust header guards to resolve issue [#2244].
3376 * include/_mingw.h (_POSIX_C_SOURCE): Define it implicitly...
3377 [_GNU_SOURCE || _BSD_SOURCE || _POSIX_SOURCE || !__STRICT_ANSI__]:
3378 ...when any of these prevail, or as appropriate to correspond with...
3379 [_XOPEN_SOURCE]: ...this; set conformance level accordingly.
3381 * include/math.h [_POSIX_C_SOURCE || defined _USE_MATH_DEFINES]
3382 (M_E, M_LOG2E, M_LOG10E, M_LN2, M_LN10, M_PI, M_PI_2, M_PI_4, M_1_PI)
3383 (M_2_PI, M_2_SQRTPI, M_SQRT2, M_SQRT1_2): Define them, irrespective...
3384 [__STRICT_ANSI__]: ...of this; replace guard accordingly.
3386 2014-12-01 Keith Marshall <keithmarshall@users.sourceforge.net>
3388 Add implementation of mkstemp() and mkdtemp() functions.
3390 * mingwex/cryptnam.c: New file; it implements...
3391 (__mingw_crypto_tmpname): ...this helper function; it generates a
3392 cryptographically secure sequence of characters, used as the random
3393 component in temporary file and directory names.
3395 * mingwex/mkstemp.c: New file; it implements...
3396 (__mingw_mkstemp): ...this provider of mkstemp() functionality.
3398 * mingwex/mkdtemp.c: New file; it implements...
3399 (__mingw_mkdtemp): ...this provider of mkdtemp() functionality.
3401 * include/stdlib.h (mkstemp): Declare protototye; provide an inline
3402 function implementation, with LIBIMPL extern semantics, in terms of...
3403 (__mingw_mkstemp): ...this; also declare prototype, and define...
3404 (_MKSTEMP_INVOKE, _MKSTEMP_DEFAULT): ...these supporting constants.
3405 (_MKSTEMP_SETMODE): New macro; define it, also providing...
3406 (MKSTEMP_SETMODE) [!_NO_OLDNAMES]: ...this alias.
3407 (mkdtemp): Declare prototype; provide inline implementation, with
3408 JMPSTUB extern semantics, in terms of...
3409 (__mingw_mkdtemp): ...this; declare prototype.
3411 * Makefile.in (libmingwex.a): Add dependency rule, to include...
3412 (mkstemp.$OBJEXT, mkdtemp.$OBJEXT, cryptname.$OBJEXT): ...these.
3414 2014-11-30 Keith Marshall <keithmarshall@users.sourceforge.net>
3416 More JMPSTUB rationalization of inline functions.
3418 * include/stdlib.h (_Exit, atoll, lltoa, ulltoa, wtoll, lltow)
3419 (ulltow): Add __JMPSTUB__ declarations; each is REMAPPED to its
3420 appropriate MSVCRT.DLL equivalent entry point.
3422 * mingwex/_Exit.c: File is now redundant; delete it.
3423 * mingwex/atoll.c mingwex/lltoa.c mingwex/ulltoa: Likewise.
3424 * mingwex/wtoll.c mingwex/lltow.c mingwex/ulltow: Likewise.
3426 * Makefile.in (jmpstub_awk_script): Add support for...
3427 [__JMPSTUB__((REMAPPED))]: ...this stub function attribute.
3428 (libmingwex.a): Remove dependencies on deleted files, namely...
3429 (_Exit.$OBJEXT, atoll.$OBJEXT, lltoa.$OBJEXT, ulltoa.$OBJEXT)
3430 (wtoll.$OBJEXT, lltow.$OBJEXT, ulltow.$OBJEXT): ...these.
3432 2014-11-29 Keith Marshall <keithmarshall@users.sourceforge.net>
3434 Correct omission of complex conjugate functions from libmingwex.a
3436 * include/complex.h (conj, conjf, conjl): Add LIBIMPL declarations.
3437 (creal, crealf, creall): Likewise, for consistency of implementation.
3438 (cimag, cimagf, cimagl, carg, cargf, cargl): Likewise.
3440 * Makefile.in (libimpl_sed_script): Add processing for __CRT_INLINE
3441 declarations; they should be interpreted analogously to __CRT_ALIAS.
3442 (libmingwex.a): Remove object file references for functions which are
3443 now declared as LIBIMPL, and sort the remainder in ASCII collating
3444 order; deleted function references comprise the set consisting of...
3445 (carg.$OBJEXT, cargf.$OBJEXT, cargl.$OBJEXT): ...these...
3446 (creal.$OBJEXT, crealf.$OBJEXT, creall.$OBJEXT): ...these, and...
3447 (cimag.$OBJEXT, cimagf.$OBJEXT, cimagl.$OBJEXT): ...these.
3449 * mingwex/complex/carg.c: Replaced by LIBIMPL; delete it.
3450 * mingwex/complex/cargf.c mingwex/complex/cargl.c: Likewise.
3451 * mingwex/complex/creal.c mingwex/complex/cimag.c: Likewise.
3452 * mingwex/complex/crealf.c mingwex/complex/cimagf.c: Likewise.
3453 * mingwex/complex/creall.c mingwex/complex/cimagl.c: Likewise.
3455 2014-11-24 Keith Marshall <keithmarshall@users.sourceforge.net>
3457 Back-port improved asinh() implementation from 4.0-dev branch.
3459 * mingwex/math/asinh_generic.c: New file; it replaces...
3460 * mingwex/math/asinh.c mingwex/math/asinhf.c mingwex/math/asinhl.c:
3461 ...all of these; delete them.
3463 2014-11-18 Keith Marshall <keithmarshall@users.sourceforge.net>
3465 Enable remake of lost LIBIMPL object files.
3467 * Makefile.in (libimpl_remake): New macro; define it, and...
3468 (%.libimpl.$OBJEXT) [%.libimpl exists]: ...use it in build rule.
3470 2014-11-17 Keith Marshall <keithmarshall@users.sourceforge.net>
3472 Implement more robust _get_output_format fallback handling.
3474 * mingwex/ofmt.c: New file; it implements...
3475 (__mingw_output_format_flag): ...backing store, used by...
3476 (__mingw_get_output_format, __mingw_set_output_format): ...these
3477 MSVCRT.DLL version agnostic wrappers/emulators for each of these...
3478 (_get_output_format, _set_output_format): ...MSVCR80.DLL and later
3479 version specific Microsoft APIs, which are also supported by some
3480 later versions of MSVCRT.DLL, (excluding WinXP and earlier).
3481 (__mingw_get_output_format_fallback): Implement; it is aliased to...
3482 (__mingw_set_output_format_fallback): ...this; together they provide
3483 the emulation support for the preceding pair of functions, when they
3484 are not available within the run-time platform MSVCRT.DLL
3485 (__mingw_get_printf_count_output, __mingw_set_printf_count_output):
3486 Implement them; they wrap, and if necessary emulate...
3487 (_get_printf_count_output, _set_printf_count_output): ...these.
3488 (__mingw_get_printf_count_output_fallback): Implement; aliased to...
3489 (__mingw_set_printf_count_output_fallback): ...this; together they are
3490 required to support emulation of the preceding pair of functions, when
3491 they are not available within the run-time platform MSVCRT.DLL
3493 * include/stdio.h (_TWO_DIGIT_EXPONENT): Define it unconditionally.
3494 (_THREE_DIGIT_EXPONENT): New manifest constant; define it orthogonally.
3495 (__mingw_get_output_format, __mingw_set_output_format)
3496 (__mingw_get_printf_count_output, __mingw_set_printf_count_output):
3497 Unconditionally declare their prototypes, for subsequent inline use.
3498 [_MSVCRT_VERSION__ < 0x800] (_get_output_format): Emulate it inline.
3499 [_MSVCRT_VERSION__ < 0x800] (_set_output_format): Likewise.
3500 [_MSVCRT_VERSION__ < 0x800] (_get_printf_count_output): Likewise.
3501 [_MSVCRT_VERSION__ < 0x800] (_set_printf_count_output): Likewise.
3502 (__USE_MINGW_PRINTF): New manifest constant; define it. It is a
3503 counterpart to __USE_MINGW_ANSI_STDIO, which is guaranteed to always
3504 represent a compilable token.
3506 * mingwex/stdio/pformat.c (__pformat_exponent_digits): Do not require
3507 _get_output_format; consult __mingw_output_format_flag directly.
3509 * ofmt_stub.s: No longer required; delete it.
3511 * Makefile.in (ofmt_stub.$OBJEXT): Delete reference.
3512 (PFORMAT_CFLAGS) [__MSVCRT_VERSION__ = 0x800]: Remove requirement.
3513 (varofmt.$OBJEXT, crtofmt.$OBJEXT, getofmt.$OBJEXT, setofmt.$OBJEXT)
3514 (crtnfmt.$OBJEXT, getnfmt.$OBJEXT, setnfmt.$OBJEXT): Add build rule;
3515 all are compiled from ofmt.c
3517 2014-11-16 Keith Marshall <keithmarshall@users.sourceforge.net>
3519 Do some more essential build tree clean up.
3521 * Makefile.in (mostly-clean-local): Add *.libimpl; matching files get
3522 in the way of a successful rebuild from clean.
3524 2014-11-11 Keith Marshall <keithmarshall@users.sourceforge.net>
3526 Implement wrappers for emulation of POSIX dlfcn API.
3528 * include/dlfcn.h: New file; it declares the API.
3529 * mingwex/dlfcn.c: New file; implement it, with access via...
3530 (__mingw_dlfcn): ...this publicly addressable vector table.
3532 * Makefile.in (dlfcn.$OBJEXT): Add build requisite.
3533 (dlopen, dlsym, dlclose, dlerror): Build call stubs, using...
3534 (__LIBIMPL__): ...this automatic interface generator; implement it.
3535 (libstub_refnames): New macro; it is adapted from and replaces...
3536 (jmpstub_refs): ...this; when it is then invoked twice to build...
3537 (Makefile.stub): ...this, it handles both JMPSTUB and LIBIMPL.
3538 (jmpstub_awk_script): Adapt it to work with 'libstub_refnames'.
3539 (libimpl_awk_script): New inline script; it handles automated builds
3540 of LIBIMPL interfaces, as 'jmpstub_awk_script' does for JMPSTUB.
3541 (libimpl_sed_script): New inline script; it prepares intermediate C
3542 source code for LIBIMPL interfaces, as required to satisfy these...
3543 (%.libimpl, %.libimpl.$OBJEXT): ...new implicit build objectives.
3544 (LIBIMPL_CFLAGS): New macro; define it.
3546 2014-11-08 Keith Marshall <keithmarshall@users.sourceforge.net>
3548 Move libgen functions to __mingw_ pseudo-namespace.
3550 * mingwex/dirname.c (dirname): Rename function, as implemented...
3551 (__mingwex_dirname): ...to this.
3553 * mingwex/basename.c (basename): Rename function, as implemented...
3554 (__mingwex_basename): ...to this.
3556 * include/libgen.h (__mingw_dirname, __mingw_basename): Declare
3557 prototypes, matching and augmenting original declarations for...
3558 (dirname, basename): ...these; reimplement as inline aliases, with
3559 __JMPSTUB__ references to the renamed implementation entry points.
3561 2014-11-08 Keith Marshall <keithmarshall@users.sourceforge.net>
3563 Implement new command line argument globbing strategy.
3565 * include/_mingw.h: Backport feature defines from master...
3566 (__CRT_GLOB_USE_MINGW__, __CRT_GLOB_USE_MSVCRT__): New manifest
3567 constants; define them. They select the preferred globbing algorithm.
3568 [_CRT_glob & __CRT_GLOB_USE_MINGW__] (__CRT_GLOB_USE_SINGLE_QUOTE__)
3569 (__CRT_GLOB_BRACKET_GROUPS__, __CRT_GLOB_CASE_SENSITIVE__): New option
3570 bit-map constants; define them. When added to __CRT_GLOB_USE_MINGW__,
3571 they enable optional additional features supported by this algorithm.
3572 (__CRT_GLOB_ESCAPE_CHAR__): New manifest constant; define it.
3574 * CRTglob.c (_CRT_glob): Change default to __CRT_GLOB_USE_MINGW__.
3576 * Makefile.in (libmingw32.a): Add setargv.$OBJEXT, furnished by...
3577 * setargv.c: ...new file; it implements the initialization mechanism
3578 for the __CRT_GLOB_USE_MINGW__ globbing algorithm, when invoked by...
3579 (_setargv) [_CRT_glob & __CRT_GLOB_USE_MINGW__]: ...this new function;
3580 it invokes the algorithm via an API similar to that described by MSDN,
3581 while continuing to support our original _CRT_glob interpretation.
3582 (_setargv) [! _CRT_glob & __CRT_GLOB_USE_MINGW__]: Invoke Microsoft
3583 algorithm, via the MSDN-alike API, by calling back to...
3585 * crt1.c (_mingw32_init_mainargs): ...this original function, now
3586 relocated to here, as a publicly addressable function; formerly...
3587 (__mingw_CRTStartup): ...called directly from here, we now redirect
3588 the call through _setargv(), whence it may be called indirectly.
3590 * init.c: Redundant file; delete it. It originally provided...
3591 (_mingw32_init_mainargs): ...this, now relocated as noted above, with
3592 original static attribute removed, to allow global addressing.
3594 2014-11-07 Keith Marshall <keithmarshall@users.sourceforge.net>
3596 Backport glob implementation from master to legacy.
3598 * include/glob.h: New file; copy it from master branch.
3599 (__mingw_glob, __mingw_globfree): Add __JMPSTUB__ aliases for...
3600 (glob, globfree): ...each of these, respectively.
3602 * mingwex/glob.c: New file; copy it from master:src/libcrt/misc.
3603 (CRT_GLOB_HARD_ESCAPE) [ifndef __CRT_GLOB_ESCAPE_CHAR__]: Provide a
3604 fallback definition; default value is ASCII DEL, a.k.a. RUBOUT, code.
3605 (accept_glob_nocheck_match): New static function; it adds support for
3606 avoidance of globbing on patterns with no globbing token, so avoiding
3607 the case transliteration effect reported as MinGW-Bug #2106.
3608 (glob_match): Use it.
3610 * Makefile.in: Build glob.$OBJEXT; add it to libmingwex.a
3612 2014-11-05 Keith Marshall <keithmarshall@users.sourceforge.net>
3614 Implement conventionally named dirent function trampolines.
3616 * mingwex/jmpstub.sx: New file; it implements a generic trampoline,
3617 which redirects a conventionally named function call to its __mingw_
3618 pseudo-namespace implementation.
3620 * aclocal.m4 (MINGW_AC_PROG_COMPILE_SX): New macro; define it.
3621 * configure.ac (MINGW_AC_PROG_COMPILE_SX): Use it; it identifies the
3622 appropriate protocol for compiling *.sx files, (supported natively by
3623 GCC >= v4.3, but older versions require `-x assembler-with-cpp').
3625 * Makefile.in (COMPILE.sx): New implicit rule; GNU make does not
3626 yet provide it, so we define it ourselves; deploy it for *.sx files.
3627 (Makefile.stub): New sinclude file; create it dynamically, using...
3628 (jmpstub_awk_script): ...this new inline script, which is based on...
3629 (jmpstub_refs, jmpstub_prerequisites): ...these new macros, and...
3630 (mingwex/jmpstub.sx): ...this new file; add vpath reference.
3631 (mostlyclean-local): Remove Makefile.stub; do likewise...
3632 (Makefile): ...when remaking this, to ensure that both will be
3635 2014-11-03 Keith Marshall <keithmarshall@users.sourceforge.net>
3637 Make dirent implementation namespace and time_t clean.
3639 * include/_mingw.h (_EXTERN_C, _BEGIN_C_DECLS, _END_C_DECLS): New
3640 macros; define them. They facilitate identification of symbols which
3641 must be compiled with `extern "C"' binding, when compiling C++ code.
3642 (__CRT_ALIAS): New macro; define it. It is intended to replace...
3643 (_CRTALIAS): ...this, which is to be considered as deprecated.
3644 (__JMPSTUB__, __LIBIMPL__): New macros; define them. They provide
3645 __CRT_ALIAS build hints, while remaining transparent to GCC.
3646 (UNICODE, _UNICODE) [user defined]: Define consistently.
3648 * mingwex/dirent.c: Reimplement; (this is a back-port from the
3649 4.0-dev branch, with additional ABI changes to improve stability).
3650 (opendir, readdir, telldir, seekdir, rewinddir, closedir)
3651 (_wopendir, _wreaddir, _wtelldir, _wseekdir, _wrewinddir, _wclosedir):
3652 Add `__mingw_' prefix to all publicly exposed symbol names.
3653 (dirent_findfirst, dirent_findnext, dirent_findclose): New locally
3654 implemented functions; they replace Microsoft's ambiguously defined
3655 _findfirst, _findnext, and _findclose, so avoiding ABI instability
3656 resulting from the ambiguous size of Microsoft's time_t.
3658 * include/dirent.h (struct dirent, struct _wdirent): Redefine them,
3659 removing unnecessary time_t and file size fields; (our replacements
3660 for _findfirst, and _findnext do not require them to be present).
3661 (DIR, _WDIR): Adjust typedefs; they are now opaque structs.
3662 (opendir, readdir, telldir, seekdir, rewinddir, closedir)
3663 (_wopendir, _wreaddir, _wtelldir, _wseekdir, _wrewinddir, _wclosedir):
3664 Adjust prototypes, making them inline aliases for public symbols which
3665 are now qualified by the `__mingw_' prefix; add build hints to support
3666 compilation of addressable stubs, with the original symbol names.
3667 (DT_REG, DT_DIR, DT_UNKNOWN): New manifest constants; define them.
3668 (DT_BLK, DT_CHR, DT_FIFO, DT_LNK, DT_SOCK): Likewise; (these are for
3669 BSD compatibility, but are fundamentally unsupported on MS-Windows).
3670 (_DIRENT_HAVE_D_TYPE, _DIRENT_HAVE_D_RECLEN, _DIRENT_HAVE_D_NAMLEN):
3671 New macros; define them. (These show availability of optional fields
3672 within the dirent struct, which client code may wish to access).
3674 2014-10-31 Keith Marshall <keithmarshall@users.sourceforge.net>
3676 Correct improper naming of assembly language source files.
3678 * mingwex/math/*.S: Rename all files with this extension...
3679 * mingwex/math/*.s: ...to this; (all are simple assembly language, and
3680 not extended `assembler-with-cpp' as implied by the former extension);
3681 adjust all internal `.file <name>' references accordingly.
3683 * Makefile.in (vpath %.S): Adjust reference to locate files....
3684 (vpath %.s): ...now renamed thus.
3686 2014-10-29 Keith Marshall <keithmarshall@users.sourceforge.net>
3688 Streamline the build system infrastructure.
3690 * configure.ac: New file; it replaces...
3691 * configure.in: ...this; (name is obsolete); delete it.
3693 * aclocal.m4 Makefile.in: Substantially rewritten; avoid recursive
3694 make invocations, when processing subdirectories, and add automatic
3695 dependency tracking for all generated files.
3697 * configure: Delete it; as a generated file, it doesn't belong in SCM.
3699 * mingwex/Makefile.in: No longer required; delete it.
3700 * profile/Makefile.in: Likewise.
3702 * mkinstalldirs: Not required; delete it; (make should use `mkdir -p',
3703 or fall back on `install-sh -d', per AC_PROG_MKDIR_P).
3705 * jamfile: Delete it; it hasn't been updated in ages, is likely no
3706 longer relevant, and I have no desire to maintain it.
3708 2012-08-02 Earnie Boyd <earnie@users.sourceforge.net>
3710 Add another more rigorous __STRICT_ANSI__ filter.
3712 * include/limits.h [__STRICT_ANSI__] (PATH_MAX): Suppress definition.
3713 * include/sys/param.h [PATH_MAX defined] (MAXPATHLEN): Alias it.
3714 [PATH_MAX not defined] (MAXPATHLEN): Define it directly.
3716 2012-08-02 Ivan Maidanski <ivmai@users.sourceforge.net>
3718 Add missing function prototypes per issue [#1305].
3720 * include/process.h [#ifndef _WPROCESS_DEFINED]
3721 (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve)
3722 (_wexecvp, _wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe)
3723 (_wspawnv, _wspawnve, _wspawnvp, _wspawnvpe): Declare them.
3725 2012-08-02 Earnie Boyd <earnie@users.sourceforge.net>
3727 Add function prototype declarations per issue [#1293].
3729 * include/stdio.h (_lock_file, _unlock_file): Declare them.
3731 2012-08-02 Earnie Boyd <earnie@users.sourceforge.net>
3733 Apply some more rigorous __STRICT_ANSI__ filtering.
3735 * include/stdio.h (_getws, _putws, _wfdopen, _wfopen)
3736 (_wfreopen, _wfsopen, _wtmpnam, _wtempnam, _wrename, _wremove)
3737 (_wperror, _wpopen): Do not declare these functions unless...
3738 [#ifndef __STRICT_ANSI__]: ...this is satisfied.
3740 2012-08-02 Earnie Boyd <earnie@users.sourceforge.net>
3742 Add string to 64-bit integer conversion function prototypes.
3744 * include/stdlib.h (_strtoi64, _strtoi64_l, _strtoui64, _strtoui64_l)
3745 (_wcstoi64, _wcstoi64_l, _wcstoui64, _wcstoui64_l): Declare them.
3746 * include/wchar.h (_wcstoi64, _wcstoi64_l, _wcstoui64, _wcstoui64_l):
3747 Likewise; these are duplicates of the <stdlib.h> declarations.
3749 2012-08-01 Earnie Boyd <earnie@users.sourceforge.net>
3751 Update for _WIN64 exception handler readiness.
3753 * include/excpt.h [_WIN64] (__try1, __except1): Add alternative inline
3754 assembly code implementation, based on X86-64 architecture.
3756 2012-07-30 Earnie Boyd <earnie@users.sourceforge.net>
3758 Correct missing inclusion of <_mingw.h>.
3760 * include/stdint.h: Add omitted #include; all mingwrt headers are
3761 expected to include this; it is required to define __int64.
3763 2011-11-30 Ozkan Sezer <sezero@users.sourceforge.net>
3765 Correct prototypes for _wfindfirst()/_wfindnext() function family.
3767 * include/io.h (_wfindfirst, _wfindfirst32, _wfindfirsti64)
3768 (_wfindfirst32i64, _wfindfirst64i32): Return type changed to intptr_t.
3769 (_wfindnext, _wfindnext32, _wfindnexti64, _wfindnext32i64)
3770 (_wfindnext64i32, _wfindnext64): Type of parameter #1 must match.
3772 2011-11-30 Earnie Boyd <earnie@users.sourceforge.net>
3774 Avoid potential GCC "missing function prototype" warnings.
3776 * include/stdio.h (getc, putc, getchar, putchar, fopen64)
3777 (ftello64): Provide a function prototype declaration for each of
3778 these, prior to the corresponding inline implementation.
3780 2011-08-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3782 * include/_mingw.h: Increment version to 3.20.
3784 2011-08-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3786 * tlsmthread.c: Update to reflect changes in tlssup.c.
3787 * tlssup.c: code clean-up.
3789 2011-08-20 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3791 * include/_mingw.h: Increment version to 3.19.
3793 2011-08-19 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3795 * include/float.h: Modify guard to accomodate CLang.
3797 Thanks to Ruben Van Boxem for the report.
3799 2011-08-19 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3801 * tlssup.c: Remove mingwm10.dll fallback.
3803 2011-08-19 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3805 * include/sys/types.h (ssize_t): Defined as int as opposed to long.
3807 Thanks to bvassche for the report.
3809 2011-05-31 Keith Marshall <keithmarshall@users.sourceforge.net>
3811 Correct checking for short option matches in getopt_long_only().
3813 * mingwex/getopt.c (getopt_verify): New static inline function.
3814 (getopt_parse) [getopt_mode_long_only]: Use it, to validate as a
3815 possible short option match after failing to match, or ambiguously
3816 matching as a long option.
3818 2011-05-24 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3820 * include/stdlib.h (strtod): Declare as extern to resolve compilation issues.
3822 Thanks to cgf for the report.
3824 2011-05-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3826 * include/time.h (daylight, timezone, tzname): Rework guards to expose when
3827 compiles with __STRICT_ANSI__.
3829 Thanks to Felipe Contreras for the report.
3831 2011-05-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3833 * include/stdlib.h (strtod): Remove possible static declaration to resolve
3836 Thanks to Tobias Burnus for the report.
3838 2011-05-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3840 * include/stdlib.h (_rotl, _lrotl, _rotr, _lrotr): Resolve conflict with gcc
3841 by wrapping the functions in brackets.
3843 Thanks to Kai Tietz for the report.
3845 2011-05-22 A.B., Khalid <abkhd@users.sourceforge.net>
3847 * Makefile.in: Add support for msvcr100.dll.
3848 * msvcrt.def.in: Ditto.
3850 2011-05-22 Antoine LECA <antoinel@users.sourceforge.net>
3852 * mingwex/mingw-fseek.c: The anonymous union feature for LARGE_INTEGER is
3853 not always available, go the long way and use the explicit named union
3854 members, which are also declared in winnt.h.
3856 2011-05-22 Antoine LECA <antoinel@users.sourceforge.net>
3858 * mingwex/isblank.c: Fix typo in declaration.
3860 2011-05-22 Antoine LECA <antoinel@users.sourceforge.net>
3862 * include/_mingw.h: Define GCC system_header only if PCC is not defined.
3863 * include/stdlib.h: Fix a long-standing typo which prevented correct use of
3864 the MB_CUR_MAX macro/variable when DECLSPEC is not supported and <stdlib.h>
3865 is included before <ctype.h>.
3867 2011-05-22 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3869 * include/wchar.h: Include stdio.h to grab definition of FILENAME_MAX.
3871 Thanks to Jim Bell for the report and Greg Chicares for the fix.
3873 2011-01-07 Jacky Lai <crazyjacky@users.sourceforge.net>
3875 Correct hexadecimal formatting of double and long double values.
3877 * mingwex/stdio/pformat.c (__pformat_xdouble): Delete function.
3878 (__pformat) [A format]: Cast double values to long double, and use...
3879 (__pformat_xldouble): ...this instead, with corrected adjustment of
3880 exponent and alignment of mantissa, when formatting subnormals.
3882 2010-12-27 Ozkan Sezer <sezero@users.sourceforge.net>
3884 * include/dirent.h (dd_handle): Define as intptr_t.
3886 2010-11-08 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
3888 * tlssup.c (__dyn_tls_init): Use an integer variable to iterate between
3891 2010-08-17 Keith Marshall <keithmarshall@users.sourceforge.net>
3893 * include/limits.h (PATH_MAX): Make it agree with Microsoft's
3894 semantically identical MAX_PATH; correct value is 260.
3896 2010-07-25 Keith Marshall <keithmarshall@users.sourceforge.net>
3898 Accept that mingwrt headers are not guaranteed to precede GCC's in the
3899 system include search path; (issue reported by Mark Brand).
3901 * include/float.h: Add multiple inclusion guard around...
3902 [! defined _FLOAT_H___]: ...include_next <float.h> for GCC's version,
3903 only when this define does not indicate that it has already been seen;
3904 update comments to document rationale; move it within the scope of...
3905 [! defined _MINGW_FLOAT_H_]: ...this multiple inclusion guard, so that
3906 GCC's float.h, after an appropriate complementary modification, need
3907 not perform a further include path search when this implementation
3908 specific extension has already been processed.
3910 2010-07-22 Ozkan Sezer <sezero@users.sourceforge.net>
3912 * include/io.h (_findfirst, _findnext, _findclose, _findfirst32,
3913 _findnext32, _findfirsti64, _findnexti64, _findfirst32i64, _findfirst64i32,
3914 _findnext32i64, _findnext64i32, _findnext64, _findfirst, _findnext,
3915 _findfirsti64, _findnexti64, _findfirst, _findnext, _findfirsti64,
3916 _findnexti64): Correct definition.
3918 2010-04-27 Danny Smith <dannysmith@users.sourceforge.net>
3920 * mingwex/mb_wc_common.h (get_codepage): Revert change of 2006-09-19.
3922 2010-03-06 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3924 * include/_mingw.h: Increment version to 3.18.
3926 2010-03-02 Daniel Atallah <datallah@users.sourceforge.net>
3928 * include/stdio.h: (_vscprintf, _vscwprintf)
3929 * include/tchar.h: (_vsctprintf)
3931 2010-02-14 Roumen Petrov <rumen@users.sourceforge.net>
3933 Issue [2134161]: time64 functions and types for msvcrt >= 8.0
3934 (initial implementation)
3936 * new type: __time32_t
3938 * new structures: _finddata32_t, _finddata32i64_t, _finddata64i32_t,
3939 __stat32, _stat32i64, _stat64i32, __timeb32, __utimbuf32,
3940 __wfinddata32_t, _wfinddata32i64_t, _wfinddata64i32_t
3942 * new functions: _ctime32, _difftime32, _difftime64, _findfirst32
3943 _findfirst32i64, _findfirst64i32, _findnext32, _findnext32i64,
3944 _findnext64i32, _fstat32, _fstat32i64, _fstat64i32, _ftime32,
3945 _futime32, _gmtime32, _localtime32, _mkgmtime32, _mkgmtime64,
3946 _mktime32, _stat32, _stat32i64, _stat64i32, _time32, _utime32,
3947 _wctime32, _wfindfirst32, _wfindfirst32i64, _wfindfirst64i32,
3948 _wfindnext32, _wfindnext32i64, _wfindnext64i32, _wstat32,
3949 _wstat32i64, _wstat64i32,_wutime32
3951 * new define _USE_32BIT_TIME_T set 32 or 64 aliases for: time_t,
3952 ctime, difftime, _findfirst, _findfirsti64, _findnext, _findnexti64,
3953 _fstat, _fstati64, _ftime, _futime, gmtime, localtime, mktime,
3954 _stat, _stati64, time, _utime, _wctime, _wfindfirst, _wfindfirsti64,
3955 _wfindnext, _wfindnexti64, _wstat, _wstati64, _wutime
3957 2010-01-25 Kai Tietz <kai.tietz@onevision.com>
3959 Implement TLS Callback.
3961 * tlsmcrt.c: New file.
3962 * tlsmthread.c: Ditto.
3965 * Makefile.in: Include new files.
3966 * crt1.c: Implement TLS Callback.
3968 * mthr_stub.c: Remove.
3970 2009-11-29 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3972 * include/_mingw.h: Increment version to 3.17.
3974 2009-11-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3976 * mingwex/gdtoa/misc.c: Fix security vulnerability in gdtoa:
3977 cf. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0689
3979 2009-11-13 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
3981 * include/io.h (_open_osfhandle): Correct definition.
3983 Thanks to Alexander Shaduri for the information.
3985 2009-11-02 Charles Wilson <mingw@cwilson.fastmail.fm>
3987 Final sync of pseudo-reloc.c with mingw64 and cygwin
3988 * lib/pseudo-reloc.c (__report_error) [CYGWIN]: Correct size bug
3989 regarding error messages.
3991 2009-10-29 Charles Wilson <mingw@cwilson.fastmail.fm>
3993 Honor DESTDIR for winsup/mingw and winsup/w32api.
3994 Detect and report error if installation paths are win32
3995 format, but DESTDIR is non-empty.
3997 * Makefile.in (DESTDIR): Honor per convention.
3998 (need-DESTDIR-compatibility): New macro; define it and a
4000 (fail-DESTDIR-compatibility): New dependency goal.
4001 (install-dirs): Require need-DESTDIR-compatibility.
4002 * mingwex/Makefile.in (DESTDIR): Honor per convention.
4003 (need-DESTDIR-compatibility): New macro; define it and a
4005 (fail-DESTDIR-compatibility): New dependency goal.
4006 (install): Require need-DESTDIR-compatibility.
4007 * profile/Makefile.in: Ditto.
4009 2009-10-25 Charles Wilson <mingw@cwilson.fastmail.fm>
4011 Sync pseudo-reloc.c with mingw64
4012 * psuedo-reloc.c: Remove unnecessary includes.
4013 Forward declare _pei386_runtime_relocator.
4014 Decorate _image_base__ symbol with macro for
4015 mingw64 compatibility. Whitespace changes.
4016 (__print_reloc_error): Renamed to...
4017 (__report_error): This. "Returns" void, and
4018 always aborts. Now used on all platforms.
4019 (__write_memory): Remove special case error handling
4020 for different platforms - always call __report_error.
4021 (do_pseudo_reloc): Remove special case error handling
4022 for different platforms - always call __report_error.
4023 (_pei386_runtime_relocator): Decorate _image_base__
4024 symbol with mingw64 compatibility macro.
4026 2009-10-23 Charles Wilson <mingw@cwilson.fastmail.fm>
4028 Sync pseudo-reloc.c with cygwin/lib/
4029 * pseudo-reloc.c [CYGWIN]: Added comments throughout and various
4030 whitespace fixes. Exploit cygwin_internal(CW_EXIT_PROCESS,...)
4031 for fatal error handling that is consistent with cygwin process
4032 life-cycle. Ensure state variable (in _pei386_runtime_relocator)
4033 is unique to each address space, across fork().
4034 [CYGWIN] (__print_reloc_error): New function for reporting
4035 errors in a manner supported by cygwin at this early stage of
4036 the process life-cycle.
4037 [CYGWIN] (_pei386_runtime_relocator): Ensure relocations
4038 performed only once for each address space, but are repeated
4039 after fork() in the new address space.
4040 [MINGW] (__write_memory): Ensure that b is always initialized
4041 by call to VirtualQuery, even if -DNDEBUG.
4043 2009-09-29 Keith Marshall <keithmarshall@users.sourceforge.net>
4045 Make MinGW printf() "%p" format compatible with MSVCRT scanf().
4046 (Based on MinGW-patch 2844514 by Peter Rosin <peda@lysator.liu.se>)
4048 * mingwex/stdio/pformat.c (__printf) [%p]: Do not arbitrarily apply...
4049 (PFORMAT_HASHED): ...this formatting attribute; honour only user
4050 specified format qualifiers, except in special case...
4051 [%p && stream.flags == flags && state == PFORMAT_INIT]: Apply...
4052 (PFORMAT_ZEROFILL): ...this default formatting attribute...
4053 (stream.precision): ...filled to at least 2 * sizeof( uintptr_t )
4056 2009-09-01 Keith Marshall <keithmarshall@users.sourceforge.net>
4058 Avoid multiple link time definitions of _printf() for C++;
4059 (problem reported by Alexander Shaduri, via MinGW-users ML).
4061 * include/stdio.h [__USE_MINGW_ANSI_STDIO]:
4062 (__mingw_stdio_redirect__) [__cplusplus]: remove `static' keyword.
4064 2009-08-14 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4066 * include/_mingw.h: Increment version to 3.16.
4068 2009-08-08 Danny Smith <dannysmith@users.sourceforge.net>
4070 * include/math.h (__fpclassifyl, __isnan, __isnanf, isnanl, __signbit,
4071 __signbitf, __signbitl, sinhf, tanhf, expf, frexpf, ldexpf, hypotf, powf,
4072 __fp_unordered_compare): Add prototypes.
4073 * include/stdio.h (vsnwprintf): Add prototype.
4074 * include/wchar.h (vsnwprintf): Add prototype.
4075 * include/stdlib.h (_Exit): Protect inline definition with !__STRICT_ANSI__.
4076 * include/unistd.h (ftruncate): Move prototype out of __NO_INLINE__ guard.
4078 2009-07-29 Keith Marshall <keithmarshall@users.sourceforge.net>
4080 Correct disposition of wchar_t output in printf().
4082 * mingwex/stdio/pformat.c (__pformat) [%C]: Create new instance of...
4083 (argval): ...this, in inner scope, with singular type `wchar_t'; use
4084 it to pass one wchar to __pformat_wputchars(), for output.
4086 2009-07-27 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4088 * mingwex/stdio/pformat.c: Implement better fix for type punned warning.
4090 2009-07-27 Keith Marshall <keithmarshall@users.sourceforge.net>
4092 Convert to monolithic configuration procedure.
4094 * configure.in (AC_CHECK_TOOL): All instances; tabulate arguments.
4095 (AC_SUBST): Use its 2nd argument to initialise MinGW default settings.
4096 (PACKAGE_TARNAME) [target_os ~ cygwin]: Redefine it as appropriate.
4097 (W32API_INCLUDE): Redefine; make it relative to `top_srcdir'.
4098 (CRT0S): Relocate from `profile'; define it as appropriate.
4099 (LIBM_A): Define and AC_SUBST it unconditionally.
4100 (AC_CONFIG_SUBDIRS): Remove; none to configure.
4101 (AC_OUTPUT_FILES): Add `Makefile' for each of...
4102 (mingwex, profile): ...these subdirectories.
4104 * configure: Regenerated.
4106 * Makefile.in (PACKAGE, host_os): Let AC_SUBST define them.
4107 (top_srcdir, top_builddir): New macros; let AC_SUBST define them.
4108 (datarootdir): New macro; autoconf > 2.59 wants AC_SUBST to define it.
4109 (SUBDIRS): Define explicitly, to run recursive `make' in...
4110 (mingwex, profile): ...these; simplify build commands...
4111 (rootme, rootsrc): ...without these shell variables.
4112 (all, subdirs): Delete redundant build commands.
4113 (FIXME): Flag various issues for follow up.
4115 * mingwex/Makefile.in (INCLUDES): Redefined macro; refer it to...
4116 (top_srcdir): ...this new macro; let AC_SUBST define it.
4117 (top_builddir, datarootdir): New macros; let AC_SUBST define them.
4118 (Makefile): Make it depend on...
4119 (top_builddir/config.status): ...this, itself depending on...
4120 (top_srcdir/configure): ...this.
4121 (FIXME): Flag various issues for follow up.
4123 * mingwex/aclocal.m4: File no longer required; delete it.
4124 * mingwex/configure mingwex/configure.in: Likewise.
4126 * profile/Makefile.in (INCLUDES): Redefined macro; refer it to...
4127 (top_srcdir): ...this new macro; let AC_SUBST define it.
4128 (top_builddir, datarootdir): New macros; let AC_SUBST define them.
4129 (Makefile): Make it depend on...
4130 (top_builddir/config.status): ...this, itself depending on...
4131 (top_srcdir/configure): ...this.
4132 (FIXME): Flag various issues for follow up.
4134 * profile/aclocal.m4: File no longer required; delete it.
4135 * profile/configure profile/configure.in: Likewise.
4137 2009-07-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4139 * msvcrt.def.in: disable time symbol for libmsvcr90.a and libmsvcr90d.a due
4140 to complaints that it causes issues.
4142 2009-07-23 Jacky Lai <crazyjacky@users.sourceforge.net>
4144 * mingwex/math/fminf.c: switch to using __isnanf() as opposed to _isnan().
4146 2009-07-18 Gregory McGarry <gregorymcgarry@users.sourceforge.net>
4148 * include/inttypes.h include/math.h include/stdio.h include/stdlib.h
4149 include/string.h include/unistd.h include/wchar.h: Add __NO_INLINE__ guard
4150 to all inline functions.
4152 2009-07-18 Gregory McGarry <gregorymcgarry@users.sourceforge.net>
4154 * CRT_fp8.c: Add PCC alternative to GCC-specific constructs.
4155 * CRT_fp10.c: Ditto.
4157 2009-07-18 Gregory McGarry <gregorymcgarry@users.sourceforge.net>
4159 * cpu_features.c: replace gcc-specific construct with portable alternative
4160 and match the code a few lines above.
4161 * crt1.c: remove gcc-specific noreturn attribute with mingw alternative
4163 2009-07-18 Gregory McGarry <gregorymcgarry@users.sourceforge.net>
4165 * include/_mingw.h: Changes required for PCC compiler.
4167 2009-07-18 Jeff Lu <jll544@yahoo.com>
4169 * mingwex/usleep.c: round up to next ms
4171 2009-07-17 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4173 * mingwex/math/cephes_mconf.h mingwex/math/erfl.c mingwex/math/lgamma.c
4174 mingwex/math/lgammal.c mingwex/math/powl.c mingwex/math/sinhl.c
4175 mingwex/math/tanhl.c mingwex/math/tgamma.c mingwex/math/tgammal.c: Based on
4176 the fixes from the mingw-w64 code tree, fixed strict-aliasing issues.
4178 2009-07-12 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4180 * mingwex/stdio/pformat.c: Fix compiler warnings with GCC 4.4.0.
4182 2009-06-28 Ozkan Sezer <sezero@users.sourceforge.net>
4184 * mingwex/gdtoa/README.mingw mingwex/gdtoa/gdtoa_fltrnds.h: New files.
4185 * mingwex/gdtoa/README mingwex/gdtoa/dmisc.c mingwex/gdtoa/dtoa.c
4186 mingwex/gdtoa/g__fmt.c mingwex/gdtoa/g_dfmt.c mingwex/gdtoa/g_ffmt.c
4187 mingwex/gdtoa/g_xfmt.c mingwex/gdtoa/gd_arith.h mingwex/gdtoa/gd_qnan.h
4188 mingwex/gdtoa/gdtoa.c mingwex/gdtoa/gdtoa.h mingwex/gdtoa/gdtoaimp.h
4189 mingwex/gdtoa/gethex.c mingwex/gdtoa/gmisc.c mingwex/gdtoa/hd_init.c
4190 mingwex/gdtoa/hexnan.c mingwex/gdtoa/misc.c mingwex/gdtoa/qnan.c
4191 mingwex/gdtoa/smisc.c mingwex/gdtoa/strtodg.c mingwex/gdtoa/strtodnrp.c
4192 mingwex/gdtoa/strtof.c mingwex/gdtoa/strtopx.c mingwex/gdtoa/sum.c
4193 mingwex/gdtoa/ulp.c: Update the gdtoa library to match the netlib.org
4194 sources as of Apr. 20, 2009. Update further to match the sources in
4195 the mingw-w64 tree as of June 28, 2009, by removing IBM, CRAY and VAX
4196 code, removing KR_headers, ANSI, Void and Char ifdefs, renaming the
4197 double/ulong union from U to dbl_union for better grepping and white-
4200 2009-06-16 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4202 * include/stdlib.h (_wtof): Define.
4204 2009-04-11 Danny Smith <dannsymith@users.sourceforge.net>
4206 * include/stdint.h (int_fast8_t): Specify as signed char.
4207 (INT8_C, UINT8_C, INT16_C, UINT16_C): Simplify: just allow promotion to int.
4208 (INT32_C, UINT32_C): Remove 'L' type specifier on constant.
4210 2009-03-05 Kai Tietz <kai.tietz@onevision.com>
4212 * pseudo-reloc.c: Rewrite to enable pseudo_reloc version 2.
4214 2009-02-08 Keith Marshall <keithmarshall@users.sourceforge.net>
4216 MinGW-Feature-Request [2222263]: Make getopt() GNU / BSD compatibile.
4217 (Requested by Robert Riebisch)
4219 * mingwex/getopt.c (getopt_parse): Track external increments of...
4220 (optind): ...this global variable.
4222 2009-01-10 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4224 * include/_mingw.h: Increment version to 3.15.2.
4226 2009-01-04 Keith Marshall <keithmarshall@users.sourceforge.net>
4228 Fix MinGW-Bug [2445962]; (reported by Keishi Suenaga).
4229 Also add tentative support for BSD specific `optreset' feature.
4231 * include/getopt.h (optreset) [_BSD_SOURCE]: Define; map it to...
4232 (__mingw_optreset): ...this new global variable.
4234 * mingwex/getopt.c (__mingw_optreset): Instantiate it...
4235 (getopt_parse) [optind < 1]: ...make it true; use it to reset argument
4238 2008-12-31 Keith Marshall <keithmarshall@users.sourceforge.net>
4240 Partial fix for MinGW-Bug [2457778]: (Reported by Sisyphus).
4241 Correct mishandling of invalid characters in printf() format specs.
4243 * mingwex/stdio/pformat.c (__pformat): Save `fmt' scan position in...
4244 (backtrack): ...this new automatic variable, at start of each format
4245 conversion specification substring; use it to backtrack, and print the
4246 substring literally, if any invalid character is encountered.
4248 2008-12-16 Danny Smith <dannysmith@users.sourceforge.net>
4250 * msvcrt.def.in (___lc_codepage_func, ___lc_collate_cp_func,
4251 ___lc_handle_func, ___mb_cur_max_func, ___setlc_active_func,
4252 ___unguarded_readlc_active_add_func, __crtCompareStringW,
4253 __crtGetStringTypeW, __crtLCMapStringW, __pctype_func,
4254 __pwctype_func, __iob_func, __uncaught_exception, __wcserror,
4255 __CxxDetectRethrow, __CxxExceptionFilter, __CxxQueryExceptionSize,
4256 __CxxRegisterExceptionObject, __CxxUnregisterExceptionObject,
4257 __CxxCallUnwindDtor, __DestructExceptionObject, _aligned_free,
4258 _aligned_malloc, _aligned_offset_malloc, _aligned_offset_realloc,
4259 _aligned_realloc, _cgetws, _cputws, _cwprintf, _cwscanf, _getwch,
4260 _getwche, _putwch, _resetstkoflw, _scprintf, _scwprintf,
4261 _set_SSE2_enable, _snscanf, _snwscanf, _strtoi64, _strtoui64,
4262 _ungetwch, _vscprintf, _vscwprintf, _wcserror, _wcstoi64,
4263 _wcstoui64, _wctype, _wtof, _get_heap_handle): Always export.
4265 2008-12-08 Dmitry G. Gorbachev <d.g.gorbachev@gmail.com>
4267 * cpu_features.c (__cpu_features_init): Remove erroneous ';'.
4269 2008-10-28 Keith Marshall <keithmarshall@users.sourceforge.net>
4271 Correct some binary distribution packaging defects.
4273 * Makefile.in (bindist): Remove `make' conditionals; segregate into...
4274 (bindist-common, bindist-mingwrt, bindist-mingw-runtime): ...these new
4275 intermediate goals; they make packages of files, as specified by...
4276 (BINDIST_FILES, DEVDIST_FILES, DLLDIST_FILES): ...these new macros.
4277 (dist_prefix) [target_alias !~ cygwin]: Leave it undefined.
4279 2008-10-18 Keith Marshall <keithmarshall@users.sourceforge.net>
4281 Fix MinGW-Bug [2136252]: (Reported by Roumen Petrov).
4282 Remove extraneous radix point in printf( "%.0f", v ) for v < 0.5
4284 * mingwex/stdio/pformat.c (__pformat_emit_float): Always make output
4285 of radix point conditional on precision != 0 or `#' flag specified.
4287 2008-10-13 Keith Marshall <keithmarshall@users.sourceforge.net>
4289 Fix MinGW-Bug [2160227]
4290 Eliminate conflicting declarations and implementations of scalb().
4292 * moldname.def.in (scalb): Comment out of EXPORTS list.
4293 * include/math.h (scalb): Comment out OLDNAMES prototype; it conflicts
4294 with GCC's built-in declaration.
4296 2008-10-12 Christopher Faylor <me+cygwin@cgf.cx>
4298 * Makefile.in: Use a different method to invoke gcc in a cygwin-hosted
4300 * mingwex/Makefile.in: Ditto.
4301 * profile/Makefile.in: Ditto.
4302 * configure.in: Record mingw front-end for building under Cygwin.
4303 * mingwex/configure.in: Ditto.
4304 * profile/configure.in: Ditto.
4305 * configure: Regenerate.
4306 * mingwex/configure: Ditto.
4307 * profile/configure: Ditto.
4309 2008-10-11 Keith Marshall <keithmarshall@users.sourceforge.net>
4311 Use de-facto standard Makefile goals to invoke test suite.
4313 * Makefile.in: Some minor formatting adjustments.
4314 (test_headers): Unconventionally named goal renamed to...
4315 (check-headers): ...this; make it a prerequisite of...
4316 (check): ...this new conventionally named goal.
4318 2008-10-11 Keith Marshall <keithmarshall@users.sourceforge.net>
4320 Make strtod() inline definition C89 compliant.
4321 (Issue reported by Ilya Shestopalov and Ian Puleston)
4322 (Correction identified by Danny Smith)
4324 * include/stdlib.h (strtod): Declare as `__inline__', not `inline';
4325 reformat inline function definition.
4327 2008-10-04 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4329 * include/_mingw.h: Increment version to 3.15.1 and introduce
4330 __MINGW32_PATCHLEVEL variable.
4332 2008-10-03 Keith Marshall <keithmarshall@users.sourceforge.net>
4334 Fix MinGW-Bug [2144266]: getopt() sets `optind' incorrectly.
4335 (Reported by Christian Franke)
4337 * mingwex/getopt.c (optind): Make global variable value conform to
4338 behaviour specified by POSIX; do not use it for internal state in...
4339 (getopt_parse): ...this static function; use...
4340 (optbase): ...this new static local variable instead.
4341 (getopt_resolved): Update `optind' as required.
4343 2008-10-03 Keith Marshall <keithmarshall@users.sourceforge.net>
4345 Improve package identification in configure script.
4347 * configure.ac (AC_INIT): Redefine parameters...
4348 (PACKAGE_NAME): Set to `MinGW Runtime'.
4349 (PACKAGE_BUGREPORT): Set to `http://mingw.org/reporting_bugs'
4350 (PACKAGE_TARNAME): Set to `mingwrt'.
4351 (PACKAGE_VERSION): Set generically to `v3.x'; reassigned by...
4352 (MINGW_AC_CONFIG_SRCDIR): ...this macro, which extracts...
4353 (__MINGW32_VERSION): ...this, from file `include/_mingw.h'.
4355 * aclocal.m4 (MINGW_AC_CONFIG_SRCDIR): Do not redefine...
4356 (PACKAGE_TARNAME): ...this.
4358 * configure: Regenerated.
4360 2008-09-25 Keith Marshall <keithmarshall@users.sourceforge.net>
4362 Fix MinGW-Bug [2125708].
4363 (Reported by Alexandr Zamaraev).
4365 * include/stdlib.h (intptr_t) [!_INTPTR_T_DEFINED]: Unused typedef;
4366 not wanted here; remove it; replace it by...
4367 (uintptr_t) [!_UINTPTR_T_DEFINED]: ...this typedef; needed by...
4368 (_invalid_parameter_handler): ...this function typedef.
4370 2008-09-23 Chris Sutcliffe <ir0nh34d@users.sf.net>
4372 * Makefile.in: Don't include host_os as part of snapshot filename.
4374 2008-09-19 Keith Marshall <keithmarshall@users.sourceforge.net>
4376 Fix MinGW-Bug [2119504].
4377 (Reported by Peiyuan Song).
4379 * mingwex/getopt.c (getopt_resolved): Do not overwrite...
4380 (*retindex): ...this already correctly assigned return variable...
4381 (opt[index].val): ...with this; this should have been assigned to...
4382 (*opt[index].flag) [opt[index].flag != NULL]: ...this instead.
4384 2008-09-19 Keith Marshall <keithmarshall@users.sourceforge.net>
4386 Fix MinGW-Bug [2117379].
4387 (Reported by Peiyuan Song).
4389 * include/stdio.h (__argv): Replace all references in function
4390 prototype argument lists and inline function local variables, with ...
4391 (__local_argv): ...this, to avoid potential conflict with ...
4392 * include/stdlib (__argv): ...this #defined macro.
4394 2008-09-07 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4396 * include/_mingw.h: Increment version to 3.15.
4398 2008-09-06 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4400 * Makefile.in: Adjust to new naming standard for MinGW while maintaining old
4401 naming standard for Cygwin.
4403 2008-08-31 Keith Marshall <keithmarshall@users.sourceforge.net>
4405 Reimplement getopt.c to add getopt_long_only() function.
4407 (N.B. this reimplementation removes support for BSD/Mac-OS-X
4408 `optreset' nonsense; user code should set `optind = 0' instead,
4409 to reinitialise option scanning).
4411 * mingwex/getopt.c: Delete all content; reimplement it.
4412 * include/getopt.h: Likewise.
4414 * include/unistd.h (__UNISTD_H_SOURCED__): New macro; define it.
4415 (__UNISTD_GETOPT__): This macro is no longer required; remove it.
4417 2008-08-30 Keith Marshall <keithmarshall@users.sourceforge.net>
4419 Implement conditional replacement for printf() family functions.
4421 * include/_mingw.h (__USE_MINGW_ANSI_STDIO): New macro; define it.
4422 (__MINGW_ANSI_STDIO__): New manifest constant; define as bitmapped
4423 flag for use in user specified __MINGW_FEATURES__ attribute.
4424 (__MINGW_LC_MESSAGES__, __MINGW_LC_ENVVARS__): New manifest constants;
4425 currently unused: reserved as components of...
4426 (__MINGW_LC_EXTENSIONS__): ...this new manifest constant; earmarked as
4427 a __MINGW_FEATURES__ enhancement to setlocale().
4429 * include/stdio.h (__mingw_printf, __mingw_vprintf): Prototype them.
4430 (__mingw_fprintf, __mingw_vfprintf): Likewise.
4431 (__mingw_sprintf, __mingw_vsprintf): Likewise.
4432 (__msvcrt_printf, __msvcrt_vprintf): Likewise.
4433 (__msvcrt_fprintf, __msvcrt_vfprintf): Likewise.
4434 (__msvcrt_sprintf, __msvcrt_vsprintf): Likewise.
4435 (printf, vprintf) [!__USE_MINGW_ANSI_STDIO]: Prototype for default
4436 usage; link to DLL import stub, importing from MSVCRT.
4437 (fprintf, vfprintf) [!__USE_MINGW_ANSI_STDIO]: Likewise.
4438 (sprintf, vsprintf) [!__USE_MINGW_ANSI_STDIO]: Likewise.
4439 (printf) [__USE_MINGW_ANSI_STDIO]: Redirect to __mingw_printf; use
4440 locally defined static stub implementation.
4441 (fprintf, sprintf) [__USE_MINGW_ANSI_STDIO]: Likewise; redirect to
4442 __mingw_fprintf and __mingw_sprintf respectively.
4443 (vprintf) [__USE_MINGW_ANSI_STDIO]: Redirect to __mingw_vprintf; use
4444 static inline implementation for C++ and GNU C, or locally defined
4445 static stub otherwise.
4446 (vfprintf, vsprintf) [__USE_MINGW_ANSI_STDIO]: Likewise; redirect to
4447 __mingw_vfprintf and __mingw_vsprintf respectively.
4449 2008-08-27 Keith Marshall <keithmarshall@users.sourceforge.net>
4451 Avoid access violations, passing NULL to printf( "...%s..." );
4452 (inconsistencency with MSVCRT and glibc, reported by Colin Harrison).
4454 * mingwex/stdio/pformat.c (__pformat_puts): Substitute "(null)"
4455 for argument value, if caller passes a NULL pointer.
4456 (__pformat_wcputs): Likewise, substitute L"(null)".
4458 2008-08-14 Keith Marshall <keithmarshall@users.sourceforge.net>
4460 Add missing dependencies for building libmingwex.a.
4462 * mingwex/Makefile.in (printf.o, fprintf.o, sprintf.o): Make them...
4463 (vprintf.o, vfprintf.o, vsprintf.o): ...and also these, depend on...
4464 (pformat.h): ...this.
4466 2008-08-11 Keith Marshall <keithmarshall@users.sourceforge.net>
4468 Add replacements for remaining members of printf() family.
4470 * mingwex/stdio/printf.c: New file.
4471 * mingwex/stdio/fprintf.c: New file.
4472 * mingwex/stdio/sprintf.c: New file.
4473 * mingwex/stdio/vprintf.c: New file.
4474 * mingwex/stdio/vfprintf.c: New file.
4475 * mingwex/stdio/vsprintf.c: New file.
4477 * mingwex/Makefile.in (STDIO_DISTFILES): Add them.
4478 (STDIO_OBJS): Add their corresponding object files.
4480 2008-07-29 Keith Marshall <keithmarshall@users.sourceforge.net>
4482 Replace __mingw_snprintf() with new generic family implementation;
4483 likewise, replace __mingw_vsnprintf().
4485 * mingwex/stdio/pformat.c mingwex/stdio/pformat.h: New files.
4486 * mingwex/stdio/snprintf.c mingwex/stdio/vsnprintf.c: New files.
4487 * mingwex/Makefile.in (STDIO_DISTFILES): Add them.
4488 (GDTOA_DISTFILES): Remove mingw_snprintf.c
4489 (STDIO_OBJS): Add pformat.o, snprintf.o and vsnprintf.o
4490 (GDTOA_OBJS): Remove mingw_snprintf.o
4491 (PFORMAT_CFLAGS): New macro; define it, as required by...
4492 (pformat.o): ...this new explicit build target.
4493 (snprintf.o, vsnprintf.o): Declare prerequisites.
4495 * mingwex/gdtoa/mingw_snprintf.c: Redundant file; delete it.
4497 2008-07-28 Keith Marshall <keithmarshall@users.sourceforge.net>
4499 Lay foundations for new printf() function family implementation.
4501 * ofmt_stub.s: New file; implement forward compatibility stub for...
4502 (_get_output_format): ...this MSVCR80.DLL and later function.
4504 * Makefile.in (SRCDIST_FILES): Add ofmt_stub.s.
4505 (NM, OBJCOPY): New macros; define them with AC_SUBSTed values.
4506 (sym_prefix, NM_LOOKUP, MINGW_REPL_FUNCS): New macros; define them.
4507 (lib%.a): Include ofmt_stub.o when import library does not already
4508 advertise availability of the _get_output_format() function;
4509 Add alias stubs for MINGW_REPL_FUNCS, such that...
4510 (__msvcrt_printf): ...is an alias for Microsoft's printf().
4511 (__msvcrt_fprintf): ...is an alias for Microsoft's fprintf().
4512 (__msvcrt_sprintf): ...is an alias for Microsoft's sprintf().
4513 (__msvcrt_vprintf): ...is an alias for Microsoft's vprintf().
4514 (__msvcrt_vfprintf): ...is an alias for Microsoft's vfprintf().
4515 (__msvcrt_vsprintf): ...is an alias for Microsoft's vsprintf().
4516 (clean): Add msvcr*.def.
4518 * configure.in (NM, OBJCOPY): Use AC_CHECK_TOOL to specify them.
4519 * configure: Regenerated.
4521 2008-07-06 Gregory McGarry <gregorymcgarry@users.sourceforge.net>
4523 * include/ctype.h (_imp____mb_cur_max): Correct spelling.
4524 (_imp____mb_cur_max_dll): Likewise.
4526 2008-07-04 Danny Smith <dannysmith@users,sourceforge.net>
4528 * include/stdio.h (swprintf, vswprintf): Guard with #ifndef __STRICT_ANSI__
4529 * include/wchar.h (swprintf, vswprintf): Likewise.
4531 2008-07-01 Keith Marshall <keithmarshall@users.sourceforge.net>
4533 * msvcrt.def.in [__msvcr80__, __msvcr80d__, __msvcr90__, __msvcr90d__]
4534 (_get_output_format, _set_output_format): Add references.
4536 * include/stdio.h [__MSVCRT_VERSION__ >= 0x800]
4537 (_get_output_format, _set_output_format): Declare prototypes.
4538 (_TWO_DIGIT_EXPONENT): Define.
4539 Some other minor formatting adjustments.
4541 2008-06-14 Danny Smith <dannysmith@users.sourceforge.net>
4543 [mingw-Bugs-1801641]
4544 * include/wchar.h (_wfdopen): Const-ify second arg.
4545 * include/stdio.h (_wfdopen): Likewise.
4546 Thanks to <tdragon at users dot sourceforge net>
4548 2008-06-02 Keith Marshall <keithmarshall@users.sourceforge.net>
4550 Avoid precision errors in round(), lround() and llround() functions.
4552 * mingwex/math/round_generic.c: New file; it replaces...
4553 * mingwex/math/round.c: ...this; delete it.
4554 * mingwex/math/roundf.c: ...and this; ditto.
4555 * mingwex/math/roundl.c: ...and this; ditto.
4557 * mingwex/math/lround_generic.c: New file; it replaces...
4558 * mingwex/math/lround.c: ...this; delete it.
4559 * mingwex/math/lroundf.c: ...and this; ditto.
4560 * mingwex/math/lroundl.c: ...and this; ditto.
4561 * mingwex/math/llround.c: ...and this; ditto.
4562 * mingwex/math/llroundf.c: ...and this; ditto.
4563 * mingwex/math/llroundl.c: ...and this; ditto.
4565 * mingwex/math/round_internal.h: New file; it provides generic common
4566 code, which is shared by `round_generic.c' and `lround_generic.c'; the
4567 implementation is based on techniques suggested by Danny Smith and
4570 * mingwex/Makefile.in (MATH_DISTFILES): Remove `round.c', `roundf.c',
4571 `roundl.c', `lround.c', `lroundf.c', `lroundl.c', `llround.c',
4572 `llroundf.c' and `llroundl.c'; replace by `round_internal.h',
4573 `round_generic.c' and `lround_generic.c'.
4574 (MATH_OBJS): Factor out files listed in...
4575 (MATH_ROUND_OBJS, MATH_LROUND_OBJS, MATH_LLROUND_OBJS): ...these new
4576 macros; define them; specify dependencies and build rules; add to...
4577 (LIB_OBJS): ...this list.
4579 2008-05-22 Danny Smith <dannysmith@users.sourceforge.net>
4581 [ mingw-Bugs-1961893 ]
4582 * mingwex/gdtoa/mingw_snprint.c (x_sprintf): Always set __ldtoa
4583 mode to 2 for E format.
4585 2008-05-15 Ramiro Polla <ramiro@lisha.ufsc.br>
4587 * include/stdlib.h: Fix strtod under C++.
4589 2008-05-06 Ramiro Polla <ramiro@lisha.ufsc.br>
4591 * mingwex/gdtoa/strtodnrp.c: Remove alias from strtod to __strtod.
4592 * include/stdlib.h: Define strtod to __strtod when __NO_ISOCEXT is not set.
4594 2008-05-04 Ramiro Polla <ramiro@lisha.ufsc.br>
4596 * include/sys/types.h (useconds_t): typedef.
4597 * include/unistd.h (usleep): Add prototype.
4598 * mingwex/usleep.c: New file.
4599 * mingwex/makefile.in: Add usleep source and object.
4601 2008-05-02 Ramiro Polla <ramiro@lisha.ufsc.br>
4603 Make strtod() conform to C99.
4605 * include/stdlib.h (strtod): Declare this mingwex function, and...
4606 (_strtod): rename this MSVCRT counterpart.
4608 * mingwex/gdtoa/strtodnrp.c (strtod): Alias to __strtod.
4610 2008-04-26 Chuck Wilson <cwilso11@users.sourceforge.net>
4612 * Makefile.in: correct issues with mingw10.dll having multiple relocs.
4614 2008-04-25 Danny Smith <dannysmith@users.sourceforge.net>
4616 * include/process.h: Include stdint.h for intptr_t definition.
4617 (_execl, _execle, _execlp, _execlpe, _execv, _execve, _execvp, _execvpe,
4618 _spawnl, _spawnle, _spawnlp, _spawnlpe, _spawnv, _spawnve, _spawnvp,
4619 _spawnvpe): Return intptr_t.
4620 (execl, execle, execlp, execlpe, execv, execve, execvp, execvpe, spawnl,
4621 spawnle, spawnlp, spawnlpe, spawnv, spawnve, spawnvp, spawnvpe): Return
4623 * include/wchar.h: Guard wide process.h functions with !__STRICT_ANSI__.
4625 [!_WPROCESS_DEFINED]: Include stdint.h for intptr_t definition.
4626 (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve, _wexecvp,
4627 _wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe, _wspawnv, _wspawnve,
4628 _wspawnvp, _wspawnvpe): Return intptr_t.
4630 2008-04-25 Danny Smith <dannysmith@users.sourceforge.net>
4632 * include/wchar.h (fwide): Return success code rather than failure in inline
4634 * mingwex/fwide.c (fwide): ANSI-fy. Get rid of Q8 comments. Return success
4635 code rather than failure.
4637 2008-03-21 Danny Smith <dannysmith@users.sourceforge.net>
4639 * include/math.h (float_t, double_t): Define.
4641 2008-02-08 Danny Smith <dannysmith@users.sourceforge.net>
4643 * mingwex/gdtoa/gdtoaimp.h (USE_LOCALE): Define.
4644 * mingwex/gdtoa/mingw_snprintf.c: [USE_LOCALE] Include locale.h.
4645 (x_sprintf): [USE_LOCALE] Use *localeconv()->decimal_point.
4647 2008-02-28 Joseph Myers <joseph@codesourcery.com>
4649 * include/complex.h: Don't condition contents on C99 or not
4652 2008-02-01 Brian Dessent <brian@dessent.net>
4654 * Makefile.in: Add rules to generate multiple versions of libmoldname.a for
4655 the different runtime versions.
4657 2008-01-19 Danny Smith <dannysmithusers.sourceforge.net
4659 * inclue/wchar.h (fwide): Add prototype and guard inline definition.
4660 (mbsinit): Likewise.
4662 2007-12-27 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4664 * include/_mingw.h: Increment version to 3.14.
4666 2007-11-26 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4668 * Makefile.in: Add libmsvcr90.a and libmsvcr90d.a targets.
4669 * msvcrt.def.in: Add support for __msvcr90__ and __msvcr90d__ defines.
4670 * mingwex/math/log10f.S: Correct issue with comments.
4671 * mingwex/math/log10l.S: Ditto.
4672 * mingwex/math/log1p.S: Ditto.
4673 * mingwex/math/log1pf.S: Ditto.
4674 * mingwex/math/log1pl.S: Ditto.
4675 * mingwex/math/log2.S: Ditto.
4676 * mingwex/math/log2f.S: Ditto.
4677 * mingwex/math/log2l.S: Ditto.
4678 * mingwex/math/logf.S: Ditto.
4679 * mingwex/math/logl.S: Ditto.
4681 2007-10-03 Danny Smith <dannysmith@users.sourceforge.net>
4683 * mingwex/gdtoa/mingw_snprintf.c: fixed warning during compile.
4685 2007-10-03 Bernd Becker <hugin@users.sourceforge.net>
4687 * include/io.h (__finddata64_t, __wfinddata64_t): changed member 'size'
4688 from '_fsize_t' to '__int64' to be consistent with the other ...64
4689 structures and the value set there is 8 bytes not 4. Add guard for both
4690 as the are only used by functions available from 6.1 on.
4692 * include/malloc.h (_HEAP_MAXREQ): Define.
4693 (_aligned_offset_recalloc): Define.
4694 (_aligned_recalloc()): Define.
4696 * include/math.h: fixed a typo in a comment.
4697 (atanhf): Fixed declaration.
4699 * include/wchar.h (__wfinddata64_t): changed member 'size' from '_fsize_t'
4700 to '__int64' to be consistent with the other ...64 structures and the value
4701 set there is 8 bytes not 4. Added guard as this function is only used by
4702 functions available from 6.1 on.
4704 * include/sys/stat.h: some members of 'stat' were declared with types with
4705 a prefixed underscore, while the ones without the underscore should have
4706 been used. Added guard to '__stat64' as it is only used by functions
4707 available from 6.1 on. Added the wide character versions of the
4708 exec()/spawn() family for completion
4709 (_stati64): changed the type of the 'st_mode' member from 'unsigned int' to
4712 * include/sys/timeb.h (timeb, _timb): changed the type of the 'time' member
4713 from 'long' to 'time_t'
4714 (__timeb64): moved declaration of structure directly before the declaration
4715 of the function '_ftime64()', so it is guarded as well
4717 * include/sys/utime.h (__utimbuf64): moved declaration of structure directly
4718 before the declaration of the functions using it, so it is guarded as well
4720 2007-09-24 David C. Daeschler <daveregs@rsaisp.com>
4722 * mingwex/gdtoa/mingw_snprintf.c (x_sprintf): Correct LEN_L typo in 'l'
4723 case. Add missing break in 's'/LEN_S case.
4725 2007-08-25 Keith Marshall <keithmarshall@users.sourceforge.net>
4727 Make snprintf() and vsnprintf() conform to C99.
4729 * include/stdio.h: Add note about incompatibility between...
4730 (snprintf, vsnprintf): These two mingwex functions, and...
4731 (_snprintf, _vsnprintf): these MSVCRT counterparts.
4733 * mingwex/Makefile.in (STDIO_OBJS): Remove snprintf.o and vsnprintf.o
4734 (STDIO_DISTFILES): Remove snprintf.c and vsnprintf.c
4736 * mingwex/stdio/snprintf.c: Delete.
4737 * mingwex/stdio/vsnprintf.c: Delete.
4739 * mingwex/gdtoa/mingw_snprintf.c (snprintf): Alias to __mingw_snprintf
4740 (vsnprintf): Alias to __mingw_vsnprintf.
4742 2007-07-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4744 * include/_mingw.h: Increment version to 3.13.
4745 * Makefile.in: Reset CYGRELEASE to 1
4747 2007-07-23 Keith Marshall <keithmarshall@users.sourceforge.net>
4749 * Makefile.in (SUBDIRS): Delete stray line continuation artifact,
4750 resulting from incomplete removal of enclosing `for ...; do ...; done'
4751 loop from compound command; (reported by Greg Chicares).
4753 2007-07-19 Danny Smith <dannysmith@users.sourceforge.net>
4755 * include/fcntl.h (_O_WTEXT, _O_U16TEXT, _O_U8TEXT) Define for
4758 2007-07-12 Danny Smith <dannysmith@users.sourceforge.net>
4760 [mingw-Bugs-1734142]
4761 * include/wchar.h (_wsystem) Declare.
4763 (_wgetenv): Declare.
4764 (_wsearchenv): Declare.
4765 (_wmakepath): Declare.
4766 (_wsplitpath): Declare.
4767 (_wfullpath): Declare.
4768 * include/stdlib.h (_wsystem) Declare.
4769 (_wputenv, _wgetenv, _wsearchenv, _wmakepath, _wsplitpath,
4770 _wfullpath): Move into _WSTDLIB_DEFINED guard.
4771 * include/tchar.h (_tsystem): New UNICODE mapping define.
4773 2007-06-29 Danny Smith <dannysmith@users.sourceforge.net>
4775 * mingwex/gdtoa/mingw_snprintf.c: New file.
4776 * mingwex/Makefile.in (GDTOA_DISTFILES): Add mingw_snprintf.c.
4777 (GDTOA_OBJS): Add mingw_snprintf.o.
4779 2007-06-28 Danny Smith <dannysmith@users.sourceforge.net>
4781 * msvcrt.def.in: Update comment.
4782 Exclude _ctype stub if using msvcr71.dll or newer.
4783 * include/ctype.h: Don't declare _ctype if using msvcr71.dll or newer.
4784 * include/wctype.h: Likewise.
4786 2007-06-23 Danny Smith <dannysmith@users.sourceforge.net>
4788 *include/wctype.h: Qualify all functions with __MINGW_NOTHROW.
4789 *include/dirent.h: Likewise.
4791 2007-06-23 Danny Smith <dannysmith@users.sourceforge.net>
4793 * include/assert.h: Qualify all functions with __MINGW_NOTHROW.
4794 * include/conio.h: Likewise.
4795 * include/ctype.h: Likewise.
4796 * include/direct.h: Likewise.
4797 * include/dos.h: Likewise.
4798 * include/errno.h: Likewise.
4799 * include/fenv.h: Likewise.
4800 * include/float.h: Likewise.
4801 * include/inttypes.h: Likewise.
4802 * include/io.h: Likewise.
4803 * include/libgen.h: Likewise.
4804 * include/locale.h: Likewise.
4805 * include/malloc.h: Likewise.
4806 * include/mbctype.h: Likewise.
4807 * include/mbstring.h: Likewise.
4808 * include/process.h: Likewise.
4809 * include/search.h: Likewise.
4810 * include/setjmp.h: Likewise.
4811 * include/signal.h: Likewise.
4812 * include/stdio.h: Likewise.
4813 * include/stdlib.h: Likewise.
4814 * include/string.h: Likewise.
4815 * include/time.h: Likewise.
4816 * include/wchar.h: Likewise.
4817 * include/sys/stat.h: Likewise.
4818 * include/sys/time.h: Likewise.
4819 * include/sys/timeb.h: Likewise.
4820 * include/sys/utime.h: Likewise.
4822 2007-06-22 Danny Smith <dannysmith@users.sourceforge.net>
4824 * mingwex/Makefile.in (LIB_OBJS): Revert accidental removal.
4826 2007-06-22 Danny Smith <dannysmith@users.sourceforge.net>
4828 Add POSIX binary tree search API.
4830 * mingwex/tfind.c: New file.
4831 * mingwex/tdelete.c: New file.
4832 * mingwex/tsearch.c: New file.
4833 * mingwex/twalk.c: New file.
4834 * mingwex/Makefile.in (DISTFILES): Add tsearch.c twalk.c tdelete.c tfind.c.
4835 * mingwex/Makefile.in (POSIX_OBJS): Add tsearch.o twalk.o tdelete.o tfind.o.
4836 * include/search.h (tfind): Declare.
4843 (node_t): Define, on condition of _SEARCH_PRIVATE.
4845 2007-06-22 Danny Smith <dannysmith@users.sourceforge.net>
4847 * include/_mingw.h (__MINGW_NOTHROW): Define.
4849 2007-06-18 Danny Smith <dannysmith@users.sourceforge.net>
4851 * include/stdio.h (vsnprintf): Remove inline definition.
4854 2007-06-16 Danny Smith <dannysmith@users.sourceforge.net>
4856 * CRTfmode.c: Nit-pick comment fix.
4858 2007-06-16 Christopher Faylor <me+cygwin@cgf.cx>
4860 * CRTfmode.c: Fix nested comment.
4862 2007-06-16 Christopher Faylor <me+cygwin@cgf.cx>
4864 * include/string.h (strcasecmp): Fix typo in declaration prototype.
4866 2007-06-14 Danny Smith <dannysmith@users.sourceforge.net>
4868 * include/io.h (lseek64) : Add prototype.
4870 2007-06-14 Danny Smith <dannysmith@users.sourceforge.net>
4872 * include/string.h (strcasecmp): Add prototype.
4873 (strncasecmp): Add prototype.
4875 2007-06-13 Danny Smith <dannysmith@users.sourceforge.net>
4877 * Makefile.in (CRT0S): Revert last change.
4878 * CRTfmode.c. Correct comment.
4880 2007-06-13 Danny Smith <dannysmith@users.sourceforge.net>
4882 * Makefile.in (CRT0S): Add back CRTfmode.o.
4884 2007-06-13 Danny Smith <dannysmith@users.sourceforge.net>
4886 * include/stdlib.h: Don't include stdint.h. Conditionally define intptr_t.
4887 * include/io.h: Likewise.
4889 2007-06-11 Danny Smith <dannysmith@users.sourceforge.net>
4891 * crt1.c (__mingw_CRTStartup): Add explicit call to gcc's __main.
4893 2007-05-08 Danny Smith <dannysmith@users.sourceforge.net>
4895 * include/stdint.h (intptr_t): Fix typo.
4896 Thanks to Charles Wilson for report.
4898 2007-05-07 Danny Smith <dannysmith@users.sourceforge.net>
4900 * include/stdint.h (intptr_t): Protect with _INTPTR_T_DEFINED.
4901 Condition on _WIN64.
4902 (uintptr_t): Protect with _UINTPTR_T_DEFINED. Condition on _WIN64.
4903 (INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX): Condition on _WIN64.
4904 (PTRDIFF_MIN): Define as INTPTR_MIN.
4905 (PTRDIFF_MAX): Define as INTPTR_MAX.
4906 (SIG_ATOMIC_MIN): Define as INTPTR_MIN.
4907 (SIG_ATOMIC_MAX): Define as INTPTR_MAX.
4909 2007-04-07 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4911 * Makefile.in: Removed mansuffix variable. Changed mansection to support
4912 Cygwin man page location.
4914 2007-04-05 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4916 * Makefile.in: Added mansection and mansuffix variables. Changed mandir to
4917 support Cygwin man page location.
4919 2007-03-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4921 * Include/_mingw.h: Increment version to 3.12.
4923 2007-03-22 Brian Ripley <ripleybd@users.sourceforge.net>
4925 * include/_mingw.h (__CRT_INLINE): Make conditional on __GNUC_STDC_INLINE__.
4927 2007-03-20 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
4929 * Makefile.in: Tweak srcdist to fix build issue.
4931 2007-03-20 Keith Marshall <keithmarshall@users.sourceforge.net>
4933 Add --enable-mingw-manpage-transform configure option.
4935 * aclocal.m4 (MINGW_AC_MANPAGE_TRANSFORM): New macro.
4936 * configure.in, Makefile.in: Use it.
4937 * configure: Regenerated.
4939 2007-03-18 Danny Smith <dannysmith@users.sourceforge.net>
4941 * include/_mingw.h (__CRT_INLINE): Use __gnu_inline__ for gcc 4.2.x too.
4943 2007-03-10 Keith Marshall <keithmarshall@users.sourceforge.net>
4945 Add manpages for dirname and basename functions.
4947 * man: New directory.
4948 * man/dirname.man: New file; it sources both manpages.
4949 * Makefile.in: Add provisional rules to distribute them.
4951 2007-03-08 Keith Marshall <keithmarshall@users.sourceforge.net>
4953 * mingwex/basename.c: Make it work with path names containing
4954 multibyte character strings.
4955 * mingwex/dirname.c: Likewise.
4957 2007-03-05 Danny Smith <dannysmith@users.sourceforge.net>
4959 * include/io.h (__mingw_access): New static inline wrapper to restore
4960 pre-Vista 'access (fname, X_OK)' behaviour.
4961 (__USE_MINGW_ACCESS): Use to map access() to __mingw_access().
4963 2007-03-05 Danny Smith <dannysmith@users.sourceforge.net>
4965 * mingwex/fesetround.c (fesetround): Use unsigned int as operand
4967 Thanks to Alexey Kuznetsov <ring0_mipt at users dot sf dot net>
4969 2007-02-27 Thorsten Dahlheimer <tdahlheim@gmx.net>
4971 * include/stdio.h (_unlink, unlink): Add prototypes.
4973 2007-02-18 Aurimas Cernius <aurisc4@gmail.com>
4975 * include/excpt.h: Replace "_try1" in comments with "__try1".
4977 2007-02-15 Danny Smith <dannysmith@users.sourceforge.net>
4979 * Makefile.in (ALL_CFLAGS): Put W32API_INCLUDE after INCLUDES.
4980 (ALL_CXXFLAGS): Likewise.
4981 * mingwex/Makefile.in (ALL_CFLAGS): Put W32API_INCLUDE after INCLUDES.
4982 (ALL_CXXFLAGS): Likewise.
4983 * profile/Makefile.in (ALL_CFLAGS): Put W32API_INCLUDE after INCLUDES.
4984 (ALL_CXXFLAGS): Likewise.
4986 2007-02-08 Danny Smith <dannysmith@users.sourceforge.net>
4988 * include/io.h (X_OK): Revert 2007-01-24 change, but leave comment.
4990 2007-01-27 Danny Smith <dannysmith@users.sourceforge.net>
4992 Expose some more msvcr80.dll functions.
4993 * include/stdio.h (_fseek_nolock. _ftell_nolock, _fseeki64,
4994 _ftelli64, _fseeki64_nolock, _ftelli64_nolock) Add prototypes
4995 * msvcrt.def.in (_fseek_nolock. _ftell_nolock, _fseeki64,
4996 _ftelli64, _fseeki64_nolock, _ftelli64_nolock) Add stubs.
4998 2007-01-26 Danny Smith <dannysmith@users.sourceforge.net>
5000 Expose some msvcr80.dll functions.
5001 * include/stdlib.h (_set_abort_behavior): Add prototype.
5002 (_WRITE_ABORT_MSG, _CALL_REPORTFAULT): Add defines for
5003 _set_abort_behavior mask argument.
5004 (_invalid_parameter_handler): Add typedef.
5005 (_set_invalid_parameter_handler): Add prototype.
5006 * include/stdio.h (_get_printf_count_output): Add prototype.
5007 (_set_printf_count_output): Add prototype.
5008 * msvcrt.def.in (_get_printf_count_output,_set_printf_count_output,
5009 _set_abort_behavior, _set_invalid_parameter_handler): Add stubs.
5011 2007-01-26 Danny Smith <dannysmith@users.sourceforge.net>
5013 * include/_mingw.h (CRT_INLINE): Correct typo.
5015 2007-01-24 Danny Smith <dannysmith@users.sourceforge.net>
5017 * include/io.h (X_OK): Define to F_OK.
5019 2007-01-19 Danny Smith <dannysmith@users.sourceforge.net>
5021 * include/stdio.h (SEEK_SET, SEEK_CUR, SEEK_END): Define
5022 unconditionally. Change comment.
5023 * include/unistd.h (SEEK_SET, SEEK_CUR, SEEK_END): Define
5025 * include/io.h (rename): Declare.
5028 2006-12-31 Keith Marshall <keithmarshall@users.sourceforge.net>
5030 * include/libgen.h: New file; required by...
5031 * mingwex/basename.c, mingwex/dirname.c: New files.
5032 * mingwex/Makefile.in (DISTFILES): Add them...
5033 (POSIX_OBJS): ...with corresponding basename.o, dirname.o
5034 (Dependencies): Typo; s/Dependancies/Dependencies/
5036 2006-11-25 Keith Marshall <keithmarshall@users.sourceforge.net>
5038 * Makefile.in (VERSION): Let configure define it.
5040 * aclocal.m4 (MINGW_AC_CONFIG_SRCDIR): New macro.
5041 * configure.in: Use it.
5042 Correct quoting of autoconf macro arguments throughout.
5043 (AC_INIT, AC_OUTPUT): Update to autoconf 2.5x preferred syntax.
5044 (AR, AS, RANLIB, LD, DLLTOOL, DLLWRAP): Don't need AC_SUBST.
5045 (AC_ALLOCA): Invalid after GCC_NO_EXECUTABLES; removed.
5046 (AC_CONFIG_FILES): Add, to generate Makefile.
5048 * configure: Regenerated.
5050 2006-11-21 Danny Smith <dannysmith@users.sourceforge.net>
5052 * Makefile.in: Add aclocal.m4 to source release.
5053 * mingwex/Makefile.in: Ditto.
5054 * profile/Makefile.in: Ditto.
5056 2006-11-18 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
5058 * Include/_mingw.h: Increment version to 3.11.
5059 * Makefile.in: Ditto.
5061 2006-11-09 Danny Smith <dannysmith@users.sourceforge.net>
5063 [ mingw-Bugs-1590623 ]
5064 * include/_mingw.h (__CRT_INLINE): Use __gnu_inline__ attribute
5067 2006-10-04 Corinna Vinschen <corinna@vinschen.de>
5069 * Makefile.in: Semi-revert semi-reversion of 2006-08-30 change, now
5070 correctly parenthesized.
5072 2006-09-19 Danny Smith <dannysmith@users.sourceforge.net>
5074 * mingwex/mb_wc_common.h (get_codepage): Get it
5077 2006-09-18 Danny Smith <dannysmith@users.sourceforge.net>
5079 * mingwex/gdtoa/g_xfmt.c (g_xfmt): Fix representation of infinity.
5081 * mingwex/gdtoa/strtopx (__strtopx): Avoid cast of long double* to
5083 * mingwex/gdtoa/gdtoa.h (__g_fmt): Make declaration consistent with
5086 2006-09-16 Danny Smith <dannysmith@users.sourceforge.net>
5088 * mingwex/gdtoa/strtopx.c (strtopx): Fix long double representation
5091 2006-09-11 Christopher Faylor <cgf@timesys.com>
5093 * Makefile.in: Semi-revert 2006-08-30 change.
5095 2006-09-10 Danny Smith <dannysmith@users.sourceforge.net>
5097 * include/_mingw.h (__MINGW_ATTRIB_DEPRECATED): Define.
5098 (__MINGW_IMPORT): Ansify.
5099 * include/stdlib.h (_sleep, _beep, _seterrormode): Add
5100 __MINGW_ATTRIB_DEPRECATED.
5102 2006-09-10 Keith Marshall <keithmarshall@users.sourceforge.net>
5104 * aclocal.m4 (LIB_AC_PROG_CC, LIB_AC_PROG_CC_GNU, LIB_AC_PROG_CXX):
5105 Redundant macros; deleted.
5107 * configure.in (LIB_AC_PROG_CC): Replaced by...
5108 (AC_PROG_CC): ...this.
5110 * configure: Regenerated.
5112 2006-09-06 Danny Smith <dannysmith@users.sourceforge.net>
5114 * mingwex/gdtoa/misc.c (pow5mult): Restore original code.
5115 * mingwex/gdtoa/gdtoa.h. Add comment that files have been modified.
5116 * mingwex/gdtoa/gdtoaimp.h: Include system headers with <> brackets.
5118 2006-09-01 Danny Smith <dannysmith@users.sourceforge.net>
5120 * mingwex/gdtoa/(arithchk.c, dmisc.c, dtoa.c, g__fmt.c, g_dfmt.c,
5121 g_ffmt.c, g_xfmt.c, gd_arith.h, gd_qnan.h, gdtoa.c, gdtoa.h,
5122 gdtoaimp.h, gethex.c, gmisc.c, hd_init.c, hexnan.c, misc.c, qnan.c,
5123 README, smisc.c, strtodg.c, strtodnrp.c, strtof.c, strtopx.c, sum.c,
5125 * mingwex/(strtof.c, strtold.c, ldtoa.c): Remove files.
5126 * mingwex/math/(cephes-emath.c, cephes-emath.h): Remove files.
5127 * mingwex/mb_wc_common.h (get_cp_from_locale); Rename to get_codepage().
5128 * mingwex/(btowc.c, wctob.c, mbrtowc.c, wcrtomb.c): Adjust call to get_codepage().
5129 * mingwex/wcstold.c: Avoid using strtold internals.
5130 * mingwex/wcstof.c: Rewrite.
5131 * mingwex/Makefile.in (GDTOA_DISTFILES): Add to distribution.
5132 (GDTOA_OBJS): Add to library.
5133 (DISTFILES): Remove strtof.c strtold.c ldtoa.c cephes-emath.c cephes-emath.h.
5134 (STDLIB_OBJS): Remove.
5135 (STDLIB_STUB_OBJS): Remove strtof.o wcstof,o.
5136 (Q8_OBJS): Add wcstof.o wcstold.o.
5137 * include/stdlib.h (strtof): Remove inline definition.
5139 * include/wchar.h (wcstof): Remove inline definition.
5141 2006-08-30 Corinna Vinschen <corinna@vinschen.de>
5143 * Makefile.in: Add with_cross_host to allow more granular checks.
5144 Set installation directories accordingly. Override CC setting only
5145 if building a Cygwin target.
5146 * aclocal.m4: Regenerate.
5147 * configure.in: Move AC_CANONICAL_SYSTEM check up. Add
5148 GCC_NO_EXECUTABLES. Substitute with_cross_host in depending files.
5149 Test AC_ALLOCA only if building on a native system.
5150 * configure: Regenerate.
5152 2006-08-27 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
5154 * include/ctype.h: Fix typo.
5156 2006-08-25 Danny Smith <dannysmith@users.sourceforge.net>
5158 * include/ctype.h: Expose iswblank if __cplusplus.
5159 * include/wctype.h: Expose iswblank if __cplusplus.
5161 2006-08-03 Danny Smith <dannysmith@users.sourceforge.net>
5163 * include/ctype.h: Remove stray ')';
5165 2006-08-03 Danny Smith <dannysmith@users.sourceforge.net>
5167 * include/ctype.h (_BLANK): Expand comment.
5168 (isblank): Add prototype and inline definition.
5169 (iswblank): Add prototype and inline definition.
5170 * include/wctype.h (iswblank): Add prototype and inline definition.
5171 * mingwex/isblank.c: New file.
5172 * mingwex/iswblank.c: New file.
5173 * mingwex/Makefile.in: Add isblank, iswblank to libmingwex.a
5175 2006-07-06 Danny Smith <dannysmith@users.sourceforge.net>
5177 * include/math.h (__INFF,__INFL): Remove '#'.
5179 2006-07-04 Danny Smith <dannysmith@users.sourceforge.net>
5181 * mingwex/Makefile.in: Add -I$(srcdir)/.. to INCLUDES.
5183 2006-07-03 Danny Smith <dannysmith@users.sourceforge.net>
5185 Support SSE float environment in fenv.h functions.
5186 * cpu_features.c: New file.
5187 * cpu_features.h: New file.
5188 * crt1.c: Include "cpu_features.h".
5189 (__mingw_CRTStartup): Call cpu_features_init().
5190 * Makefile.in (MING_OBJS): Add cpu_features.c.
5191 (SRCDIST_FILES): Add cpu_features.c, cpu_features.h.
5192 * include/fenv,h ( fenv_t;): Append __mxcsr field.
5193 (__MXCSR_EXCEPT_FLAG_SHIFT): New define.
5194 (__MXCSR_EXCEPT_MASK_SHIFT): New define.
5195 (__MXCSR_ROUND_FLAG_SHIFT): New define.
5196 * mingwex/feclearexcept.c: Include "cpu_features.h".
5197 Handle SSE environment.
5198 * mingwex/fegetenv.c: Likewise.
5199 * mingwex/feholdexcept.c: Likewise.
5200 * mingwex/fesetenv.c: Likewise.
5201 * mingwex/fesetexceptflag.c: Likewise.
5202 * mingwex/fesetround.c: Likewise.
5203 * mingwex/fetestexcept.c: Likewise.
5204 * mingwex/feupdateenv.c: Likewise.
5205 * mingwex/fegetround.c: Add comment.
5207 2006-06-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
5209 * Include/_mingw.h: Increment version to 3.10.
5210 * Makefile.in: Ditto.
5212 2006-06-26 Danny Smith <dannysmith@users.sourceforge.net>
5214 * mingwex/math/tgamma.c (SQTPI): Add braces.
5216 2006-06-26 Danny Smith <dannysmith@users.sourceforge.net>
5218 * mingwex/wcrtomb.c (wcsrtombs): Fix src end-pointer thinko.
5219 * mingwex/math/lgamma.c: (LOGPI) Avoid type punning.
5221 * mingwex/math/sf_erf.c (erff): Initialize z.
5223 * mingwex/math/tgamma.c (SQTPI): Avoid type punning.
5225 2006-06-25 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
5227 * Include/_mingw.h: Increment version to 3.10.
5228 * Makefile.in: Ditto.
5230 2006-06-23 Danny Smith <dannysmith@users.sourceforge.net>
5232 * include/sys/time.h (struct timezone): Define.
5233 * include/time.h: Correct comment about timezone.
5235 2006-06-18 Danny Smith <dannysmith@users.sourceforge.net>
5237 * configure.in (AC_CONFIG_AUX_DIR): Remove.
5238 * configure: Regenerate.
5240 2006-06-18 Chris Sutcliffe <ir0n3h4d@users.sourceforge.net>
5242 * configure: add srcdir as a possible location for install-sh.
5244 2006-06-18 Danny Smith <dannysmith@users.sourceforge.net>
5246 * mingwex/dirent.c (_tGetFileAttributes): New helper function.
5247 (_topendir): Use it.
5249 2006-06-18 Danny Smith <dannysmith@users.sourceforge.net>
5251 * include/sys/time.h: Add header guard. Add extern "C" bracketing
5253 (gettimeofday): Add prototype.
5254 * mingwex/gettimeofday.c: New file.
5255 * mingwex/makefile.in: Add gettimeofday source and object.
5257 2006-06-13 Danny Smith <dannysmith@users.sourceforge.net>
5259 * include/math.h (HUGE_VAL): Define as builtin if __GNUC__ >= 3.3,
5260 else global library variable.
5261 (HUGEVALF): Likewise.
5262 (HUGEVALL): Likewise.
5263 (INFINITY): Likewise.
5266 2006-06-13 Danny Smith <dannysmith@users.sourceforge.net>
5268 * mingwex/wcrtomb.c (wcrtomb_cp): Correct typo.
5270 2006-06-13 Danny Smith <dannysmith@users.sourceforge.net>
5272 * Makefile.in (SUBDIRS): Change to lowercase for autoconf 2.59.
5274 2006-05-24 Christopher Faylor <cgf@timesys.com>
5276 * configure.in: Update to newer autoconf.
5277 (thanks to Steve Ellcey)
5278 * mingwex/configure.in: Ditto.
5279 * profile/configure.in: Ditto.
5280 * configure: Regenerate.
5281 * mingwex/configure: Ditto.
5282 * profile/configure: Ditto.
5283 * aclocal.m4: New file.
5284 * mingwex/aclocal.m4: Ditto.
5285 * profile/aclocal.m4: Ditto.
5287 2006-05-17 Danny Smith <dannysmith@users.sourceforge.net>
5289 * mingwex/wcrtomb.c (wcrtomb_cp): Test (wc > 255) only if C locale.
5290 Use supplied codepage as arg to WideCharToMultiByte.
5292 2006-02-13 Earnie Boyd <earnie@users.sf.net>
5294 * Makefile.in (libmsvcr80.a): Add import lib.
5295 (libmsvcr80d.a): Ditto.
5297 2006-01-18 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
5299 * Makefile.in: Bump cygwin build number.
5301 2005-10-27 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
5303 * Include/_mingw.h: Increment version to 3.9.
5304 * Makefile.in: Ditto.
5306 2005-10-14 Danny Smith <dannysmith@users.sourceforge.net>
5308 * include/limits.h (SSIZE_MAX): Define.
5309 (LLONG_MAX, LLONG_MIN, ULLONG_MAX): Separate from non-ISO names.
5311 2005-10-13 Wu Yongwei <adah@users.sourceforge.net>
5313 * include/tchar.h: Include <wchar.h> when _UNICODE is defined.
5314 (_TEOF): New macro definition for _UNICODE and non_UNICODE cases.
5316 2005-10-12 Danny Smith <dannysmith@users.sourceforge.net>
5318 * include/stddef.h: Remove.
5319 * include/stdarg.h: Remove.
5321 2005-10-12 Danny Smith <dannysmith@users.sourceforge.net>
5323 * mingwex/complex/csqrt.c (csqrt): The sign of real part
5324 of result is positive when real part of arg == 0;
5325 * mingwex/complex/csqrtf.c (csqrtf): Ditto.
5326 * mingwex/complex/csqrtl.c (csqrtl): Ditto.
5328 2005-10-12 Danny Smith <dannysmith@users.sourceforge.net>
5330 * include/time.h (_time64): Correct prototype.
5332 2005-10-08 Danny Smith <dannysmith@users.sourceforge.net>
5334 * mingwex/fegetenv.c (fegetenv): Restore exception masks.
5335 * mingwex/feholdexcept.c (feholdexcept): Don't set exceptions
5336 to non-stop. Use "fnclex" to clear exception flags.
5338 2005-09-24 Danny Smith <dannysmith@users.sourceforge.net>
5340 * include/math.h (HUGE_VALF, HUGE_VALL, INFINITY, NAN)
5341 Avoid raising FP exceptions.
5343 2005-09-19 Danny Smith <dannysmith@users.sourceforge.net>
5345 * include/stdlib.h (strtof): Add prototype. Uglify
5346 parameter names in inline definition.
5348 (_Exit): Uglify parameter names in inline definition.
5349 (llabs): Add prototype.
5350 (_set_error_mode): Add prototype and input defines.
5352 2005-08-25 Danny Smith <dannysmith@users.sourceforge.net>
5354 * mingwex/fe*.c: Revert previous changes.
5355 * include/fenv.h: Revert previous changes.
5357 2005-08-25 Danny Smith <dannysmith@users.sourceforge.net>
5359 * mingwex/feclearexcept.c (feclearexcept): Change declaration.
5360 Do not return a value.
5361 * mingwex/fegetexceptflag.c (fegetexceptflag): Likewise.
5362 * mingwex/feraiseexcept.c (feraiseexcept): Likewise.
5363 * mingwex/fesetexceptflag.c (fesetexceptflag): Likewise.
5364 * mingwex/fegetenv.c (fegetenv): Likewise.
5365 * mingwex/fesetenv.c (fesetenv): Likewise.
5366 * mingwex/feupdateenv.c (feupdateenv): Likewise.
5367 * include/fenv.h (feclearexcept, fegetexceptflag, feraiseexcept,
5368 fesetexceptflag, fegetenv, fesetenv, feupdateenv): Correct
5371 2005-08-25 Danny Smith <dannysmith@users.sourceforge.net>
5373 * mingwex/stdio/fseeko64.c (fseeko64): Flush stream before
5374 getting filelength for SEEK_END.
5376 2005-08-13 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
5378 * Include/_mingw.h: Increment version to 3.8.
5379 * Makefile.in: Ditto.
5381 2005-08-10 Danny Smith <dannysmith@users.sourceforge.net>
5383 * include/wctype.h (towupper, towlower): Change arg and return value
5385 * include/ctype.h (towupper, towlower): Likewise.
5387 2005-08-10 Danny Smith <dannysmith@users.sourceforge.net>
5389 * mthr_stub.c (__mingwthr_key_dtor): Replace assert(0) with
5390 a diagnostic, guarded by #ifdef DEBUG.
5391 (__mingwthr_remove_key_dtor): Likewise.
5393 2005-08-08 Danny Smith <dannysmith@users.sourceforge.net>
5395 * moldname.def.in (sleep, beep, seterrormode): Remove.
5397 2005-06-16 Danny Smith <dannysmith@users.sourceforge.net>
5399 * profile/profile.h (_MCOUNT_CALL): Define as regparm(2)
5400 (_MCOUNT_DECL): Use it.
5401 (MCOUNT): Save and restore eax, ecx, edx registers.
5402 * profile/mcount.c (_mcount): ANSI-fy.
5404 2005-06-16 Danny Smith <dannysmith@users.sourceforge.net>
5406 * include/_mingw.h (__MINGW_GNUC_PREREQ): Define. Use to
5407 guard __MINGW_ATTRIB macro definitions.
5408 * include/math.h (logb[fl]): Don't define inlines for
5409 GCC-4.0+ && __FAST_MATH__.
5410 (rint[fl], lrint[fl], llrint[fl]); Likewise. Clean up
5411 line-continuation backslashes.
5413 2005-06-06 Danny Smith <dannysmith@users.sourceforge.net>
5415 * include/_mingw.h (__MINGW_ATTRIBUTE_NONNULL): Fix typo
5416 in GNUC version guard.
5418 2005-05-20 Danny Smith <dannysmith@users.sourceforge.net>
5420 * crt1.c (_gnu_exception_handler): Handle illegal instruction
5421 OS exception as a signal if user has defined a SIGILL handler.
5423 2005-05-10 Danny Smith <dannysmith@users.sourceforge.net>
5425 * mingwex/math/nexttoward.c: New file.
5426 * mingwex/math/nexttowardf.c: New file.
5427 * mingwex/math/nextafterl.c: Add nexttowardl alias.
5428 * mingwex/Makefile.in (MATH_DISTFILES): Add nexttoward.c,
5430 (MATH_OBJS): Add nexttoward.o, nexttowardf.o,
5431 * include/math.h (nexttoward, nextowardf, nexttowardl): Add
5434 2005-05-09 Danny Smith <dannysmith@users.sourceforge.net>
5436 * mingwex/math/nextafterf.c (nextafterf): Correct
5438 * mingwex/math/nextafterl.c: New file.
5439 * mingwex/Makefile.in (MATH_DISTFILES): Add nextafterl.c.
5440 (MATH_OBJS): Add nextafterl.o.
5441 * include/math.h (nextafterl): Uncomment prototype.
5443 2005-05-08 Danny Smith <dannysmith@users.sourceforge.net>
5445 * mingwex/math/erfl.c: New file.
5446 * mingwex/Makefile.in (MATH_DISTFILES): Add erfl.c.
5447 (MATH_OBJS): Add erfl.o.
5448 * include/math.h (erfl, erfcl): Uncomment prototypes.
5450 2005-05-04 Danny Smith <dannysmith@users.sourceforge.net>
5452 * include/wchar.h (WCHAR_MAX): Define as 0xffff, so preprocessor
5453 #if (WCHAR_MAX <= WCHAR_MIN) is false.
5454 * include/stdint.h (WCHAR_MAX): Likewise.
5455 (WINT_MAX): Likewise.
5457 2005-05-03 Danny Smith <dannysmith@users.sourceforge.net>
5459 * mingwex/math/signbit.c (__signbit): Make return value
5460 consistent with GCC's __builtin_signbit.
5461 * mingwex/math/signbitf.c (__signbitf): Likewise.
5462 * mingwex/math/signbitf.c (__signbitl): Likewise.
5463 * include/math.h (__signbit, __signbitf, __signbitl): Likewise
5466 2005-05-02 Danny Smith <dannysmith@users.sourceforge.net>
5468 * include/_mingw.h (__MINGW_ATTRIB_NONNULL): Don't define as
5470 * mingwex/mbrtowc.c (__mbrtowc_cp): Use __MINGW_ATTRIB_NONNULL.
5471 Remove unused MBTOWC_FLAGS define.
5473 2005-04-23 Danny Smith <dannysmith@users.sourceforge.net>
5475 * mingwex/mbrtowc.c: New file.
5476 * mingwex/wcrtomb.c: New file.
5477 * mingwex/btowc.c: New file.
5478 * mingwex/wctob.c: New file.
5479 * mingwex/mb_wc_common.h: New file.
5480 * mingwex/Makefile.in (DISTFILES): Add new files.
5481 (Q8_OBJS): Add new objects.
5482 * include/wchar.h: Adjust comment about mbrtowc() and related
5483 funcions. Add __restrict__ to pointer params in prototypes.
5484 (wmemset. wmemchr, wmemcpy, wmemmove, wcstoll, wcstoull): Remove
5485 arg names from protototypes.
5487 2005-04-23 Wu Yongwei <adah@sh163.net>
5489 * mingwex/dirent.c: Formatting changes.
5490 * mingwex/dirent.c (_topendir): Make the end-of-path slash check
5493 2005-03-31 Danny Smith <dannysmith@users.sourceforge.net>
5495 * include/_mingw.h (__MINGW_ATTRIB_NONNULL): Define.
5497 2005-03-24 Danny Smith <dannysmith@users.sourceforge.net>
5499 * include/stdio.h (__mingw_fwrite): Change return value to
5501 * mingwex/mingw-fseek.c (__mingw_fwrite): Likewise.
5503 2005-03-15 Hans Leidekker <hans@it.vu.nl>
5505 * include/malloc.h (_FREEENTRY, _USEDENTRY): Correct defines.
5507 2005-02-25 Danny Smith <dannysmith@users.sourceforge.net>
5509 * include/wctype.h (wctrans): Remove _CRTIMP.
5510 (towctrans): Likewise.
5513 2005-02-25 Danny Smith <dannysmith@users.sourceforge.net>
5515 * include/wctype.h: Add comment on wctrans, towctrans, wctype.
5517 2005-02-25 Danny Smith <dannysmith@users.sourceforge.net>
5519 * mingwex/wctype.c: New file.
5520 * mingwex/wctrans.c: New file.
5521 * mingwex/Makefile.in (DISTFILES): Add wctype.c, wctrans.c.
5522 * mingwex/Makefile.in (Q8_OBJS): Add wctype.o, wctrans.o.
5524 2005-02-11 Danny Smith <dannysmith@users.sourceforge.net>
5526 * include/tchar.h (_tstat64, _tstati64): Add Unicode/ANSI mappings.
5528 2005-02-11 Danny Smith <dannysmith@users.sourceforge.net>
5530 * include/assert.h: Remove header guard. #undef assert macro.
5531 (_assert): Use __MINGW_ATTRIB_NORETURN define.
5533 2005-02-11 Gregory W. Chicares <chicares@cox.net>
5535 * include/math.h (expm1, expm1f, expm1l): Add prototypes.
5536 * mingwex/Makefile.in (MATH_DISTFILES): Add expm1.c,
5538 (MATH_OBJS): Add expm1.o, expm1f.o, expm1l.o.
5539 * mingwex/math/expm1.c: New file.
5540 * mingwex/math/expm1f.c: New file.
5541 * mingwex/math/expm1l.c: New file.
5543 2005-02-07 Danny Smith <dannysmith@users.sourceforge.net>
5545 * include/sys/stat.h (struct stat): Guard with _NO_OLDNAMES.
5546 * include/wchar.h (struct stat): Likewise.
5547 Bug reported to Debian by Anand Kumria <wildfire@progsoc.org>
5549 * include/sys/stat.h: Remove empty __STRICT_ANSI__ guard.
5551 2005-02-01 Danny Smith <dannysmith@users.sourceforge.net>
5553 * mingwex/strtold.c (__asctoe64): Set endptr to 'e' if exponent
5554 string is not valid.
5556 2005-01-26 Oliver Stoeneberg <oliverst@online.de>
5558 * include/malloc.h: Add missing return code defines for
5561 2005-01-17 Danny Smith <dannysmith@users.sourceforge.net>
5563 * include/sys/stat.h (struct __stat64): Change st_size type to
5565 * include/wchar.h (struct __stat64): Change st_size type to __int64.
5567 2005-01-13 Earnie Boyd <earnie@users.sf.net>
5569 * include/sys/stat.h (_S_IFLNK, S_IFLNK, _S_ISLNK, S_ISLNK, _lstat,
5571 * include/errno.h (ELOOP): Ditto.
5572 * include/_mingw.h: Increment version to 3.7.
5573 * Makefile.in: Ditto.
5575 2005-01-11 Danny Smith <dannysmith@users.sourceforge.net>
5577 * include/tchar.h (_tfreopen): Add UNICODE mappings.
5579 2005-01-11 Earnie Boyd <earnie@users.sf.net>
5581 * include/sys/stat.h (_S_IFLNK, S_IFLNK, _S_ISLNK, S_ISLNK, _lstat,
5582 lstat): Conditionalize defines for __STRICT_ANSI__.
5584 2005-01-10 Earnie Boyd <earnie@users.sf.net>
5586 * include/errno.h (ELOOP): Add definition.
5588 2005-01-10 Danny Smith <dannysmith@users.sourceforge.net>
5590 * mingwex/complex/(cabsl.c cacosl.c cacoshl.c cargl.c casinl.c
5591 casinhl.c catanl.c catanhl.c ccosl.c ccoshl.c cexpl.c cimagl.c
5592 clogl.c cpowl.c cprojl.c creall.c csinl.c csinhl.c csqrtl.c
5593 ctanl.c ctanhl.c): New files.
5594 * mingwex/Makefile.in (COMPLEX_DISTFILES): Adjust.
5595 (COMPLEX_OBJS): Adjust.
5596 * include/complex.h (cabsl, cacosl, cacoshl, cargl, casinf.
5597 casinhl, catanl, catanhl, ccosl, ccoshl, cexpl, cimagl, clogl,
5598 cpowl, cprojl, creall, csinl, csinhl, csqrtl, ctanl, ctanhl):
5601 2005-01-06 Danny Smith <dannysmith@users.sourceforge.net>
5603 * include/_mingw.h (__int16): Define as short.
5604 Thanks to: Leo Yuriev <leoyuriev at users dot sf dot net>
5606 2005-01-06 Danny Smith <dannysmith@users.sourceforge.net>
5608 * include/stdio.h (P_tmpdir): Add define.
5610 2005-01-03 Earnie Boyd <earnie@users.sf.net>
5612 * Makefile.in (inst_docdir): For Cygwin target set to share/doc/.
5614 2005-01-02 Earnie Boyd <earnie@users.sf.net>
5616 * include/_mingw.h: Increment version to 3.6
5617 * Makefile.in: Ditto
5619 2004-12-26 Danny Smith <dannysmith@users.sourceforge.net>
5621 * mingwex/complex/(cabsf.c cacosf.c cacoshf.c cargf.c casinf.c
5622 casinhf.c catanf.c catanhf.c ccosf.c ccoshf.c cexpf.c cimagf.c
5623 clogf.c cpowf.c cprojf.c crealf.c csinf.c csinhf.c csqrtf.c
5624 ctanf.c ctanhf.c): New files.
5625 * mingwex/Makefile.in (COMPLEX_DISTFILES): Adjust.
5626 (COMPLEX_OBJS): Adjust.
5627 * include/complex.h (cabsf, cacosf, cacoshf, cargf, casinf.
5628 casinhf, catanf, catanhf, ccosf, ccoshf, cexpf, cimagf, clogf,
5629 cpowf, cprojf, crealf, csinf, csinhf, csqrtf, ctanf, ctanhf):
5632 2004-12-20 Danny Smith <dannysmith@users.sourceforge.net>
5634 * include/wchar.h (wcsdup): Correct prototype.
5635 * include/string.h (wcsdup): Correct prototype.
5637 2004-10-14 Danny Smith <dannysmith@users.sourceforge.net>
5639 * include/sys/stat.h: Make S_ISLNK comment comply with ISO C90.
5641 2004-10-07 Danny Smith <dannysmith@users.sourceforge.net>
5643 * mingwex/math/fastmath.h: New file.
5644 * mingwex/math/asinh.c: New file.
5645 * mingwex/math/asinhf.c: New file.
5646 * mingwex/math/asinhl.c: New file.
5647 * mingwex/math/acosh.c: New file.
5648 * mingwex/math/acoshf.c: New file.
5649 * mingwex/math/acoshl.c: New file.
5650 * mingwex/math/atanh.c: New file.
5651 * mingwex/math/atanhf.c: New file.
5652 * include/math.h (asinh, asinhf, asinhl, acosh, acoshf, acoshl,
5653 atanh, atanhf, atanhl): Add prototypes.
5654 * mingwex/Makefile.in (MATH_OBJS): Add objects for above to list.
5655 (MATH_DISTFILES): Add sources for above and fastmath.h to list.
5656 Specify dependency on fastmath.h for new objects.
5658 2004-09-08 Earnie Boyd <earnie@users.sf.net>
5660 * include/sys/stat.h (_S_IFLNK): Add definition.
5667 2004-09-08 Earnie Boyd <earnie@users.sf.net>
5669 * include/sys/stat.h (_S_ISLNK): Add definition.
5672 2004-09-05 Earnie Boyd <earnie@users.sf.net>
5674 * include/_mingw.h: Increment minor version for 3.5 release.
5675 * Makefile.in: Ditto.
5676 * mingwex/Makefile.in: Correct typo in list of DISTFILES.
5678 2004-08-24 Danny Smith <dannysmith@users.sourceforge.net>
5680 * include/malloc.h (__mingw_aligned_offset_malloc,
5681 __mingw_aligned_offset_realloc, __mingw_aligned_malloc,
5682 __mingw_aligned_realloc, __mingw_aligned_free): Add
5684 * mingwex/Makefile.in (DISTFILES): Add mingw-aligned-malloc.c,
5685 tst-aligned-malloc.c.
5686 (REPLACE_OBJS): Add mingw-aligned-malloc.o.
5688 2004-08-24 Steven G. Johnson <stevenj@alum.mit.edu>
5690 * mingwex/mingw-aligned-malloc.c: New file.
5691 * mingwex/tst-aligned-malloc.c: New file.
5693 2004-08-24 Danny Smith <dannysmith@users.sourceforge.net>
5695 * crt1.c: (__mingw_CRTStartup): Change return to void. Add
5696 noreturn attribute. Align stack to 16 bytes before passing args
5698 (mainCRTStartup): Change return to void.
5699 (WinMainCRTStartup): Likewise.
5701 2004-08-15 Danny Smith <dannysmith@users.sourceforge.net>
5703 * profile/COPYING: New file.
5704 * profile/CYGWIN_LICENSE: New file.
5705 * profile/Makefile.in (DISTFILES): Add COPYING, CYGWIN_LICENSE.
5707 2004-08-15 Danny Smith <dannysmith@users.sourceforge.net>
5709 * mingwex/fopen64.c: Move.
5710 * mingwex/fseeko64.c: Move.
5711 * mingwex/ftello64.c: Move.
5712 * mingwex/lseek64.c: Move.
5713 * mingwex/stdio/fopen64.c: To here.
5714 * mingwex/stdio/fseeko64.c: To here.
5715 * mingwex/stdio/ftello64.c: To here.
5716 * mingwex/stdio/lseek64.c: To here.
5718 2004-08-15 Danny Smith <dannysmith@users.sourceforge.net>
5720 * profile/gmon.c [__MINGW32__]: Include string.h for
5723 2004-08-08 Christopher Faylor <cgf@timesys.com>
5725 * mingwex/stdio/vwscanf.c: Add stdio.h needed after 2004-08-07 change.
5727 2004-08-07 Danny Smith <dannysmith@users.sourceforge.net>
5729 * include/complex.h: Remove __attribute__ ((const)) from
5730 transcendantal and trig functions. Replace __attribute__ ((const))
5731 with __MINGW_ATTRIB_CONST on other declarations.
5733 2004-08-07 Danny Smith <dannysmith@users.sourceforge.net>
5735 * include/wchar.h: Reorganize, avoid including other headers.
5737 2004-08-07 Danny Smith <dannysmith@users.sourceforge.net>
5739 * include/string.h (memchr, memcmp, strchr, strcmp, strcspn)
5740 (strlen, strncmp, strpbrk, strrchr, strspn, strstr): Add pure
5743 2004-07-30 Danny Smith <dannysmith@users.sourceforge.net>
5745 * include/dirent.h (struct _wdirent): Remove obsolete comment.
5747 2004-07-30 Danny Smith <dannysmith@users.sourceforge.net>
5749 * include/string.h: Revert 2004-07-26 additions of
5752 2004-07-28 Danny Smith <dannysmith@users.sourceforge.net>
5754 * mingwex/math/powl.c (powl): Revert change of 2004-02-01.
5755 (__convert_inf_to_maxnum): New.static inline.
5756 (reducl): Use it to protect against Inf - Inf.
5757 (__fast_ldexpl): New function. Use in lieu of ldexpl.
5759 2004-07-27 Danny Smith <dannysmith@users.sourceforge.net>
5761 * mingwex/math/expl.c (expl): Move body of code to new static
5762 function __expl, removing tests for +/-Inf. Extern function
5763 expl calls __expl after testing for max, min log thresholds.
5765 2004-07-26 Danny Smith <dannysmith@users.sourceforge.net>
5767 * mingwex/stdio/vsscanf.c: Add "edi" to registers-modified field
5768 * mingwex/stdio/vfscanf.c: Likewise.
5769 * mingwex/stdio/vswscanf.c: Likewise.
5770 * mingwex/stdio/vfwscanf.c: Likewise.
5772 2004-07-26 Danny Smith <dannysmith@users.sourceforge.net>
5774 * include/_mingw.h: Use only two underscores to uglify
5775 __MINGW_ATTRIB_* macros.
5776 * include/stdlib.h: Adjust __MINGW_ATTRIB_* tokens.
5777 * include/setjmp.h: Likewise.
5779 * include/sting.h: Add __MINGW_ATTRIB_PURE to locale-independent
5781 (_strdup, strdup): Add __MINGW_ATTRIB_MALLOC.
5783 2004-07-25 Danny Smith <dannysmith@users.sourceforge.net>
5785 * include/string.h: Group wide string functions together,
5786 and protect with _WSTRING_DEFINED.
5788 2004-07-25 Danny Smith <dannysmith@users.sourceforge.net>
5790 * include/_mingw.h (__MINGW_ATTR_*): Replace with
5792 * include/stdlib.h (_ATTRIB_NORETURN): Replace with
5793 __MINGW_ATTRIB_NORETURN, throughout.
5794 (malloc): Declare with __MINGW_ATTRIB_MALLOC.
5796 (abs): Declare with __MINGW_ATTRIB_CONST.
5805 * include/setjmp.h (longjmp): Add __MINGW_ATTRIB_NORETURN.
5807 2004-07-21 Danny Smith <dannysmith@users.sourceforge.net>
5809 * include/_mingw.h: Undefine __attribute__.
5810 (__MINGW_ATTR_NORETURN): New define.
5811 (__MINGW_ATTR_CONST): New define.
5812 (__MINGW_ATTR_MALLOC): New define.
5813 (__MINGW_ATTR_PURE): New define.
5814 (_CRTIMP, __cdecl, __stdcall, __UNUSED_PARAM): Ansi-fy
5817 2004-07-19 Danny Smith <dannysmith@users.sourceforge.net>
5819 * include/time.h (__time64_t): Add missing ';'.
5821 2004-07-17 Danny Smith <dannysmith@users.sourceforge.net>
5823 * include/time.h (wcsftime): Move out of !__STRICT_ANSI__ block.
5824 (struct tm): Protect with _TM_DEFINED.
5826 2004-07-17 Christopher Faylor <cgf@timesys.com>
5828 * Makefile.in (CC): Strip inappropriate include file settings from any
5831 2004-07-15 "dgun" <dgun@umpire.com>
5833 * include/complex.h (conj): Correct typo in prototype.
5835 2004-07-15 Danny Smith <dannysmith@users.sourceforge.net>
5837 * include/math.h: Add pragma GCC system_header.
5839 2004-07-15 Danny Smith <dannysmith@users.sourceforge.net>
5841 * mingwex/complex/carg.c: New file.
5842 * mingwex/Makefile.in: Really add carg.o to libmingwex.a.
5844 2004-07-15 Corinna Vinschen <corinna@vinschen.de>
5846 * Makefile.in (INCLUDES): Temporarily revert previous change.
5847 * mingwex/Makefile,in (INCLUDES): Ditto.
5848 * profile/Makefile,in (INCLUDES): Ditto.
5849 * mingwex/Makefile,in: Drop carg.o dependency.
5851 2004-07-14 Christopher Faylor <cgf@timesys.com>
5853 * mingwex/fwide.c: Include <stdio.h> to resolve FILE usage.
5855 2004-07-14 Danny Smith <dannysmith@users.sourceforge.net>
5857 * Makefile.in (INCLUDES): Designate $(srcdir)/../include as a
5859 * mingwex/Makefile,in (INCLUDES): Ditto.
5860 * profile/Makefile,in (INCLUDES): Ditto.
5862 * mingwex/Makefile,in: Add carg.o to libmingwex.a.
5864 2004-07-13 Earnie Boyd <earnie@users.sourcefourge.net>
5866 * Makefile.in: Move use of --nostdinc++ as GCC3.4 warns to use it
5868 * mingwex/Makefile.in: Ditto.
5869 * profile/Makefile.in: Ditto.
5870 * include/limits.h: Change to new file header preamble.
5871 * include/_mingw.h: Increment minor version for 3.4 release.
5872 * Makefile.in: Ditto.
5874 2004-07-12 Danny Smith <dannysmith@users.sourceforge.net>
5876 * mingwex/math/cephes_emath.h (__etens): Remove declaration.
5878 2004-07-11 Danny Smith <dannysmith@users.sourceforge.net>
5880 * include/unistd.h (ftruncate): Add inline definition.
5881 * mingwex/ftruncate.c: New file.
5882 * mingwex/Makefile.in: Add ftruncate.o to libmingwex.a.
5884 2004-07-10 Danny Smith <dannysmith@users.sourceforge.net>
5886 * include/time.h: Do not include sys/types.h.
5888 2004-07-02 Danny Smith <dannysmith@users.sourceforge.net>
5890 * mingwex/Makefile.in (MATH_DISTFILES): Remove pow.c,
5891 (MATH_OBJS): Remove pow,o.
5892 * include/math.h (pow): Declare with _CRTIMP.
5893 Add comment on how to avoid excess precision problems.
5895 2004-06-30 Danny Smith <dannysmith@users.sourceforge.net>
5897 * include/stdio.h (__mingw_fseeko64): Add prototype.
5898 * mingwex/mingw-fseek.c (__mingw_fseeko64): Add definition.
5899 (__mingw_fwrite): Handle huge files.
5901 2004-06-30 Kees Zeelenberg <kzlg@users.sourceforge.net>
5902 Danny Smith <dannysmith@users.sourceforge.net>
5904 * include/stdio.h (fopen64): Add inline function.
5905 (fseeko64): Add prototype.
5906 (ftello64): Add inline function.
5907 * include/io.h (lseek64): Add inline function.
5908 * include/sys/types (off64_t): Add typedef.
5909 (fpos64_t): Add typedef.
5910 * mingwex/fopen64.c: New file.
5911 * mingwex/fseeko64.c: New file.
5912 * mingwex/ftello64.c: New file.
5913 * mingwex/lseek64.c: New file.
5914 * mingwex/Makefile.in (STDIO_DISTFILES): Add fopen64.c,
5915 fseeko.64.c, ftello64.c, lseek64.c.
5916 (STDIO_OBJS): Add fopen64.o, fseeko.64.o, ftello64.o, lseek64.o.
5918 2004-04-24 Luke Dunstan <infidel@users.sourceforge.net>
5920 * include/limits.h (_I64_MIN, _I64_MAX, _UI64_MAX): Add defines.
5922 2004-04-22 Earnie Boyd <earnie@users.sf.net>
5924 * DISCLAIMER: Add words about "free to use".
5925 * README: Modify "Win32 runtime" to "Microsoft C Runtime".
5926 * Makefile.in (SRCDIST_FILES): Add DISCLAIMER and CONTRIBUTORS.
5927 (inst_docdir): New variable.
5929 (FLAGS_TO_PASS): Include inst_docdir.
5930 (install-dirs): Add inst_docdir.
5931 (install): Add loop for INSTDOCS.
5932 * strncasecmp.c: Reword copyright and disclaimer. Move Contributors
5933 section to CONTRIBUTORS file. Remove RCS tags.
5935 2004-04-22 Danny Smith <dannysmith@users.sourceforge.net>
5937 * mingwex/math/lround.c: Rewrite.
5938 * mingwex/math/lroundf.c: Rewrite.
5939 * mingwex/math/lroundl.c: Rewrite.
5940 * mingwex/math/llround.c: Rewrite.
5941 * mingwex/math/llroundf.c: Rewrite.
5942 * mingwex/math/llroundl.c: Rewrite.
5944 2004-04-20 Earnie Boyd <earnie@users.sf.net>
5946 * CONTRIBUTORS: New file.
5947 * DISCLAIMER: Ditto.
5948 * CRT_noglob.c: Reword copyright and disclaimer. Move Contributors
5949 section to CONTRIBUTORS file. Remove RCS tags.
5950 * CRTFmode.c: Ditto.
5954 * crtdll.dev: Ditto.
5964 * msvcrt.def.in: Ditto.
5965 * strcasecmp.c: Ditto.
5968 * include/assert.h: Ditto.
5969 * include/conio.h: Ditto.
5970 * include/ctype.h: Ditto.
5971 * include/direct.h: Ditto.
5972 * include/dirent.h: Ditto.
5973 * include/dos.h: Ditto.
5974 * include/errno.h: Ditto.
5975 * include/excpt.h: Ditto.
5976 * include/fcntl.h: Ditto.
5977 * include/float.h: Ditto.
5978 * include/io.h: Ditto.
5979 * include/locale.h: Ditto.
5980 * include/malloc.h: Ditto.
5981 * include/math.h: Ditto.
5982 * include/process.h: Ditto.
5983 * include/setjmp.h: Ditto.
5984 * include/share.h: Ditto.
5985 * include/signal.h: Ditto.
5986 * include/stdio.h: Ditto.
5987 * include/stdlib.h: Ditto.
5988 * include/string.h: Ditto.
5989 * include/tchar.h: Ditto.
5990 * include/time.h: Ditto.
5991 * include/wchar.h: Ditto.
5992 * include/sys/locking.h: Ditto.
5993 * include/sys/param.h: Ditto.
5994 * include/sys/stat.h: Ditto.
5995 * include/sys/timeb.h: Ditto.
5996 * include/sys/types.h: Ditto.
5997 * include/sys/utime.h: Ditto.
5998 * mingwex/dirent.c: Ditto.
6000 2004-04-19 Earnie Boyd <earnie@users.sf.net>
6002 * include/_mingw.h: Revert to primary release 3 and increment minor
6004 * Makefile.in (VERSION): Ditto.
6006 2004-04-01 Danny Smith <dannysmith@users.sourceforge.net>
6008 * crt1.c (_mingw32_init_fmode): Set *_imp___fmode_dll to
6009 _fmode if not __MSVCRT__.
6011 2004-03-30 Danny Smith <dannysmith@users.sourceforge.net>
6013 * include/io.h: (_findfirst): Correct prototype.
6015 2004-03-30 Hans Leidekker <hans@it.vu.nl>
6017 * include/io.h: (_findnext, _findclose): Correct prototype.
6019 2004-03-28 Hans Leidekker <hans@it.vu.nl>
6021 * include/math.h (FP_*): Add defines.
6023 2004-03-29 Danny Smith <dannysmith@users.sourceforge.net>
6025 * mingwex/math/round.c: Rewrite.
6026 * mingwex/math/roundf.c: Rewrite.
6027 * mingwex/math/roundl.c: Rewrite.
6029 2004-03-25 Danny Smith <dannysmith@users.sourceforge.net>
6031 * include/_mingw.h (__MSVCRT_VERSION__): Define default as 0x0600.
6032 * include/time.h (__time64_t): Add typedef.
6033 (_mktime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
6034 (_ctime64): Likewise.
6035 (_wctime64): Likewise.
6036 (_gmtime64): Likewise.
6037 (_localtime64): Likewise.
6038 (wcsftime): Move into _WTIME_DEFINED block.
6039 Regroup non-ANSI prototypes.
6040 * include/io.h: Include <stdint.h>.
6041 (__finddata64_t): Add struct definition.
6042 (__wfinddata64_t): Likewise.
6043 (_findfirst64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
6044 (_findnext64): Likewise.
6045 (_wfindfirst64): Likewise.
6046 (_wfindnext64): Likewise.
6047 * include/sys/timeb.h (__timeb64): Add struct definition.
6048 (_ftime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
6049 * include/sys/utime.h (__utimbuf64): Add struct definition.
6050 (_utime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
6051 (_futime64): Likewise.
6052 (_wutime64): Likewise.
6053 * include/sys/stat.h (__stat64): Add struct definition.
6054 (_fstat64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
6055 (_stat64): Likewise.
6056 (_wstat64): Likewise.
6057 * include/sys/types.h (__time64_t): Add typedef.
6058 * include/wchar.h (__wfinddata64_t): Add structure definition.
6059 (__stat64): Likewise.
6060 (_wctime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
6061 (_wfindfirst64): Likewise.
6062 (_wfindnext64): Likewise.
6063 (_wutime64): Likewise.
6064 (_wstat64): Likewise.
6065 * include/malloc.h (_aligned_free): Add prototype for
6066 __MSVCRT_VERSION__ >= 0x0700.
6067 (_aligned_malloc): Likewise.
6068 (_aligned_offset_malloc): Likewise.
6069 (_aligned_offset_realloc): Likewise.
6070 (_aligned_realloc): Likewise.
6071 * include/string.h (_wcserror): Add prototype for
6072 __MSVCRT_VERSION__ >= 0x0700.
6073 (__wcserror): Likewise.
6074 * include/math.h (_set_SSE2_enable): Add prototype for
6075 __MSVCRT_VERSION__ >= 0x0701.
6077 2004-03-25 Danny Smith <dannysmith@users.sourceforge.net>
6079 * include/stdio.h (_fsopen): Add prototype.
6080 * include/tchar.h (_tfsopen): Add defines.
6081 Thanks to "Gerik" <gerikr at users dot sourceforge dot net>
6083 2004-03-19 Danny Smith <dannysmith@users.sourceforge.net>
6085 * msvcrt.def.in: Add stubs for msvcrt.dll (version 6.10),
6086 msvcr70.dll, and msvcr71.dll.
6087 * Makefile.in (msvcr*.def): Define preprocessor __msvcr*__ constant
6088 using basename of output def file.
6090 2004-03-13 Danny Smith <dannysmith@users.sourceforge.net>
6092 * include/malloc.h: Remove __STRICT_ANSI__ guard.
6094 2004-03-11 Brian Keener <bkeener@thesoftwaresource.com>
6096 * include/process.h: Remove the #endif associated with removal of
6097 __STRICT_ANSI__ guard from non-ANSI header.
6099 2004-03-10 Danny Smith <dannysmith@users.sourceforge.net>
6101 * include/conio.h: Remove __STRICT_ANSI__ guard from non-ANSI header.
6102 * include/direct.h: Ditto.
6103 * include/dirent.h: Ditto.
6104 * include/dos.h: Ditto.
6105 * include/excpt.h: Ditto.
6107 * include/io.h: Ditto.
6108 * inlude/mem.h: Ditto.
6109 * include/memory.h: Ditto.
6110 * include/process.h: Ditto.
6111 * inlude/search.h: Ditto.
6112 * include/share.h: Ditto.
6113 * include/unistd.h: Ditto.
6114 * include/sys/fcntl.h: Ditto.
6115 * include/file.h: Ditto.
6116 * include/sys/locking.h: Ditto.
6117 * include/sys/param.h: Ditto.
6118 * include/sys/stat,h
6119 * include/sys/time.h: Ditto.
6120 * include/sys/timeb.h: Ditto.
6121 * include/sys/types.h: Ditto.
6122 * include/sys/unistd.h: Ditto.
6123 * include/sys/utime.h: Ditto.
6125 2004-02-21 Danny Smith <dannysmith@users.sourceforge.net>
6127 * include/_mingw.h (__UNUSED_PARAM): Define macro.
6128 * include/wchar.h (fwide): Use it.
6131 2004-02-05 Danny Smith <dannysmith@users.sourceforge.net>
6133 * mingwex/getopt.c: Define IS_POSIXLY_CORRECT as per
6134 NetBSD getopt_long.c.
6136 2004-02-05 Danny Smith <dannysmith@users.sourceforge.net>
6138 * mingwex/strtold.c (__asctoe64) Reorganise. Fix setting error
6139 codes and handling of special chars.
6141 2004-02-02 Danny Smith <dannysmith@users.sourceforge.net>
6143 * include/stdio.h (feof): Add inlined definition.
6146 2004-02-01 Danny Smith <dannysmith@users.sourceforge.net>
6148 * mingwex/math/ldexpl.c (ldexpl): Call __asm__("fscale")
6149 directly, rather than via scabnl.
6151 2004-02-01 Danny Smith <dannysmith@users.sourceforge.net>
6153 * mingwex/math/powl.c (powl): Return infinity if
6154 extended precision multiplication of x by log2(y)
6157 2004-01-31 Danny Smith <dannysmith@users.sourceforge.net>
6159 * mingwex/math/cephes_emath.h (__enan_64): Fix thinko.
6160 (__enan_NI16): Fix another one.
6161 (__enan_NBITS): Tidy.
6163 2004-01-16 Danny Smith <dannysmith@users.sourceforge.net>
6165 * include/stdint.h [__STDC_CONSTANT_MACROS]: Fix for 8 and 16 bit
6166 types. (Thanks to John Maddock for report.)
6168 2004-01-14 Greg Chicares <chicares@users.sourceforge.net>
6170 * include/tchar.h (_puttchar): Define.
6172 2003-12-13 Danny Smith <dannysmith@users.sourceforge.net>
6174 * include/stdio.h:(_fileno): Define macro version after both
6175 fileno and _fileno functions declared.
6177 * include/stdio.h (_rmtmp, rmtmp): Add prototypes.
6178 * moldnames.def.in (rmtmp) Add stub.
6180 2003-11-27 Dimitry Sibiryakov <aafemt@users.sourceforge.net>
6182 * include/signal.h (SIG_SGE, SIG_ACK): Add defines.
6184 2003-10-27 Danny Smith <dannysmith@users.sourceforge.net>
6186 * include/math.h: Guard ISO C99 additions with __cplusplus
6189 2003-10-21 Danny Smith <dannysmith@users.sourceforge.net>
6191 * include/_mingw.h: Define __attribute__((x)) to nothing
6194 2003-10-21 Danny Smith <dannysmith@users.sourceforge.net>
6196 * include/complex.h: New file.
6197 * mingwex/complex: New directory.
6198 * mingwex/complex/cabs.c: New file.
6199 * mingwex/complex/cacos.c: New file.
6200 * mingwex/complex/cacosh.c: New file.
6201 * mingwex/complex/casin.c: New file.
6202 * mingwex/complex/casinh.c: New file.
6203 * mingwex/complex/catan.c: New file.
6204 * mingwex/complex/catanh.c: New file.
6205 * mingwex/complex/ccos.c: New file.
6206 * mingwex/complex/ccosh.c: New file.
6207 * mingwex/complex/cexp.c: New file.
6208 * mingwex/complex/cimag.c: New file.
6209 * mingwex/complex/clog.c: New file.
6210 * mingwex/complex/cpow.c: New file.
6211 * mingwex/complex/cproj.c: New file.
6212 * mingwex/complex/creal.c: New file.
6213 * mingwex/complex/csin.c: New file.
6214 * mingwex/complex/csinh.c: New file.
6215 * mingwex/complex/csqrt.c: New file.
6216 * mingwex/complex/ctan.c: New file.
6217 * mingwex/complex/ctanh.c: New file.
6218 * mingwex/Makefile.in (COMPLEX_DISTFILES): New list of
6221 (COMPLEX_OBJS): New list of objects.
6222 (LIB_OBJS): Include it in the library.
6224 2003-10-21 Danny Smith <dannysmith@users.sourceforge.net>
6226 * include/math.h (cabs): Remove non-ISO prototype.
6228 2003-10-21 Danny Smith <dannysmith@users.sourceforge.net>
6230 * mingwex/math/cephes_mconf.h (NAN, NANF, NANL):
6231 Use GCC __builtin's if available.
6232 (INFINITY, INFINITYF, INFINITYL): Likewise.
6234 2003-10-21 Danny Smith <dannysmith@users.sourceforge.net>
6236 * mingwex/math/s_erf.c (erf): Set errno to ERANGE if
6237 beyond approximation limit.
6238 * mingwex/math/sf_erf.c (erff): Likewise.
6240 2003-10-17 Danny Smith <dannysmith@users.sourceforge.net>
6242 * include/stdio.h (getc): Cast result to unsigned char before
6245 (getchar): Likewise.
6246 (putchar): Likewise.
6247 Thanks to M.Fujii <boochang@m4.kcn.ne.jp>
6249 2003-10-10 Earnie Boyd <earnie@users.sf.net>
6251 * include/_mingw.h: Increment version to 3.2.
6252 * Makefile.in: Ditto.
6254 2003-10-10 Earnie Boyd <earnie@users.sourceforge.net>
6256 * include/sys/types.h: Revert last change.
6258 2003-10-10 Earnie Boyd <earnie@users.sourceforge.net>
6260 * include/sys/types.h (ssize_t): Correct the definition.
6262 2003-10-03 Danny Smith <dannysmith@users.sourceforge.net>
6264 * include/stdio.h (_filbuf): Add prototype.
6265 (_flsbuf): Add prototype.
6266 (getc): Add inline version.
6268 (getchar): Likewise.
6269 (putchar): Likewise.
6271 2003-10-03 Danny Smith <dannysmith@users.sourceforge.net>
6273 * mingwex/dirent.c (_treaddir): Reset errno to 0 if end
6276 2003-09-29 Danny Smith <dannysmith@users.sourceforge.net>
6278 * include/stdlib.h: Guard non-ISO functions with
6279 !__STRICT_ANSI__, throughout.
6281 2003-09-24 Danny Smith <dannysmith@users.sourceforge.net>
6283 * include/io.h (_fileno): Remove prototype.
6285 (FILENAME_MAX): Define, if needed.
6286 Don't include <stdio.h>.
6287 * include/stdio.h (FILENAME_MAX): Protect against
6289 (_fileno): Define macro implementation.
6292 2003-09-24 Danny Smith <dannysmith@users.sourceforge.net>
6294 * include/inttypes.h: Include _mingw.h.
6296 2003-09-24 Danny Smith <dannysmith@users.sourceforge.net>
6298 * include/_mingw.h (__CRT_INLINE): Define.
6299 * include/ctype.h: Replace 'extern inline' with __CRT_INLINE,
6301 * include/inttypes.h: Likewise.
6302 * include/math.h: Likewise.
6303 * include/stdio.h: Likewise.
6304 * include/stdlib.h: Likewise.
6305 * include/string.h: Likewise.
6306 * include/wchar.h: Likewise.
6307 * include/wctype.h: Likewise.
6309 2003-09-22 Roland Schwingel <rolandschwingel@users.sourceforge.net>
6311 * mingwex/dirent.c (_topendir): Allocate enough memory for
6312 DIR struct in UNICODE case too.
6314 2003-09-15 Earnie Boyd <earnie@users.sf.net>
6316 * include/_mingw.h: Increment version to 3.2.
6317 * Makefile.in: Ditto.
6319 2003-07-03 Earnie Boyd <earnie@users.sf.net>
6321 * config.guess, config.sub: Update with versions from ftp.gnu.org.
6323 2003-07-03 Danny Smith <dannysmith@users.sourceforge.net>
6325 * mingwex/math/trunc.c (trunc): Provide lvalue for memory input constraint.
6326 * mingwex/math/truncf.c (truncf): Likewise.
6327 * mingwex/math/truncl.c (truncl): Likewise.
6328 * mingwex/math/modff.c (modff): Likewise.
6329 * mingwex/math/modfl.c (modfl): Likewise.
6331 2003-07-03 Danny Smith <dannysmith@users.sourceforge.net>
6333 * include/search.h: New file.
6334 * include/stdlib.h: Add comment about qsort, bsearch in
6336 * test_headers.c: Include search.h.
6337 * moldname.def.in (lfind, lsearch): Add.
6339 2003-07-03 Danny Smith <dannysmith@users.sourceforge.net>
6341 * include/process.h (_execv, _execvp, _spawnv, _spawnvp, _execve,
6342 _execvpe, _spawnve, _spawnvpe, execv, execvp, spawnv, spawnvp,
6343 execve, execvpe, spawnve, spawnvpe): Const-ify all the char params.
6345 2003-07-01 Earnie Boyd <earnie@users.sf.net>
6347 * include/_mingw.h (small, hyper): Change to __small and __hyper to
6348 avoid user space name conflicts.
6350 2003-07-01 Earnie Boyd <earnie@users.sf.net>
6352 * include/_mingw.h (__int32, __int16, __int8, small, hyper): Define.
6353 Note: Also added to w32api/include/basetyps.h.
6354 * mingwex/math/tgamma.c, tgammaf.c, tgammal.c (small):
6355 Rename to Small (case difference).
6357 2003-06-18 Earnie Boyd <earnie@users.sf.net>
6359 * include/dirent.h (dirent): Make d_name and array instead of a pointer.
6360 * mingwex/dirent.c: Modifications througout to fill d_name array.
6361 * Makefile.in (LIBS): Add new MSVCRT libraries libmsvcr70 and
6362 libmsvcr71, including debug versions.
6363 (msvcr70.def, msvcr70d.def, msvcr71.def, msvcr71.def): New targets.
6365 2003-06-17 Danny Smith <dannysmith@users.sourceforge.net>
6367 * msvcrt.def.in (__badioinfo, __lc_codepage, __lc_handle,
6368 __pioinfo, __setlc_active, _unguarded_readlc_active, _dstbias):
6370 Thanks to: Aaron W LaFramboise <AWLaFramboise@aol.com>
6372 2003-05-30 Sascha Sommer <saschasommer@freenet.de>
6374 * include/sys/types.h (_ssize_t, ssize_t): Add typedefs.
6376 2003-05-15 Danny Smith <dannysmith@users.sourceforge.net>
6378 * include/stdlib.h (_Exit): Move out of __STRICT_ANSI__ block,
6379 but still protect inline definition with __STRICT_ANSI__.
6381 2003-05-14 Danny Smith <dannysmith@users.sourceforge.net>
6383 * string_old.c: Remove, splitting into...
6384 * strcasecmp.c: New file.
6385 * strncasecmp.c: New file.
6386 * wscmpi.c : New file.
6387 * ctype_old.c: Remove, splitting into...
6388 * isascii.c: New file.
6389 * iscsym.c: New file.
6390 * iscsymf.c: New file.
6391 * toascii.c: New file.
6392 * Makefile.in (MOLD_OBJS): Adjust.
6393 (SRCDIST_FILES): Adjust.
6395 2003-05-13 Danny Smith <dannysmith@users.sourceforge.net>
6397 * include/math.h (fabs) : Remove inline definition.
6401 2003-05-06 Earnie Boyd <earnie@users.sf.net>
6403 * include/_mingw.h: Change version to 3.0
6404 * Makefile.in: Ditto.
6406 2003-05-06 Earnie Boyd <earnie@users.sf.net>
6408 * configure.in (W32API_INCLUDE): Need the -I switch in the value.
6409 * mingwex/configure.in (W32API_INCLUDE): Ditto.
6410 * profile/configure.in (W32API_INCLUDE): Ditto.
6412 2003-05-06 Earnie Boyd <earnie@users.sf.net>
6414 * configure.in (CFLAGS): Remove -D__USE_CRTIMP=1 due to possibilites
6415 of multiply defined symbols if the symbols is defined locally. E.G.:
6416 A local definition of malloc causes this problem.
6417 * configure: Regenerate.
6418 * profile/Makefile.in (W32API_INCLUDE): New variable.
6419 (ALL_CFLAGS): Use W32API_INCLUDE value.
6420 (ALL_CXXFLAGS): Ditto.
6421 (gcrt0.o gcrt1.o gcrt2.o): Use ALL_CFLAGS instead of CFLAGS.
6422 Thanks to Jeff Bonggren <jbon@users.sf.net>.
6423 * profile/configure.in (W32API_INCLUDE): Set default value.
6424 * profile/configure: Regenerate.
6425 * mingwex/Makefile.in (W32API_INCLUDE): New variable.
6426 (ALL_CFLAGS): Use W32API-INCLUDE value.
6427 (ALL_CXXFLAGS): Ditto.
6428 * mingwex/configure.in (W32API_INCLUDE): Set default value.
6429 * mingwex/configure: Regenerate.
6431 2003-05-05 Earnie Boyd <earnie@users.sf.net>
6433 * Makefile.in (W32API_INCLUDE): New variable.
6434 (ALL_CFLAGS): Use W32API_INCLUDE value.
6435 (ALL_CXXFLAGS): Ditto.
6436 * configure.in (CFLAGS): Add -D__USE_CRTIMP=1 to default values.
6437 (W32API_INCLUDE): Set default value.
6438 * configure: Regenerate.
6440 2003-04-11 Earnie Boyd <earnie@users.sf.net>
6442 * configure.in (LIBM_A): Define for cygwin target.
6443 * configure (LIBM_A): Ditto.
6445 2003-04-07 Danny Smith <dannysmith@users.sourceforge.net>
6447 * include/time.h (strftime): Remove duplicate declaration.
6449 2003-04-01 Danny Smith <dannysmith@users.sourceforge.net>
6451 * include/_mingw.h (_CRTIMP): Make conditional on __USE_CRTIMP.
6453 2003-03-16 Danny Smith <dannysmith@users.sourceforge.net>
6455 * mingwex/dirent.c (_topendir): Eliminate signed/unsigned warning.
6456 * mingwex/strtoimax.c (strtoimax): Likewise.
6457 * mingwex/wcstoimax.c (wcstoimax): Likewise.
6458 * mingwex/wtoll.c (wtoll): Remove unnecessary ';'
6459 * mingwex/fesentenv.c: Include float.h.
6460 * mingwex/math/powl.c: Eliminate type punning/strict aliasing
6462 * mingwex/math/tanhl.c: Eliminate signed/unsigned warning in
6464 * mingwex/math/tgammal.c: Likewise.
6466 2003-03-16 Danny Smith <dannysmith@users.sourceforge.net>
6468 * include/utime.h: New file, forwarding to sys/utime.h.
6470 2003-03-16 Danny Smith <dannysmith@users.sourceforge.net>
6472 * include/sys/param.h (MAXPATHLEN): Define.
6474 2003-03-16 Danny Smith <dannysmith@users.sourceforge.net>
6476 * include/tchar.h: Ansi-fy a comment.
6478 2003-03-16 Danny Smith <dannysmith@users.sourceforge.net>
6480 * profile/profile.h (mcount): Use __builtin_return_address
6481 rather than inline __asm statements.
6482 * profile/Makefile.in: Remove special rule for mcount.o
6483 Specify dependencies for mcount.o profil.o gmon.o.
6485 2003-03-10 Danny Smith <dannysmith@users.sourceforge.net>
6487 * include/stdlib.h (qsort): Remove const from first parm.
6488 Thanks to: Tien-Ren Chen <trchen@sourceforge.users.net>
6490 2003-03-03 Christopher Faylor <cgf@redhat.com>
6492 * mingwex/getopt.c: Refresh from NetBSD sources.
6494 2003-03-03 Danny Smith <dannysmith@users.sourceforge.net>
6496 * mingwex/getopt.c: New file, copied from cygwin srcs.
6497 * include/getopt.h: New file, copied from cygwin srcs.
6498 * include/unistd.h: Include getopt.h.
6499 * mingwex/Makefile.in (DISTFILES): Add getopt.c.
6500 (POSIX_OBJS): Add getopt.o.
6502 2003-03-02 Danny Smith <dannysmith@users.sourceforge.net>
6504 * include/stdio.h (vscanf): Add prototype.
6510 * include/wchar.h (vwscanf): Add prototype.
6513 * mingwex/snprintf.c: Move to mingwex/stdio.
6514 * mingwex/vsnprintf.c: Ditto.
6515 * mingwex/snwprintf.c: Ditto.
6516 * mingwex/vsnwprintf.c: Ditto.
6517 * mingwex/Makefile.in (VPATH): Add $(srcdir)/stdio
6518 (STDIO_DISTFILES): Add.
6519 (DISTFILES): Adjust.
6520 (STDIO_STUB_OBJS): Rename to STDIO_OBJS and add v*scanf objects.
6524 2003-03-02 Aaron W LaFramboise <AWLaFramboise@aol.com>
6526 * mingwex/stdio: New directory
6527 * mingwex/stdio/vfscanf.c: New file.
6528 * mingwex/stdio/vfwscanf.c: New file.
6529 * mingwex/stdio/vscanf.c: New file.
6530 * mingwex/stdio/vsscanf.c: New file.
6531 * mingwex/stdio/vswscanf.c: New file.
6532 * mingwex/stdio/vwscanf.c: New file.
6534 2003-02-25 Earnie Boyd <earnie@users.sf.net>
6536 * Makefile.in (libmsvcrt20.a): Remove target and dependencies.
6537 (libmsvcrt40.a): Ditto.
6539 2003-02-21 Earnie Boyd <earnie@users.sf.net>
6541 Thanks to David Frasier <davidf@sjsoft.com> who inspired portions of
6543 * Makefile.in (libmsvcrtd.a): Add target library.
6544 (libmoldnamed.a): Ditto.
6545 (msvcrt.def, msvcrtd.def, msvcrt20.def, msvcrt40.def): Use msvcrt.def.in
6547 ($(srcdir)): Remove explicit reference for depencies of object targets.
6548 * moldname.def, moldname-msvcrt.def, moldname-crtdll.def, msvcrt.def,
6549 msvcrt20.def, msvcrt40.def: Remove.
6550 * msvcrt.def.in: New file (Copy of previous msvcrt.def).
6552 2003-02-20 Corinna Vinschen <corinna@vinschen.de>
6554 * Makefile.in: Make sure libmingwex.a from current build tree is used.
6556 2003-02-14 Christopher Faylor <cgf@redhat.com>
6558 * profile/Makefile.in (mcount.o): Use ALL_CFLAGS for compilation to
6559 ensure -mno-cygwin where appropriate. Filter out -O2.
6561 2003-02-13 Danny Smith <dannysmith@users.sourceforge.net>
6563 * profile/Makefile.in (mcount.o): Use -O1 optimization
6566 2003-02-10 Danny Smith <dannysmith@users.sourceforge.net>
6568 * include/math.h: Remove _CRTIMP from pow() prototype,
6569 unless __NO_ISOCEXT.
6571 2003-02-10 Danny Smith <dannysmith@users.sourceforge.net>
6573 * mingwex/math/cephes_emath.h: Don't redefine INFINITY.
6575 2003-02-10 Danny Smith <dannysmith@users.sourceforge.net>
6577 * include/_mingw.h (_CRTIMP): Define for __GNUC__ if
6578 __declspec(dllimport) supported.
6579 (__cdecl): Define if not already defined.
6580 (__stdcall): Likewise.
6581 * include/dirent.h: Qualify fuctions with __cdecl.
6582 * include/fenv.h: Likewise.
6583 * include/inttypes.h: Likewise.
6584 * include/assert.h: Qualify fuctions with __cdecl. Qualify
6585 CRT dll imports with _CRTIMP.
6586 * include/conio.h: Likewise.
6587 * include/ctype.h: Likewise.
6588 * include/direct.h: Likewise.
6589 * include/dos.h: Likewise.
6590 * include/errno.h: Likewise.
6591 * include/float.h: Likewise.
6592 * include/io.h: Likewise.
6593 * include/locale.h: Likewise.
6594 * include/malloc.h: Likewise.
6595 * include/math.h: Likewise.
6596 * include/mbctype.h: Likewise.
6597 * include/mbstring.h: Likewise.
6598 * include/process.h: Likewise.
6599 * include/setjmp.h: Likewise.
6600 * include/signal.h: Likewise.
6601 * include/stdio.h: Likewise.
6602 * include/stdlib.h: Likewise.
6603 * include/string.h: Likewise.
6604 * include/time.h: Likewise.
6605 * include/wchar.h: Likewise.
6606 * include/wctype.h: Likewise.
6607 * include/sys/stat.h: Likewise.
6608 * include/sys/timeb.h: Likewise.
6609 * include/sys/utime.h: Likewise.
6611 * include/ctype.h: Guard ctype inlines with __NO_INLINE__.
6612 * include/wctype.h: Guard wctype inlines with __NO_INLINE__.
6614 * include/stdio.h (__VALIST): Guard against prior definition.
6616 2003-02-08 Earnie Boyd <earnie@users.sf.net>
6618 * include/_mingw.h: Change version to 3.0
6619 * Makefile.in: Ditto.
6621 2003-02-08 Earnie Boyd <earnie@users.sf.net>
6623 * include/stdlib.h: Make words after #endif a comment.
6625 2003-02-07 Danny Smith <dannysmith@users.sourceforge.net>
6627 * include/locale.h: Include stddef.h for definition of NULL.
6629 2003-01-26 Danny Smith <dannysmith@users.sourceforge.net>
6631 * include/math.h (tgamma): Correct typo in comment.
6633 2003-01-26 Danny Smith <dannysmith@users.sourceforge.net>
6635 * mingwex/mingw-fseek.c (INLINE): Remove define.
6636 (__mingw_is_win9x): Remove static inline function.
6637 (_mingw_fwrite): Use _osver instead of __mingw_is_win9x.
6639 2003-01-11 Danny Smith <dannysmith@users.sourceforge.net>
6641 * mingwex/math/llround.c: Correct function name and
6642 change return value to long long.
6644 2003-01-07 Danny Smith <dannysmith@users.sourceforge.net>
6646 * include/ctype.h (__isascii): Don't cast arg to unsigned.
6647 (iswascii): Likewise. Correct mask.
6648 * include/wctype.h (iswascii): Don't cast arg to unsigned.
6651 2003-01-03 Danny Smith <dannysmith@users.sourceforge.net>
6653 * include/stdlib.h (_osver, _winver, _winmajor,
6654 _winminor): Declare as direct imports from dll if
6655 __DECLSPEC_SUPPORTED.
6657 2003-01-01 Danny Smith <dannysmith@users.sourceforge.net>
6659 * pseudo-reloc.c (do_pseudo_reloc): Make static.
6660 * pseudo-reloc-list.c: New file.
6661 * crt1.c (_pei386_runtime_relocator): Declare.
6662 (__mingw_CRTStartup): Call it.
6663 * dllcrt1.c (_pei386_runtime_relocator): Declare.
6664 (DllMainCRTStartup): Call it.
6665 * Makefile.in: Add pseudo-reloc.o pseude-reloc-list.o to
6668 2003-01-01 Egor Duda <deo@logos-m.ru>
6670 * pseudo-reloc.c: New file.
6672 2002-12-20 Earnie Boyd <earnie@users.sf.net>
6674 * include/_mingw.h: Increment version to 2.4.
6677 2002-12-12 Earnie Boyd <earnie@users.sf.net>
6679 * include/malloc.h (_alloca): Add definition.
6682 2002-12-08 Danny Smith <dannysmith@users.sourceforge.net>
6684 * mingwex/math/s_erf.c: New file.
6685 * mingwex/math/sf_erf.c: New file.
6686 * mingwex/Makefile.in (MATH_DISTFILES): Add new files.
6687 (MATH_OBJS): Add new objects.
6688 * include/math.h (erf[f]): Add prototypes.
6689 (erfc[f]): Add prototypes.
6691 2002-12-07 Danny Smith <dannysmith@users.sourceforge.net>
6693 * include/math.h: Add traditional/XOPEN math constants.
6695 2002-11-27 Danny Smith <dannysmith@users.sourceforge.net>
6697 * mingwex/math/lgamma.c: New file.
6698 * mingwex/math/lgammaf.c: New file.
6699 * mingwex/math/lgammal.c: New file.
6700 * mingwex/math/tgamma.c: New file.
6701 * mingwex/math/tgammaf.c: New file.
6702 * mingwex/math/tgammal.c: New file.
6703 * mingwex/math/cephes_mconf (polevlf): Add float version.
6705 Define _CEPHES_USE_ERRNO.
6706 * mingwex/Makefile.in (MATH_DISTFILES): Add new files.
6707 (MATH_OBJS): Add new objects.
6708 * include/math.h (lgamma[fl]): Add prototypes.
6709 (tgamma[fl]): Add prototypes.
6711 2002-11-26 Danny Smith <dannysmith@users.sourceforge.net>
6713 * mingwex/strtold.c: New file.
6714 * mingwex/wcstold.c: New file.
6715 * mingwex/ldtoa.c: New file.
6716 * mingwex/math/cephes_emath.h: New file.
6717 * mingwex/math/cephes_emath.c: New file.
6718 * mingwex/Makefile.in (DISTFILES): Add new files.
6719 (MATH_DISTFILES): Ditto.
6720 (STDLIB_OBJS): New. Define as strtold.c wcstold.c.
6721 (MATH_OBJS): Add cephes_emath.o.
6722 (LIB_OBJS): Add $(STDLIB_OBJS).
6723 * include/stdlib.h (strtold, wcstold): Add prototypes.
6724 * include/wchar.h (wcstold): Add prototype.
6726 2002-11-09 Danny Smith <dannysmith@users.sourceforge.net>
6728 * include/math.h (sqrt): Remove inline definition.
6729 (sqrtf): Replace inline definition with prototype.
6731 * mingwex/math/sqrtf.c (sqrtf): Set domain error if
6732 argument less than zero.
6733 * mingwex/math/sqrtf.c (sqrtl): Likewise.
6735 2002-10-30 Guido Serassio <serassio@libero.it>
6737 * include/stdio.h (_getmaxstdio): Add prototype.
6738 (_setmaxstdio): Likewise.
6740 2002-10-19 Kang Li <rubylith@users.sourceforge.net>
6742 * include/fcntl.h (O_SEQUENTIAL): Correct typo.
6744 2002-10-19 Danny Smith <dannysmith@users.sourceforge.net>
6746 * crt1.c: Define new macro __IN_MINGW_RUNTIME before including
6748 Define WIN32_MEAN_AND_LEAN before including windows.h
6749 * include/stdlib.h (_fmode): Protect declaration as dllimported
6750 variable with __IN_MINGW_RUNTIME.
6752 2002-10-19 Igor Pechtchanski <pechtcha@cs.nyu.edu>
6754 * crt1.c: Include stdlib.h.
6756 2002-10-19 Danny Smith <dannysmith@users.sourceforge.net>
6758 * Makefile.in (CRT0S): Add txtmode.o binmode.o.
6759 (MINGW_OBJS): Add txtmode.o.
6760 (SRCDIST_FILES): Add txtmode.c binmode.c.
6761 crt1.c: Don't include fcntrl.h, stdlib.h.
6762 (_fmode): Declare, without dllimport attribute.
6763 (__p__fmode): Declare access function for dll's _fmode.
6764 (_mingw32_init_fmode): Sync dll _fmode with staticly linked
6766 * txtmode.c: New file.
6767 * binmode.c: New file.
6768 * samples/fmode/test2.c: New file.
6769 * samples/fmode/jamfile: Add test2.exe target.
6771 2002-10-11 Danny Smith <dannysmith@users.sourceforge.net>
6773 * include/stdint.h (INT64_C, UINT64_C ): Append suffix to let
6774 macros work with C89.
6775 (INTMAX_C, UINTMAX_C): Likewise.
6777 2002-10-11 Danny Smith <dannysmith@users.sourceforge.net>
6779 * include/string.h (strcasecmp): Make extern __inline__.
6780 (strncasecmp): Likewise.
6781 (wcscmpi): Likewise.
6783 2002-10-08 Heiko Gerdau <hg@technosis.de>
6785 * include/tchar.h (_tchdir. _tgetcwd, _tgetdcwd.
6786 _tmkdir, _trmdir, _tstat): Add ASCII and UNICODE
6789 2002-10-07 Danny Smith <dannysmith@users.sourceforge.net>
6791 * mingwex/math/powil.c: Rename powil to __powil.
6792 * mingwex/math/powl.c: Adjust declaration and call
6793 to __powil. Remove comment on powil.
6794 * mingwex/math/powi.c: New file.
6795 * mingwex/math/powif.c: New file.
6796 * mingwex/math/pow.c: New file.
6797 * mingwex/math/cephes_mconf.h. Add double and float
6798 versions of constants.
6799 (polevl): Add double precision function.
6801 * mingwex/Makefile.in (MATH_DISTFILES): Add pow.c,
6803 (MATH_OBJS): Add pow.o, powi.o, powif.o.
6805 2002-10-03 Danny Smith <dannysmith@users.sourceforge.net>
6807 * include/cytpe.h (_imp____mbcur_max): Add missing ';'.
6808 (_imp____mbcur_max_dll): Likewise.
6810 2002-10-03 Danny Smith <dannysmith@users.sourceforge.net>
6812 * include/fcntl.h (_fmode): Remove declarations and
6813 compatibility defines.
6814 (_setmode, setmode): Remove prototypes.
6815 * include/stdlib (_fmode): Add declarations and
6816 compatibility defines. Change type to int.
6817 * include/io.h (_setmode, setmode): Add prototypes.
6818 * samples/fmode/all.c: Adjust includes.
6819 * samples/fmode/test.c: Likewise.
6820 * crt1.c (_CRT_fmode): Declare as int.
6821 * CRTfmode.c (_CRT_fmode): Likewise.
6823 * include/stdlib: Remove comment about MB_CUR_MAX.
6825 2002-10-02 Danny Smith <dannysmith@users.sourceforge.net>
6827 * include/stdlib.h (_imp____mbcur_max): Add missing ';'.
6828 (_imp____mbcur_max_dll): Likewise.
6830 2002-09-18 Danny Smith <dannysmith@users.sourceforge.net>
6832 * mingwex/math/files.txt: Remove inadvertantly added file.
6834 2002-09-18 Danny Smith <dannysmith@users.sourceforge.net>
6836 * include/string.h (_strerror): Move into #ifndef
6837 __STRICT_ANSI__ block.
6839 2002-09-17 Danny Smith <dannysmith@users.sourceforge.net>
6841 * include/time.h (__need_NULL): Define before including
6842 stddef.h. Thanks to: Rüdiger Dehmel <de@lmnet.de>.
6844 2002-09-16 Ranjit Matthew <rmathew@hotmail.com>
6846 * include/stdio.h: Correct comment about directory separator.
6848 2002-09-12 Danny Smith <dannysmith@users.sourceforge.net>
6850 * include/sys/time.h (timeval): Add struct definition and
6851 associated macros (copied from w32api/include/winsock.h).
6853 2002-09-05 Earnie Boyd <earnie@users.sf.net>
6855 * include/_mingw.h: Increment version to 2.3.
6858 2002-09-05 Earnie Boyd <earnie@users.sf.net>
6860 * mingwex/fegetenv.c: Change to \n line endings.
6861 * mingwex/vsnprintf.c: Ditto.
6862 * mingwex/vsnwprintf.c: Ditto.
6864 2002-09-02 Danny Smith <dannysmith@users.sourceforge.net>
6866 * mingwex/math/hypotl.c: Replace with version based on cephes
6869 2002-08-28 Danny Smith <dannysmith@users.sourceforge.net>
6871 * include/sys/param.h: Add ENDIAN defines.
6872 * test_headers.c: Include sys/param.h.
6874 2002-08-28 Danny Smith <dannysmith@users.sourceforge.net>
6876 * test_headers.c: Don't include varargs.h.
6877 * Makefile.in (test_headers): Don't use -std=xx
6880 2002-08-21 Earnie Boyd <earnie@users.sf.net>
6882 * include/sys/param.h: New File.
6884 2002-08-21 Danny Smith <dannysmith@users.sourceforge.net>
6886 * include/math.h (asm): Change to __asm__ throughout.
6887 Expose ISO C99 functions if __GLIPCPP__.
6888 (hypotf): Use hypot, not _hypot in stub.
6890 2002-08-20 Danny Smith <dannysmith@users.sourceforge.net>
6892 * include/tchar.h: Ansi-fy another comment.
6894 2002-08-20 Danny Smith <dannysmith@users.sourceforge.net>
6896 * include/tchar.h: Ansi-fy comment.
6898 2002-08-20 Danny Smith <dannysmith@users.sourceforge.net>
6900 * test_headers.c : New file.
6901 * Makefile.in (test_headers): New target, using it,
6902 (SRCDIST_FILES): Distribute it.
6904 2002-08-20 Earnie Boyd <earnie@users.sf.net>
6906 * include/_mingw.h: Increment version to 2.2.
6909 2002-08-14 Earnie Boyd <earnie@users.sf.net>
6911 * include/unistd.h: Add include of process.h.
6913 2002-08-03 Danny Smith <dannysmith@users.sourceforge.net>
6915 * include/stdio.h (_fcloseall): Add prototype.
6917 2002-07-29 Danny Smith <dannysmith@users.sourceforge.net>
6919 * include/tchar.h (_tfdopen): Correct typo.
6921 2002-07-29 Danny Smith <dannysmith@users.sourceforge.net>
6923 * moldname.def.in (chgsign,scalb,finite,fpclass,logb,
6924 nextafter): Add non-underscored stubs.
6925 * moldname-msvcrt.def: Regenerate.
6926 * moldname-crtdll.def: Regenerate.
6927 * mingwex/math: New directory.
6928 * mingwex/rint.c: Move to mingwex/math.
6929 * mingwex/rintf.c: Ditto.
6930 * mingwex/rintl.c: Ditto.
6931 * mingwex/round.c: Ditto.
6932 * mingwex/roundf.c: Ditto.
6933 * mingwex/roundl.c: Ditto.
6934 * mingwex/rint.c: Ditto.
6935 * mingwex/rintf.c: Ditto.
6936 * mingwex/rintl.c: Ditto.
6937 * mingwex/trunc.c: Ditto.
6938 * mingwex/truncf.c: Ditto.
6939 * mingwex/truncl.c: Ditto.
6940 * mingwex/signbit.c: Ditto.
6941 * mingwex/signbitf.c: Ditto.
6942 * mingwex/signbitl.c: Ditto.
6943 * mingwex/copysignl.S: Ditto.
6944 * mingwex/fdim.c: Ditto.
6945 * mingwex/fdimf.c: Ditto.
6946 * mingwex/fdiml.c: Ditto.
6947 * mingwex/fmin.c: Ditto.
6948 * mingwex/fminf.c: Ditto.
6949 * mingwex/fminl.c: Ditto.
6950 * mingwex/fmax.c: Ditto.
6951 * mingwex/fmaxf.c: Ditto.
6952 * mingwex/fmaxl.c: Ditto.
6953 * mingwex/fma.c: Ditto.
6954 * mingwex/fmaf.c: Ditto.
6955 * mingwex/fmal.c: Ditto.
6956 * mingwex/fpclassify.c: Ditto.
6957 * mingwex/fpclassifyl.c: Ditto.
6958 * mingwex/fpclassifyl.c: Ditto.
6959 * mingwex/isnan.c: Ditto.
6960 * mingwex/isnanf.c: Ditto.
6961 * mingwex/isnanl.c: Ditto.
6962 * mingwex/fucom.c: Ditto.
6963 * mingwex/fp_consts.c: Ditto. Split out float and long double
6965 * mingwex/math_stubs.c: Remove.
6966 * mingwex/log2.c: Remove. Replaced by math/log2.S
6967 * mingwex/log2f.c: Remove. Replaced by math/log2f.S
6968 * mingwex/log2l.c: Remove. Replaced by math/log2l.S
6969 * mingwex/math/acosf.c : New file.
6970 * mingwex/math/acosl.c: New file.
6971 * mingwex/math/asinf.c: New file.
6972 * mingwex/math/asinl.c: New file.
6973 * mingwex/math/atan2f.c: New file.
6974 * mingwex/math/atan2l.c: New file.
6975 * mingwex/math/atanf.c: New file.
6976 * mingwex/math/atanl.c: New file.
6977 * mingwex/math/cbrt.c: New file.
6978 * mingwex/math/cbrtf.c: New file.
6979 * mingwex/math/cbrtl.c: New file.
6980 * mingwex/math/ceilf.S: New file.
6981 * mingwex/math/ceill.S: New file.
6982 * mingwex/math/cephes_ld.h: New file.
6983 * mingwex/math/copysign.S: New file.
6984 * mingwex/math/copysignf.S: New file.
6985 * mingwex/math/cosf.S: New file.
6986 * mingwex/math/coshf.c: New file.
6987 * mingwex/math/coshl.c: New file.
6988 * mingwex/math/cosl.S: New file.
6989 * mingwex/math/exp2.S: New file.
6990 * mingwex/math/exp2f.S: New file.
6991 * mingwex/math/exp2l.S: New file.
6992 * mingwex/math/expf.c: New file.
6993 * mingwex/math/expl.c: New file.
6994 * mingwex/math/fabs.c: New file.
6995 * mingwex/math/fabsf.c: New file.
6996 * mingwex/math/fabsl.c: New file.
6997 * mingwex/math/floorf.S: New file.
6998 * mingwex/math/floorl.S: New file.
6999 * mingwex/math/fmodf.c: New file.
7000 * mingwex/math/fmodl.c: New file.
7001 * mingwex/math/fp_consts.h: Ditto.
7002 * mingwex/math/fp_constsf.c: Ditto.
7003 * mingwex/math/fp_constsl.c: Ditto.
7004 * mingwex/math/frexpf.c: New file.
7005 * mingwex/math/frexpl.S: New file.
7006 * mingwex/math/hypotf.c: New file.
7007 * mingwex/math/hypotl.c: New file.
7008 * mingwex/math/ilogb.S: New file.
7009 * mingwex/math/ilogbf.S: New file.
7010 * mingwex/math/ilogbl.S: New file.
7011 * mingwex/math/ldexpf.c: New file.
7012 * mingwex/math/ldexpl.c: New file.
7013 * mingwex/math/llrint.c: New file.
7014 * mingwex/math/llrintf.c: New file.
7015 * mingwex/math/llrintl.c: New file.
7016 * mingwex/math/llround.c: New file.
7017 * mingwex/math/llroundf.c: New file.
7018 * mingwex/math/llroundl.c: New file.
7019 * mingwex/math/log10f.S: New file.
7020 * mingwex/math/log10l.S: New file.
7021 * mingwex/math/log1p.S: New file.
7022 * mingwex/math/log1pf.S: New file.
7023 * mingwex/math/log1pl.S: New file.
7024 * mingwex/math/log2.S: New file.
7025 * mingwex/math/log2f.S: New file.
7026 * mingwex/math/log2l.S: New file.
7027 * mingwex/math/logb.c: New file.
7028 * mingwex/math/logbf.c: New file.
7029 * mingwex/math/logbl.c: New file.
7030 * mingwex/math/logf.S: New file.
7031 * mingwex/math/logl.S: New file.
7032 * mingwex/math/lrint.c: New file.
7033 * mingwex/math/lrintf.c: New file.
7034 * mingwex/math/lrintl.c: New file.
7035 * mingwex/math/lround.c: New file.
7036 * mingwex/math/lroundf.c: New file.
7037 * mingwex/math/lroundl.c: New file.
7038 * mingwex/math/modff.c: New file.
7039 * mingwex/math/modfl.c: New file.
7040 * mingwex/math/nearbyint.S: New file.
7041 * mingwex/math/nearbyintf.S: New file.
7042 * mingwex/math/nearbyintl.S: New file.
7043 * mingwex/math/nextafterf.c: New file.
7044 * mingwex/math/powf.c: New file.
7045 * mingwex/math/powl.c: New file.
7046 * mingwex/math/powil.c: New file.
7047 * mingwex/math/remainder.S: New file.
7048 * mingwex/math/remainderf.S: New file.
7049 * mingwex/math/remainderl.S: New file.
7050 * mingwex/math/remquo.S: New file.
7051 * mingwex/math/remquof.S: New file.
7052 * mingwex/math/remquol.S: New file.
7053 * mingwex/math/scalbn.S: New file.
7054 * mingwex/math/scalbnf.S: New file.
7055 * mingwex/math/scalbnl.S: New file.
7056 * mingwex/math/sinf.S: New file.
7057 * mingwex/math/sinhf.c: New file.
7058 * mingwex/math/sinhl.c: New file.
7059 * mingwex/math/sinl.S: New file.
7060 * mingwex/math/sqrt.c: New file.
7061 * mingwex/math/sqrtf.c: New file.
7062 * mingwex/math/sqrtl.c: New file.
7063 * mingwex/math/tanf.S: New file.
7064 * mingwex/math/tanhf.c: New file.
7065 * mingwex/math/tanhl.c: New file.
7066 * mingwex/math/tanl.S: New file.
7067 * mingwex/Makefile.in: Adjust VPATH for source files in
7070 Add MATH_DISTFILES and use it to build source distro.
7071 * include/math.h: Add protypes for new functions and
7072 reorganise to reflect ANSI,C99 status.
7074 2002-06-19 Danny Smith <dannysmith@users.sourceforge.net>
7076 * include/tchar.h (_getts): Define as _getws for _UNICODE.
7077 (_putts): Define as _putws for _UNICODE.
7078 Thanks to: Tomasz Pona <cochisek@poczta.onet.pl> for report.
7080 2002-06-18 Danny Smith <dannysmith@users.sourceforge.net>
7082 * include/float.h: #include_next<float.h> before header guard.
7084 2002-06-18 Casper S. Hornstrup <chorns@users.sourceforge.net>
7086 * include/_mingw.h (__MINGW_IMPORT): Check for prior definition before
7088 * include/excpt.h (): Include windef.h not windows.h.
7089 * include/fcntl.h (_O_SHORT_LIVED): Add define.
7090 (_chmod): Add prototype.
7091 (_creat): Correct prototype.
7092 (SH_DENY*): Rename defines to _SH_DENY*.
7093 (SH_DENY*): Add Non-ANSI names for _SH_DENY*.
7094 include/stdio.h (_IOMYBUF, _IOEOF, _IOERR, _IOSTRG,
7095 _IOAPPEND): Add defines.
7096 (_wfindfirst): Correct prototype.
7097 (_wfdopen): Add prototype.
7098 * include/stdlib.h (_rotl, _rotr, _lrotl, _lrotr): Add
7100 * include/string.h (_mbschr, _mbstok, _mbsncat): Remove
7102 (_wcsdup): Correct prototype.
7103 * include/mbstring.h: Remove comments about _mbschr, _mbstok,
7104 _mbsncat being in string.h.
7105 * include/wchar.h (_wfindfirst): Correct prototype.
7106 * include/tchar.h (_tfdopen): Add _UNICODE mappings.
7108 2002-06-15 Earnie Boyd <earnie@users.sf.net>
7110 * include/_mingw.h: Increment to version 2.1.
7111 * Makefile.in: Ditto.
7113 2002-06-15 Earnie Boyd <earnie@users.sf.net>
7115 * Makefile.in (conf_prefix): New variable.
7116 (dist_prefix): Ditto. Conditionally set to $(conf_prefix).
7117 (bindist): Use dist_prefix.
7119 2002-06-13 Danny Smith <dannysmith@users.sourceforge.net>
7121 * include/_mingw.h: Increment version to 2.0.
7122 * Makefile.in: Ditto.
7124 Merge in mingwex branch.
7126 2002-06-11 Danny Smith <dannysmith@users.sourceforge.net>
7128 * include/math.h (fdim, fdimf, fdiml): Add prototypes.
7129 * mingwex/fdim.c: New file.
7130 * mingwex/fdimf.c: New file.
7131 * mingwex/fdiml.c: New file.
7132 * mingwex/Makefile.in (DISTFILES): Add fdim.c, fdimf.c,
7134 (MATHOBJS):Add fdim.o, fdimf.o. fdiml.o.
7136 2002-05-23 Danny Smith <dannysmith@users.sourceforge.net>
7138 * mingwex/Makefile.in (DISTFILES): Add truncf.c, truncl.c.
7140 2002-05-22 Danny Smith <dannysmith@users.sourceforge.net>
7142 * mingwex/isnanl.c: New file.
7144 2002-05-21 Danny Smith <dannysmith@users.sourceforge.net>
7146 * include/stdint.h: Include <stddef.h> to get wchar_t and wint_t.
7147 (WINT_MAX): Define to ((wint_t)-1).
7149 2002-05-21 Danny Smith <dannysmith@users.sourceforge.net>
7151 * include/wctype.h: Replace 'inline' with '__inline__'.
7152 * include/inttypes.h: Likewise.
7154 2002-05-16 Danny Smith <dannysmith@users.sourceforge.net>
7156 * include/_mingw.h (__MINGW_IMPORT): Put extern at start
7157 to avoid warnings. Thanks to: Oscar Fuentes <ofv@wanadoo.es>.
7159 2002-05-16 Danny Smith <dannysmith@users.sourceforge.net>
7161 * mingwex/snprintf.c: Split out vsnprintf to....
7162 * mingwex/vsnprintf.c: New file.
7163 * mingwex/snwprintf.c: Split out vsnwprintf to...
7164 * mingwex/vsnwprintf.c: New file.
7165 * mingwex/Makefile.in: Adjust DISTFILES and STDIO_STUB_OBJS.
7167 2002-05-15 Pascal Obry <obry@gnat.com>
7169 * include/dirent.h (DIR): Change dd_stat type to int.
7172 2002-05-07 Danny Smith <dannysmith@users.sourceforge.net>
7174 * include/stdio.h (vsnprintf): Change inline to __inline__;
7175 (vsnwprintf): Likewise.
7176 * include/wchar.h (vsnwprintf): Likewise.
7179 (mbsinit): Likewise.
7181 2002-04-29 Danny Smith <dannysmith@users.sourceforge.net>
7183 Change FP default precison from 53 to 64-bit mantissa.
7185 * Makefile.in (CRT0S): Add CRT_fp8.o.
7186 (MINGW_OBJS): Replace CRT_fp8.o with CRT_fp10.o.
7187 * include/float.h: Replace standard float.h defines with
7188 #include_next<float.h> to use GCC's defines. Adjust comments
7191 2002-04-26 Danny Smith <dannysmith@users.sourceforge.net>
7193 * include/dos.h: Change prefix "__imp_" to "_imp__" for
7194 __GNUC__ without __DECLSPEC_SUPPORTED.
7195 * include/fnctl.h: Likewise.
7196 * include/math.h: Likewise.
7197 * include/stdio.h: Likewise.
7198 * include/stdlib.h: Likewise.
7199 * include/time.h: Likewise.
7200 * include/wctype.h: Likewise.
7201 * include/ctype.h: Likewise.
7203 2002-04-26 Danny Smith <dannysmith@users.sourceforge.net>
7205 Add atexit support for dlls.
7206 * crt1.c (atexit): Force thunk to _imp__atexit.
7207 (_onexit): Force thunk to _imp___onexit.
7208 * dllcrt1.c (DllMainCRTStartup): Initialise private atexit
7209 table on DLL_PROCESS_ATTACH, clean it up on DLL_PROCESS_DETACH.
7210 (__dll_exit): New function to run atexit-registered functions
7211 and flush output buffers on DLL_PROCESS_DETACH or failed
7213 (atexit): Force use of private atexit table via _dllonexit,
7214 (_onexit): New function. Force use of private atexit table via
7216 * msvcrt.def (atexit, _onexit): Add DATA keyword so that only
7217 _imp_<_symbol> is visible in import lib.
7218 * msvcrt20.def: Likewise.
7219 * msvcrt40.def: Likewise.
7220 * crtdll.def: Likewise.
7222 2002-04-26 Danny Smith <dannysmith@users.sourceforge.net>
7224 * include/fenv.h: Change header guard macro to _FENV_H_.
7225 (fenv_t, fexcept_t): Move into block protected by
7227 Cleanup some whitespace.
7228 * include/inttypes.h: Change header guard macro to
7231 2002-04-26 Danny Smith <dannysmith@users.sourceforge.net>
7233 * include/math.h (copysignl): Declare.
7234 * mingwex/Makefile.in (DISTFILES): Add copysignl.S.
7235 (MATHOBJS):Add copysignl.o.
7237 2002-04-24 Danny Smith <dannysmith@users.sourceforge.net>
7239 * include/math.h (__signbitl, __isnanl): Declare.
7241 2002-04-24 Danny Smith <dannysmith@users.sourceforge.net>
7243 * include/math.h (nanl, __fpcassifyl, fminl, fmaxl, rintl,
7244 roundl, truncl, fmal, log2l): Declare.
7245 Protect C99 declarations with _STDC_VERSION__ >= 199901L)
7246 || !defined __STRICT_ANSI__.
7247 * mingwex/fmax.c (fmax): Call __isnan, not _isnan.
7248 * mingwex/fmin.c (fmin): Likewise.
7249 * mingwex/fmaxf.c (fmaxf): Call __isnanf, not _isnan.
7250 * mingwex/fminf.c (fminf): Likewise.
7251 * mingwex/fmaxl.c: New file.
7252 * mingwex/fminl.c: New file.
7253 * mingwex/fpclassify.c (__fpclassifyf): Split out to ...
7254 * mingwex/fpclassifyf.c: New file.
7255 * mingwex/fpclassifyl.c: New file.
7256 * mingwex/rint.c (rintf): Split out to...
7257 * mingwex/rintf.c: New file.
7258 * mingwex/rintl.c: New file.
7259 * mingwex/round.c (roundf): Split out to...
7260 * mingwex/roundf.c: New file.
7261 * mingwex/roundl.c: New file.
7262 * mingwex/trunc.c (truncf): Split out to...
7263 * mingwex/truncf.c: New file.
7264 * mingwex/truncl.c: New file.
7265 * mingwex/signbit.c (signbitf): Split out to...
7266 * mingwex/signbitf.c: New file.
7267 * mingwex/signbitl.c: New file.
7268 * mingwex/fmal.c: New file.
7269 * mingwex/copysignl.S: New file.
7270 * mingwex/log2l.c: New file.
7271 * mingwex/fp_consts.c: Add nanl definition.
7272 Comment out unused constants.
7273 * mingwex/Makefile.in (DISTFILES): Add fmaxl.c, fminl.c,
7274 fpclassifyf.c, fpclassifyl.c, rintf.c, rintl.c, roundf.c,
7275 roundl.c, truncf.c truncl.c, signbitf.c signbitl.c,
7277 (MATHOBJS): Add fmaxl.o, fminl.o, fpclassifyf.o,
7278 fpclassifyl.o, rintf.o, rintl.o, roundf.o, roundl.o,
7279 truncf.o truncl.o, signbitf.o signbitl.o, fmal.o,
7281 * mingwex/snwprintf.c (snwprintf, vsnwprintf): Correct typo.
7283 2002-04-23 Danny Smith <dannysmith@users.sourceforge.net>
7285 Make wide char versions of opendir and friends.
7287 * include/dirent.h (_wdirent, _WDIR): Define wide versions of
7289 (_wopendir,_wreaddir,_wclosedir,_wrewinddir,_wtelldir,
7290 _wseekdir): Add prototypes for wide versions of corresponding
7292 * include/tchar.h; Add _UNICODE mappings for dirent.h
7293 structures and functions.
7294 * mingwex/dirent.c: Make _UNICODE neutral.
7295 * mingwex/wdirent.c: New file to define _UNICODE before
7297 * mingwex/Makefile.in (DISTFILES): Add wdirent.c.
7298 (POSIX_OBJS): Add wdirent.o.
7299 (wdirent.o): Specify dependency on dirent.c as well as
7301 * samples/dirent/wtest.c: New file, wide version of test.c.
7303 2002-04-17 Danny Smith <dannysmith@users.sourceforge.net>
7305 * Makefile.in (INCLUDES): Add "-iwithprefixbefore include" to
7306 ensure gcc include dir is searched despite -nostdinc.
7307 * profile/Makefile.in (INCLUDES): Likewise.
7308 * mingwex/Makefile.in (INCLUDES): Likewise.
7309 * include/stdarg.h: Replace with stub that just guards the
7310 real gcc system header with #ifndef RC_INVOKED
7311 * include/varargs.h: Likewise.
7312 * include/stddef.h: Likewise.
7313 * include/stdio.h: Include stdarg.h after defining
7315 (__VALIST): Define as __gnuc_va_list if __GNUC__, else char*.
7316 Replace va_list with __VALIST throughout.
7318 2002-04-17 Danny Smith <dannysmith@users.sourceforge.net>
7320 * crt1.c: Revert changes of 2002-04-16. Use _fpreset again.
7321 * msvcrt.def (_fpreset): Mark as DATA so that only
7322 _imp___fpreset is exported.
7323 * msvcrt20.def (_fpreset): Likewise.
7324 * msvcrt40.def (_fpreset): Likewise.
7325 * crtdll.def (_fpreset): Likewise.
7326 * CRT_fp10.c (_fpreset): Overide library _fpreset with one
7328 (fpreset): Add alias.
7329 (__CRT_PC): Delete definition. _fpreset does it now.
7330 * CRT_fp8.c (_fpreset): Force use of library _imp___fpreset.
7331 (fpreset): Add alias.
7332 (__CRT_PC): Delete definition.
7333 * moldname.def.in: Comment out fpreset.
7334 * moldname-msvcrt.def: Regenerate.
7335 * moldname-crtdll.def: Regenerate.
7336 * include/fenv.h (FE_DFL_ENV): Define as (fenv_t*)0.
7337 * mingwex/fesetenv.c (FE_DFL_ENV): Use it to set environment
7338 with the _fpreset determined by startup CRT_fp object.
7340 2002-04-16 Danny Smith <dannysmith@users.sourceforge.net>
7342 * CRT_fp8.c: New file.
7343 * CRT_fp10.c: New file.
7344 * crt1.c (__CRT_PC) Declare.
7345 (__CRT_fesetenv): New static function, using _CRT_PC.
7346 (__mingw_CRTStartup):Use __CRT_fesetenv instead of _fpreset.
7347 (_gnu_exception_handler): Likewise.
7348 * Makefile.in (CRT0S): Add CRT_fp10.o.
7349 (MINGW_OBJS): Add CRT_fp8.o.
7350 (SRCDIST_FILES): Add CRT_fp8.c, CRT_fp10.c.
7351 Add CRT_fp8.o, CRT_fp10.o dependancies.
7352 * include/float.h (_fpreset): Expand comment.
7353 * include/fenv.h (FE_PC64_ENV): New define for Intel x87
7354 (extended precison) environmemt.
7355 (FE_PC53_ENV): New define for MSVCRT default environmemt.
7356 (FE_DFL_ENV): Define as FE_PC53_ENV.
7357 * mingwex/fesetenv.c: Use FE_PC53_ENV, FE_PC64_ENV to determine
7358 precision control for default environment.
7360 * include/math.h: Fix long comment line.
7361 * profile/configure.in (CRT0S): Set to both gcrt1.o and gcrt2.o
7363 * profile/configure: Regenerate.
7365 2002-04-12 Danny Smith <dannysmith@users.sourceforge.net>
7367 * mingwex/Makefile.in (DISTFILES): Add suffix to wcstof.c.
7369 2002-04-10 Danny Smith <dannysmith@users.sourceforge.net>
7371 * mingwex/mingw-fseek.c: New file, based on 1999-11-07 mingw-local
7372 patch to binutils, by Mumit Khan <khan@nanotech.wisc.edu>; provide...
7373 (__mingw_fseek): New function to work around Win9x f/lseek bug.
7374 (__mingw_fwrite): Likewise.
7375 (__mingw_is_win9x): New helper function.
7377 * include/stdio.h (__USE_MINGW_FSEEK): New define,guarding...
7378 (__mingw_fseek): New prototype and define to replace fseek.
7379 (__mingw_fwrite): New prototype and define to replace fwrite.
7380 * mingwex/Makefile.in: Add mingw-fseek.o to libmingwex.a.
7381 * moldname-crtdll.def: Remove CR from end of line.
7382 * moldname-msvcrt.def: Ditto.
7384 2002-04-09 Danny Smith <dannysmith@users.sourceforge.net>
7386 * profile/configure.in (CRT0S): Configure name of gcrt?.o
7387 based on target, building gcrt0.o for cygwin -mno-cygwin.
7388 * profile/configure: Regenerate.
7389 * profile/Makefile.in (CRT0S): Use name from configure.
7390 (gcrt0.o): New rule.
7391 (ALL_CRT0S): New define, used to cleanup all gcrt?.o's.
7393 2002-04-04 Danny Smith <dannysmith@users.sourceforge.net>
7395 * include/math.h (_controlfp, _control87, _clearfp, _statusfp, _fpreset,
7396 _fpecode): Remove prototypes copied from float.h.
7397 (nan, nanf): Move into block protected against RC_INVOKED
7399 * include/stdlib.h (_Exit): Change from static inline to
7401 * mingwex/_Exit.c : New file.
7402 * mingwex/Makefile.in: Add _Exit.o to libmingwex.a.
7404 2002-04-04 Danny Smith <dannysmith@users.sourceforge.net>
7406 Add libgmon.a and libmingwex.a for cygwin -mno-cygwin.
7407 * configure.in (SUBDIRS): Add profile and mingwex to cygwin target.
7408 (configdirs): Likewise.
7409 (LIBGMON_A): Define for cygwin target as well.
7410 * configure: Regenerate.
7411 * profile/configure.in (THREAD_DLL): Remove define.
7412 (LIBM_A): Remove define.
7413 (LIBGMON_A): Define for cygwin target as well.
7414 * profile/configure: Regenerate.
7415 * profile/makefile.in (install): Install to inst_libdir and
7417 * mingwex/makefile.in (CFLAGS): Move -fomit-frame-pointer to...
7418 (OPTFLAGS): New define.
7419 (ALL_CFLAGS): Add $(OPTFLAGS).
7420 (ALL_CXXFLAGS): Same.
7421 (.c.o:): Remove ALL_CXXFLAGS.
7423 2002-03-29 Danny Smith <dannysmith@users.sourceforge.net>
7425 * include/stdint.h: Add missing newline at eof.
7426 * include/stdio.h (snprintf): Add prototype.
7427 (vsnprintf): Add prototype and inline definition.
7428 (snwprintf): Add prototype.
7429 (vsnwprintf): Add prototype and inline definition.
7430 * include/wchar.h (snwprintf): Add prototype.
7431 (vsnwprintf): Add prototype and inline definition.
7432 * mingwex/Makefile.in: Add snprintf.o, snwprintf.o
7434 * mingwex/snprintf.c: New file.
7435 * mingwex/snwprintf.c: New file.
7437 2002-03-22 Danny Smith <dannysmith@users.sourceforge.net>
7439 * configure.in: Add mingwex as SUBDIRS and configdirs.
7440 * configure: Regenerate.
7441 * Makefile.in (MINGW_OBJS): Remove dirent.o.
7442 (SRC_DIST_FILES): Remove dirent.c.
7444 * include/stdlib.h (_Exit): Add static inline
7446 (struct lldiv_t): Define.
7447 (lldiv): Add prototype.
7448 (llabs): Add extern inline function.
7449 (strtoll,strtoull): Add prototypes.
7450 (wcstol, wcstoul, wcstod): Group together.
7451 (strtof, wcstof): Add extern inline definitions.
7452 (atoll,lltoa,ulltoa, wtoll, lltow ulltow): Add prototypes
7453 and extern inline definitions.
7454 * include/wchar.h (fwide, wcstoll,wcstoull, wmemchr
7455 wmemcmp, wmemcpy, wmemmove, wmemset. mbsinit): Add
7457 (wcstol, wcstoul,wcstod): Copy prototypes from stdlib.h.
7458 (wcstof): Add extern inline definition.
7459 * include/math.h (nan, nanf): Add prototypes.
7460 (NAN, INFINITE): Define constants.
7461 (fpclassify, isnan ,signbit): Add macros and supporting float
7462 and double functions.
7463 (isfinite, isinf, isnormal): Add macros.
7464 (isgreater, isless, isgreaterequal, islessequal,islessgreater):
7466 (rint, rintf, round, roundf, trunc. truncf, fmax, fmaxf,
7467 fmin, fminf, fma, fmaf, log2, log2f): Add prototypes.
7468 (copysign, logb, nextafter, scalb): Add prototypes and
7469 inline stubs for underscored versions in msvcrt.dll.
7470 * include/inttypes.h: New file.
7471 * include/fenv.h: New file
7473 Add new mingwex subdir and files.
7474 * mingwex: New directory.
7475 * mingwex/Makefile.in: New file.
7476 * mingwex/configure.in: New file.
7477 * mingwex/configure: Generate.
7478 * mingwex/dirent.c: Moved here from parent dir.
7479 * mingwex/atoll.c: New file.
7480 * mingwex/feclearexcept.c: New file.
7481 * mingwex/fegetenv.c: New file.
7482 * mingwex/fegetexceptflag.c: New file.
7483 * mingwex/fegetround.c: New file.
7484 * mingwex/feholdexcept.c: New file.
7485 * mingwex/feraiseexcept.c: New file.
7486 * mingwex/fesetenv.c: New file.
7487 * mingwex/fesetexceptflag.c: New file.
7488 * mingwex/fesetround.o: New file.
7489 * mingwex/fetestexcept.c: New file.
7490 * mingwex/feupdateenv.c: New file.
7491 * mingwex/fma.S: New file.
7492 * mingwex/fmaf.S: New file.
7493 * mingwex/fmax.c: New file.
7494 * mingwex/fmaxf.c: New file.
7495 * mingwex/fmin.c: New file.
7496 * mingwex/fminf.c: New file.
7497 * mingwex/fp_consts.c: New file.
7498 * mingwex/fpclassify.c: New file.
7499 * mingwex/fucom.c: New file.
7500 * mingwex/fwide.c: New file.
7501 * mingwex/imaxabs.c: New file.
7502 * mingwex/imaxdiv.c: New file.
7503 * mingwex/isnan.c: New file.
7504 * mingwex/isnanf.c: New file.
7505 * mingwex/lltoa.c: New file.
7506 * mingwex/lltow.c: New file.
7507 * mingwex/log2.c: New file.
7508 * mingwex/log2f.c: New file.
7509 * mingwex/math_stubs.c: New file.
7510 * mingwex/mbsinit.c: New file.
7511 * mingwex/rint.c: New file.
7512 * mingwex/round.c: New file.
7513 * mingwex/signbit.c: New file.
7514 * mingwex/sitest.c: New file.
7515 * mingwex/strtof.c: New file.
7516 * mingwex/strtoimax.c: New file.
7517 * mingwex/strtoumax.c: New file.
7518 * mingwex/testwmem.c: New file.
7519 * mingwex/trunc.c: New file.
7520 * mingwex/ulltoa.c: New file.
7521 * mingwex/ulltow.c: New file.
7522 * mingwex/wcstof.c: New file.
7523 * mingwex/wcstoimax.c: New file.
7524 * mingwex/wcstoumax.c: New file.
7525 * mingwex/wmemchr.c: New file.
7526 * mingwex/wmemcmp.c: New file.
7527 * mingwex/wmemcpy.c: New file.
7528 * mingwex/wmemmove.c: New file.
7529 * mingwex/wmemset.c: New file.
7530 * mingwex/wtoll.c: New file.
7532 2002-04-20 Danny Smith <dannysmith@users.sourceforge.net>
7534 * include/mbstring.h: New file.
7535 * include/mbctype.h: New file.
7537 2002-04-20 Danny Smith <dannysmith@users.sourceforge.net>
7539 * include/tchar.h (__TEXT): Make same as define in
7540 w32api/include/winnt.h.
7542 2002-04-20 Danny Smith <dannysmith@users.sourceforge.net>
7544 * include/tchar.h (_tputenv): Add UNICODE mappings.
7545 (_tsearchenv): Likewise.
7546 (_tmakepath): Likewise.
7547 (_tsplitpath): Likewise.
7548 (_tfullpath): Likewise.
7550 2002-04-18 Pascal Obry <obry@gnat.com>
7552 * dirent.c (opendir): Convert given pathname to
7555 2002-04-09 Earnie Boyd <earnie@users.sf.net>
7557 * include/_mingw.h: Increment version.
7558 * Makefile.in: Ditto.
7560 2002-04-09 Earnie Boyd <earnie@users.sf.net>
7562 * moldname-crtdll.def: Remove CR from end of line.
7563 * moldname-msvcrt.def: Ditto.
7564 * Makefile.in: Use bzip2 compression for Cygwin target.
7566 2002-04-04 Danny Smith <dannysmith@sourceforge.users.net>
7568 * include/math.h (DOMAIN, SING, OVERFLOW, UNDERFLOW,
7569 TLOSS, PLOSS): Move oldname defines back, following
7570 the underscored names.
7572 2002-03-29 Danny Smith <dannysmith@sourceforge.users.net>
7574 * include/stdio.h (_snwprintf): Correct spelling.
7575 (_vsnwprintf): Likewise.
7576 * include/wchar.h (_snwprintf): Correct spelling.
7577 (_vsnwprintf): Likewise.
7579 2002-03-26 Danny Smith <dannysmith@users.sourceforge.net>
7581 * moldname.def.in (__MSVCRT__): Replace with !(__CRTDLL__).
7582 (wpopen): Add if !(__CRTDLL__).
7583 * Makefile.in (moldname-msvcrt.def rule): Use -C, not -c to
7585 (moldname-crtdll.def rule): Likewise.
7586 * moldname-msvcrt.def: Regenerate.
7587 * moldname-crtdll.def: Regenerate.
7588 * include/stdio.h (wpopen):Use prototype, not a define.
7589 (_swnprintf): Add prototype.
7590 (_vswnprintf): Likewise.
7592 * include/wchar.h (_swnprintf): Add prototype.
7593 (_vswnprintf): Likewise.
7596 2002-01-28 Danny Smith <dannysmith@users.sourceforge.net>
7598 * include/malloc.h (_heapinfo): Correct structure definition.
7599 (_USEDENTRY,_FREEENTRY): Add defines.
7600 Add comment on platform support for _heap* functions.
7601 (_get_sbh_threshold): Add prototype.
7602 (_set_sbh_threshold): Likewise.
7603 (_expand): Likewise.
7605 2002-01-25 Danny Smith <dannysmith@users.sourceforge.net>
7607 * profile/profil.c: Update copyright info.
7608 * profile/profil.h: Likewise.
7609 * profile/gcrt0.c: Likewise.
7611 2002-01-25 Pascal Obry <obry@gnat.com>
7613 * profile/profil.h (PROFADDR): Cast idx to unsigned long long to
7615 * profile/gmon.c: Define bzero as memset if mingw32.
7616 (monstartup): Use it.
7618 2002-01-25 Danny Smith <dannysmith@users.sourceforge.net>
7620 * include/tchar.h (_TCHAR): Add missing ;.
7622 2002-01-25 Danny Smith <dannysmith@users.sourceforge.net>
7624 * include/tchar.h (_TCHAR): Add typedefs.
7626 2002-01-16 Danny Smith <dannysmith@users.sourceforge.net>
7628 * include/stdlib.h (_onexit_t): Add typedef.
7629 (_onexit): Add prototype.
7631 2002-01-12 Danny Smith <dannysmith@users.sourceforge.net>
7633 * msvcrt.def: Revert accidental change.
7634 * include/stdlib.h: Ditto.
7636 2001-12-07 Earnie Boyd <earnie@users.sf.net>
7638 * Makefile.in: Increment VERSION.
7639 * include/_mingw.h: Ditto.
7641 2001-12-05 Earnie Boyd <earnie@users.sf.net>
7643 * include/strings.h: New File.
7645 2001-12-02 Mumit Khan <khan@nanotech.wisc.edu>
7647 * include/math.h (_FPCLASS* ): Add defines from float.h.
7648 (IEEE recommended functions): Add declarations from float.h.
7649 * include/float.h (_FPCLASS* ): Protect against redefinition.
7651 2001-11-29 Wu Yongwei <adah@netstd.com>
7653 * include/_mingw.h,assert.h,conio.h,ctype.h,dir.h,direct.h
7654 dirent.h,dos.h,errno.h,excpt.h,fcntl.h,float.h,io.h,
7655 limits.h,locale.h,malloc.h,math.h,process.h,setjmp.h,
7656 share.h,signal.h,stdarg.h,stddef.h,stdint.h,stdio.h,
7657 stdlib.h,string.h,tchar.h,time.h,varargs.h,wchar.h,
7658 wctype.h,sys/stat.h,sys/timeb.h,sys/types.h,sys/utime.h:
7659 Correct spelling of "disclaimed" in comments.
7660 * include/excpt.h: Another spelling correction.
7662 2001-11-08 Robert Collins <rbtcollins@hotmail.com>
7664 * include/errno.h: Fix "errno is not a prototype" warning.
7666 2001-11-07 Danny Smith <dannysmith@users.sourceforge.net>
7668 * include/ctype.h (tolower, toupper,_tolower,_toupper): Comment
7669 differences between ANSI and non-ANSI versions.
7670 (_ctype[],_pctype): Declare vars.
7671 (__ISCTYPE): New helper macro using _pctype.
7672 (is* ctype functions): Use __ISCTYPE to define inline versions.
7673 (_toupper, _tolower, __isascii, __toascii, __iscsym, __iscsymf):
7675 (isw* ctype functions): Inline definitions.
7676 * include/wctype.h (_ctype[],_pctype): Declare vars.
7677 (isw* ctype functions): Inline definitions.
7680 2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
7682 * include/float.h (_clearfp, _statusfp, _fpreset, fpreset,
7683 __fpecode): Use __STDC__ prototypes.
7686 2001-11-06 Thomas Pfaff <tpfaff@gmx.net>
7688 * mthr_stub.c (__mingwthr_remove_key_dtor) New.
7689 * mthr_init.c (DllMain) Run dtors if a process terminates.
7690 * mthr.c (__mingwthr_add_key_dtor) Removed.
7691 (___mingwthr_add_key_dtor) New.
7692 (___mingwthr_remove_key_dtor) New.
7693 (__mingwthr_run_key_dtors) Complete rewrite.
7694 (__mingwthr_remove_key_dtor) New.
7696 2001-11-05 Egor Duda <deo@logos-m.ru>
7698 * Makefile.in: Delete unused executable after creating base-files.
7700 2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
7702 * include/errno.h (_errno): Use __STDC__ prototype.
7703 Thanks to: Jim Barton.
7705 2001-11-04 "stefan" <stefan@lkcc.org>
7707 * include/sys/locking.h (_LK_UNLCK, LK_UNLCK): Correct names.
7709 2001-10-30 Danny Smith <dannysmith@users.sourceforge.net>
7711 * include/io.h (_commit): Add declaration.
7712 Thanks to: "stefan" <stefan@lkcc.org>
7714 2001-10-30 Danny Smith <dannysmith@users.sourceforge.net>
7716 * include/sys/stat.h: Make S_IS* macros safer.
7718 2001-10-27 Danny Smith <dannysmith@users.sourceforge.net>
7720 * include/stdlib.h (EXIT_FAILURE): Change value to 1.
7722 2001-10-12 Danny Smith <dannysmith@users.sourceforge.net>
7724 * include/stdlib.h (__p__environ, __p__wenviron): Use
7725 __STDC__ prototypes.
7727 2001-09-19 Earnie Boyd <earnie@SF.net>
7729 * Makefile.in: Remove the /usr from the install target.
7730 (VERSION): Increment.
7731 include/_mingw.h: Ditto.
7733 2001-09-17 Earnie Boyd <earnie@SF.net>
7735 * Makefile.in: Increment version.
7736 * include/_mingw.h: Ditto.
7738 2001-09-10 Earnie Boyd <earnie@SF.net>
7740 * dossh: Remove inadvertantly imported file.
7742 2001-09-10 Danny Smith <dannysmith@users.sourceforge.net>
7744 * dirent.c (opendir): Use GetFileAttributes rather than stat
7745 to determine if input arg is dir.
7747 2001-08-29 Danny Smith <dannysmith@users.sourceforge.net>
7749 * include/stdarg.h (va_list): Typedef as __builtin_va_list if
7751 * include/varargs.h (va_list): Ditto.
7752 * include/stdio.h (va_list): Ditto.
7754 2001-08-01 Danny Smith <dannysmith@users.sourceforge.net>
7756 * include/stdlib.h (_wpgmptr): Don't declare ifndef __MSVCRT__.
7757 * include/stdio.h (_IORW): Change constant to 0x0080.
7758 (TMP_MAX): Add new define.
7760 (_wP_tmpdir): Ditto.
7761 (L_tmpnam): Change constant to 16.
7763 2001-06-28 Danny Smith <dannysmith@users.sourceforge.net>
7765 * include/malloc.h: Fix non-ANSI comment after #endif.
7767 2001-06-11 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7769 * profile/configure.in: Make msvcrt.dll version default.
7770 * profile/makefile.in: Build both gcrt1.o and gcrt2.o.
7771 * provile/configure: Regenerate.
7773 2001-06-11 Mattia Barbon <mbarbon@dsi.unive.it>
7775 * include/stdio.h (swscanf): Make first arugument const.
7776 * include/wchar.h (swscanf): Ditto.
7777 * include/tchar.h (_tfopen): New _UNICODE define.
7779 (_tsetlocale): Ditto.
7781 2001-06-04 Earnie Boyd <earnie@users.sourceforge.net>
7783 * profile/Makefile.in (mkinstalldirs): Correct relative path.
7785 2001-06-04 Earnie Boyd <earnie@users.sourceforge.net>
7787 * include/_mingw.h: Change version to 1.0.
7790 2000-02-21 Earnie Boyd <earnie@users.sourceforge.net>
7792 * include/tchar.h: (__TEXT): Remove undef.
7796 2001-02-02 Earnie Boyd <earnie@users.sourceforge.net>
7798 * include/tchar.h: (__TEXT): Add private macro.
7799 (_TEXT): Modify definition to use __TEXT.
7801 This change allows the passing of a MACRO as an argument and have that
7802 MACRO resolved first.
7803 Thanks to: Eric PAIRE <eric.paire@ri.silicomp.com>
7805 2001-01-31 Earnie Boyd <earnie@users.sourceforge.net>
7807 * Makefile.in: Increment version to 0.5
7808 * include/_mingw.h: Increment minor version
7810 2001-01-30 Earnie Boyd <earnie@users.sourceforge.net>
7812 * include/assert.h: (assert): Remove ; from end of definition
7813 Thanks to: AJ Reins <tbisp@qwest.net>
7815 2001-01-30 Earnie Boyd <earnie@users.sourceforge.net>
7817 * include/time.h (CLOCKS_PER_SEC): Type cast the constant.
7818 Thanks to: Cosmin Truta <cosmin@cs.toronto.edu>
7820 2001-01-29 Earnie Boyd <earnie@users.sourceforge.net>
7822 * include/time.h (CLOCKS_PER_SEC): Change from FP to integer constant.
7824 2001-01-28 Earnie Boyd <earnie@users.sourceforge.net>
7826 * include/wchar.h: The 2001.01.18 Change was incorrect. The functions
7827 are actually C functions. These functions are resolved via the
7828 -lmsvcp60 library and comments were placed in the header.
7830 2001-01-28 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7832 * include/stdlib.h (__p__pgmptr): add prototype.
7833 (__p__wpgmptr): likewise.
7834 (_pgmptr_dll): move declaration from dos.h.
7835 (_wpgmptr_dll): likewise.
7836 (_pgmptr): conditional define (MSVCT/CRTDLL).
7837 (_wpgmptr): likewise.
7838 * include/dos.h (_base*_dll variables): declare only for CRTDLL.
7839 (_os*_dll variables): likewise.
7840 (_pgmptr_dll): remove declaration and associated defines to stdlib.h.
7841 (_wpgmptr_dll): likewise.
7843 2001-01-22 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7845 * include/stdint.h: New file.
7847 2001-01-18 Earnie Boyd <earnie@users.sourceforge.net>
7849 * include/wchar.h: Protect prototypes only declared in the C++ STL
7850 from being declared unless __cplusplus is defined.
7852 2001-01-16 Earnie Boyd <earnie@users.sourceforge.net>
7854 * include/stdlib.h: Apply Danny Smith patch 102730
7855 2000-12-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7856 (_wgetenv) Correction to return type.
7858 2001-01-16 Earnie Boyd <earnie@users.sourceforge.net>
7860 * include/locale.h: Apply Danny Smith patch 101834
7861 2000-11-23 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7862 (LC_MIN) Add definition.
7864 (_wsetlocale) Add prototype.
7866 2000-11-29 Earnie Boyd <earnie_boyd@yahoo.com>
7868 * Makefile.in: eliminate the need for RUNTIME and CRT_ID.
7869 Always build crt1.o, dllcrt1.o, crt2.o and dllcrt2.o.
7870 Create a libcoldname.a for the oldname library for CRTDLL.
7871 Restrict libmoldname.a for the oldname library for MSVCRT.
7872 * configure.in: eliminate setting RUNTIME and CRT_ID variables.
7873 Restructure the $target_os case logic.
7874 Always name the MinGW thread dll helper mingwm.
7875 Change Cygwin's HEADER_SUBDIR value from mingw32 to mingw.
7876 * configure: regenerate.
7878 2000-11-22 Earnie Boyd <earnie_boyd@yahoo.com>
7880 * Makefile.in: Fix bindist target to distribute the correct files.
7881 Remove the use of SNAPSHOT variable and test SNAPDATE instead.
7882 Set SNAPDATE within the snapshot target on recursive call to $(MAKE).
7884 2000-11-21 Earnie Boyd <earnie_boyd@yahoo.com>
7886 * Makefile.in: Add missing line continuation `\' for $(SUBDIRS) target.
7887 Add variables and targets to control binary and source distributions.
7888 Add variables and targets to control snapshot distribution.
7889 * profile/gmon.h: Add missing #endif for #ifndef.
7890 * profile/ChangeLog: Merge entries here and remove.
7891 * profile/Makefile.in: Add variables and targets to control
7895 * config.guess: ditto.
7896 * config.sub: ditto.
7897 * mkinstalldirs: ditto.
7898 * install-sh: ditto.
7899 * configure: regenerate.
7900 * profile/configure: ditto.
7902 2000-11-20 Earnie Boyd <earnie_boyd@yahoo.com>
7904 * Merge in changes from
7905 2000-10-23 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7906 * include/direct.h: add guard around MSVCRT-only prototytpes
7907 * include/io.h: add __int64 struct definitions and function prototypes;
7908 add guard for MSVCRT-only prototypes
7909 * include/limits.h: add ISO C9x macros LLONG_MIN, LLONG_MAX, ULLONG_MAX
7910 * include/stdio.h: add wchar function prototypes (__MSVCRT__);
7911 put wchar functions together to make sync with wchar.h easier
7912 * include/stdlib.h: add wide char functions (__MSVCRT__)
7913 * include/string.h: add string collation functions ( __MSVCRT__)
7914 * include/sys/stat.h: add __int64 struct and function ( __MSVCRT__)
7915 * include/tchar.h: add macros and macro function definitions
7916 * include/wchar.h: add wide char function prototypes ( __MSVCRT__ );
7917 enclose more functions in __MSVCRT__ guard;
7918 some oldname wide char function prototypes #if (0)'d
7919 * profile/gmon.h: add guard around BSD-ish typedefs
7921 2000-11-20 Christopher Faylor <cgf@cygnus.com>
7923 * Makefile.in: Use a different variable name for subdirectory since the
7924 previous one was used by the top level make.
7926 2000-11-19 Christopher Faylor <cgf@cygnus.com>
7928 * Makefile.in: Install mingw stuff in a subdirectory if building under
7931 2000-06-17 Christopher Faylor <cgf@cygnus.com>
7933 * Makefile.in (subdirs): Eliminate for loop.
7935 2000-06-17 Christopher Faylor <cgf@cygnus.com>
7937 * Makefile.in (subdirs): Previous change did not fix problem in
7940 2000-06-17 Christopher Faylor <cgf@cygnus.com>
7942 * Makefile.in: Avoid installing dll if we're cross building and the
7943 cross-host system isn't a Windows system.
7944 * configure.in: Detect cross-hosting situation and set appropriate
7945 variables in Makefile.in.
7946 * configure: Regenerate.
7948 2000-04-19 Christopher Faylor <cgf@cygnus.com>
7950 * configure.in: Change HEADER_SUBDIR to mingw32.
7951 * configure: Regenerate.
7953 2000-04-10 Christopher Faylor <cgf@cygnus.com>
7955 * include/string.h: Use proper prototype for _strerror.
7957 2000-03-30 Mumit Khan <khan@xraylith.wisc.edu>
7959 * Makefile.in (subdirs): Workaround for broken shells.
7961 2000-02-03 Mumit Khan <khan@xraylith.wisc.edu>
7963 * Snapshot 2000-02-03.
7965 * include/{assert.h, conio.h, ctype.h, direct.h, dirent.h, fcntl.h,
7966 float.h, io.h, locale.h, malloc.h, math.h, process.h, signal.h,
7967 stdio.h, stdlib.h, string.h, time.h, wctype.h, sys/stat.h,
7968 sys/timeb.h, sys/utime.h}: Remove parameter names to avoid namespace
7971 * Makefile.in (all): Build CRT0S first.
7972 (libmingwthrd.a): Remove thread support DLL from dependency.
7974 2000-01-21 Mumit Khan <khan@xraylith.wisc.edu>
7976 * Snapshot 2000-01-21.
7978 2000-01-20 Mumit Khan <khan@xraylith.wisc.edu>
7980 Merge in changes from Cygwin:
7981 * configure.in (HEADER_SUBDIRS): New variable. Substitute.
7982 (SUBDIRS): Likewise.
7983 * Makefile.in (HEADER_SUBDIRS): New variable.
7984 (install): Use to install Mingw headers to a subdirectory if building
7986 (DLL_CC_STUFF): Add DLL entry point.
7987 * configure: Regenerate.
7989 2000-01-19 Mumit Khan <khan@xraylith.wisc.edu>
7991 * include/stdio.h (fsetpos): Fix prototype.
7992 (fpos_t): Fix for MSVCRT.
7993 * include/float.h (fpreset): Add prototype.
7994 * include/limits.h: Define UINT_MAX, USHRT_MAX and ULONG_MAX with
7996 * include/time.h: Don't define tzname as a macro for CRTDLL, and
7997 export using libmoldname.a.
7998 * crtdll.def: Add DATA tags.
7999 * msvcrt.def: Likewise.
8000 * moldname.def.in: Likewise. Add fpreset. Export tzname for
8001 both MSVCRT and CRTDLL.
8002 * moldname-crtdll.def: Regenerate.
8003 * moldname-msvcrt.def: Regenerate.
8005 1999-12-21 Mumit Khan <khan@xraylith.wisc.edu>
8007 * Snapshot 1999-12-21.
8009 * include/wctype.h: New file.
8010 * include/ctype.h (MB_CUR_MAX): Define.
8012 * include/stdlib.h (MB_CUR_MAX): Define.
8013 * include/wchar.h: Define stat, _stat structures here as well.
8014 * include/float.h: Add invalid subconditions (_SW) and floating
8015 point error (_FPE) macros.
8016 * include/time.h (_CLOCK_T): Rename macro to _CLOCK_T_DEFINED.
8017 (_TIME_T): Rename macro to _TIME_T_DEFINED.
8018 * include/sys/types.h: Likewise.
8020 1999-11-18 Mumit Khan <khan@xraylith.wisc.edu>
8022 * profile/profil.c (profile_on): Set the profiler thread priority to
8023 be time critical. Thanks to Pascal Obry <pascal_obry@csi.com>.
8024 * Snapshot 1999-11-18.
8026 1999-11-07 Mumit Khan <khan@xraylith.wisc.edu>
8028 Released 1999-11-07.
8030 * Makefile.in (CRT0S): Add crtst.o.
8031 (install): Install in subdirs as well.
8032 * dirent.h (struct _stat): Rename from struct stat.
8033 * include/tchar.h: Add some new macros. Thanks to
8034 Eric Kohl <ekohl@abo.rhein-zeitung.de>.
8035 * profile/Makefile.in (install): Fix target.
8037 1999-11-04 Mumit Khan <khan@xraylith.wisc.edu>
8039 * Makefile.in: Add support for profile directory.
8040 * configure.in: Likewise.
8041 * configure: Regenerate.
8043 * profile: Imported profiling sources from winsup-19991026 snapshot.
8044 * profile/Makefile.in: New file.
8045 * profile/configure.in: New file.
8046 * profile/configure: Generate.
8047 * profile/gcrt0.c (u_char, u_short, u_int, u_long): typedef for Mingw.
8048 * profile/gmon.h (u_char, u_short, u_int, u_long): Likewise.
8049 * profile/gmon.c (unistd.h): Include conditionally.
8050 (sys/param.h): Likewise.
8051 * profile/mcount.c (sys/param.h): Likewise.
8052 * profile/profil.c (profile_on): thread id is DWORD, not int.
8055 1999-11-03 Mumit Khan <khan@xraylith.wisc.edu>
8057 * include/stdlib.h: Add wide character version of argv/environ.
8059 * include/wchar.h: More wide character prototypes.
8060 * include/sys/stat.h: Likewise. Add struct stat as well as _stat.
8062 * dllcrt1.c (init.c): Don't include.
8063 (DllMainCRTStartup): Don't call _mingw32_init_mainargs().
8064 * Makefile.in: Remove init.c from dllcrt{1,2}.c dependency lists.
8066 1999-10-30 Mumit Khan <khan@xraylith.wisc.edu>
8068 * moldname.def: Remove file.
8069 * moldname.def.in: And add this.
8070 * moldname-msvcrt.def: Generate from moldname.def.in.
8071 * moldname-crtdll.def: Likewise.
8073 * mthr.c: New file for -mthread (thread-safe C++ EH) support.
8074 * mthr_init.c: New file for -mthread (thread-safe C++ EH) support.
8075 * mthr_stub.c: New file for -mthread (thread-safe C++ EH) support.
8077 * Makefile.in: Update.
8078 * configure.in: Likewise. Also add *cygwin* target for building
8079 under Cygwin winsup.
8080 * configure: Regenerate.
8082 1999-10-01 Mumit Khan <khan@xraylith.wisc.edu>
8084 * include/_mingw.h: Add version macros.
8085 * include/direct.h (_diskfree_t, getdiskfree, getdrives): Add.
8086 Also add wide character versions shared with wchar.h.
8087 * include/dos.h (_diskfree_t, getdiskfree, getdrives): Add.
8088 * include/io.h (sopen, _sopen): Fix prototype.
8089 Add wide character prototypes.
8090 * include/wchar.h: Likewise.
8091 * include/stdlib.h (beep, seterrormode, sleep): Remove non-
8092 underscored versions. Potential incompatibility.
8093 * include/time.h (daylight, timezone, tzname): Fix MSVCRT cases.
8094 Add wide character prototypes.
8095 * include/sys/timeb.h (struct _timeb): Don't use macro, but real
8098 1999-08-18 Mumit Khan <khan@xraylith.wisc.edu>
8100 * configure.in (RUNTIME, CRT_ID): Add to differentiate between
8101 crtdll and msvcrt runtimes. Remove DLL_ENTRY and DEF_DLL_ENTRY
8103 * configure: Rengerate.
8104 * Makefile.in (RUNTIME, CRT_ID): Use to generate the correct
8105 dll name and crt's. CRTDLL and MSVCRT are meant to created
8106 separately, so remove all the *-msvcrt* targets.
8107 (libmingwthr.a): New target. Dummy thread support archive.
8108 (LIBS): Add libmingwthr.a.
8109 (CRT0S): Use CRT_ID. Add crtmt.o.
8110 (MINGW_OBJS): Add crtst.o.
8111 * main.c (WinMain): Fix prototype.
8112 * crtmt.c: New file.
8113 * crtst.c: New file.
8115 * include/process.h (_beginthreadex): Fix prototype.
8116 * include/_mingw.h (__int64): Define for __GNUC__.
8117 * include/tchar.h (_ttol): Add macro.
8118 * include/stdlib.h (_wtoi, _wtol, _i64toa, _ui64toa, _atoi64,
8119 _i64tow, _ui64tow, _wtoi64): Add prototypes.
8121 Reported by Emanuele Aliberti <ea@iol.it>:
8122 * include/tchar.h (_ttoi): Add macro.
8124 Reported by Ulf Moeller <3umoelle@informatik.uni-hamburg.de>:
8125 * include/stdio.h (_snprintf): Add prototype.
8126 (_vsnprintf): Likewise.
8128 1999-08-07 Mumit Khan <khan@xraylith.wisc.edu>
8130 Reported by Tor Lillqvist <tml@iki.fi>:
8131 * include/stdlib.h (__p___argv): Fix return type.
8133 1999-07-30 Mumit Khan <khan@xraylith.wisc.edu>
8136 * include/errno.h (errno): It's linked in from startup, not imported.
8137 * include/stdlib.h (errno): Likewise.
8138 * include/io.h: Guard against conflicting macros and prototypes in
8140 * include/stdlib.h: Likewise.
8141 * include/string.h: Likewise.
8142 * include/time.h: Likewise.
8144 1999-07-30 Mumit Khan <khan@xraylith.wisc.edu>
8146 * include/io.h (X_OK): Fix definition. Thanks to Jan Nijtmans.
8147 * include/dos.h: Fix typo __MINGW_EXPORT->__MINGW_IMPORT.
8148 * Makefile.in (INCLUDES): Remove old windows32 include directory.
8150 * crt1.c (_gnu_exception_handler): Fix prototype.
8151 (__mingw_CRTStartup): New function based on mainCRTStartup.
8152 (mainCRTStartup): Set the app type for MSVCRT and call
8154 (WinMainCRTStartup): Likewise.
8155 * init.c (_startupinfo): Define.
8156 (_getmainargs): Add 5th parameter.
8157 (_mingw32_init_mainargs): Use.
8159 * ALL *.c files: Reformat according to GNU coding style.
8161 1999-07-16 Mumit Khan <khan@xraylith.wisc.edu>
8163 * Makefile.in (INCLUDES): Add w32api include directory.
8165 * include/_mingw.h: New file.
8166 * include/{assert.h,conio.h,ctype.h,direct.h,dirent.h,dos.h,
8167 errno.h,excpt.h,fcntl.h,float.h,io.h,limits.h,locale.h,malloc.h,
8168 math.h,process.h,setjmp.h,share.h,signal.h,stdarg.h,stdio.h,
8169 stdlib.h,string.h,tchar.h,time.h,varargs.h,sys/locking.h,
8170 sys/stat.h,sys/timeb.h,sys/types.h,sys/utime.h}: Include and
8171 use the macros __DECLSPEC_SUPPORTED and __MINGW_IMPORT.
8173 * include/stdlib.h (atexit): Fix prototype.
8175 1999-06-14 Mumit Khan <khan@xraylith.wisc.edu>
8177 * include/stdio.h (_tempnam): Fix prototype.
8178 (tempnam): Likewise.
8179 * include/stdlib.h: Replace with GCC's version, and guard
8182 From Anders Norlander <anorland@hem2.passagen.se>:
8183 * include/stdlib.h (__argc): Declare.
8186 1999-04-05 Mumit Khan <khan@xraylith.wisc.edu>
8188 * crt1.c (_gnu_exception_handler): Acknowledge Jacob Navia's
8190 * Makefile.in (_libm_dummy.o): New target.
8193 1999-03-16 Mumit Khan <khan@xraylith.wisc.edu>
8195 * Released 1999-03-16 along with egcs-1.1.2.
8197 1999-02-17 Mumit Khan <khan@xraylith.wisc.edu>
8199 * Makefile.in (LIBS): Add libm.a.
8200 (libm.a): Dummy libm.a.
8202 * Makefile.in: Update from winsup 1999-02-08 snapshot.
8203 Preserve local changes.
8204 (mkinstalldirs): In ../, not ../../.
8205 (INCLUDES): Point to local windows32api headers and use -nostdinc.
8207 (LIBS): Add libmoldname-msvc.a.
8208 (libmoldname-msvc.a): Add target.
8209 (distclean): Add target.
8211 1999-02-09 Mumit Khan <khan@xraylith.wisc.edu>
8213 * include/dir.h: Reintroduce as an obsolescent header.
8214 * crt1.c (signal.h): Include.
8215 (_gnu_exception_handler): New function to properly handle win32
8216 asynchronous signals.
8217 (mainCRTStartup): Use.
8219 1999-01-03 Mumit Khan <khan@xraylith.wisc.edu>
8221 * include/direct.h: Include io.h instead of dir.h
8222 * include/dirent.h: Likewise.
8223 * include/dos.h: Likewise.
8224 * include/stdio.h: Replace reference to dir.h with io.h.
8226 1998-12-31 Mumit Khan <khan@xraylith.wisc.edu>
8228 * 1999-01-01 release bundled with egcs-1.1.1.
8230 * include/io.h: Incorporate dir.h.
8231 * include/dir.h: Remove.
8232 * include/signal.h: Move RC_INVOKED up a bit.
8234 1998-12-29 Mumit Khan <khan@xraylith.wisc.edu>
8236 * include/signal.h (sig_atomic_t): Define.
8238 * include/malloc.h: Import defs from deprecated alloc.h.
8239 * include/alloc.h: Remove.
8241 From "Daniel J. Rodriksson" <djr@dit.upm.es>:
8242 * include/sys/types.h (_dev_t): Should be unsigned int for MSVCRT.
8243 * include/sys/stat.h (struct stat): st_uid is of type short. Use
8244 _off_t instead of long for st_size.
8246 1998-09-10 Mumit Khan <khan@xraylith.wisc.edu>
8248 * include/errno.h (sys_errlist, sys_nerr): Move from here ...
8249 * include/stdlib.h: Here.
8251 * include/netdb.h: Remove.
8252 * include/arpa/inet.h: Remove.
8253 * include/netinet/in.h: Remove.
8254 * include/sys/socket.h: Remove.
8256 1998-09-04 Mumit Khan <khan@xraylith.wisc.edu>
8260 * include/{ctype.h,dos.h,io.h,string.h,time.h,sys/types.h,
8261 sys/utime.h}: Protect stddef.h in RC_INVOKED macro.
8263 1998-09-03 Mumit Khan <khan@xraylith.wisc.edu>
8265 * setjmp.h (_JBTYPE, _JBLEN): Define correctly.
8266 (jmpbuf): typedef using above.
8267 (setjmp, longjmp): Prototype using jmpbuf.
8269 Merge with Colin Peters' 980701 snapshot. I've ignored changes to
8270 obsolescent imported names, ie., from __imp__ to _imp___.
8272 Also ignored empty include/sys/param.h and incorrect
8273 include/sys/times.h.
8275 * CRTinit.c: New file.
8276 * include/{errno.h,fcntl.h,math.h,process.h} (__MSVCRT__): Use #ifdef
8278 * include/io.h (umask): Fix prototype.
8279 * include/stdlib.h (OS constants): Replace with Colin's.
8280 * include/time.h (tzset, daylight, timezone): Replace with Colin's.
8281 * include/sys/state.h: Merge.
8283 1998-09-03 Mumit Khan <khan@xraylith.wisc.edu>
8285 * include/assert.h (assert): Lose the trailing semicolon.
8287 1998-07-30 Mumit Khan <khan@xraylith.wisc.edu>
8289 * include/math.h (matherr): Declare.
8290 * include/stdio.h (fileno, _fileno): Declare.
8291 * include/stdlib.h (environ, _environ): Fix to use runtime DLL.
8294 * include/stdio.h (fdopen, _fdopen): Add const.
8295 (getw, putw): Declare.
8296 * include/stdlib.h (MAX_{DRIVE,DIR,FNAME,EXT}): Fix.
8298 1998-06-13 Mumit Khan <khan@xraylith.wisc.edu>
8300 * include/time.h (_timezone): Undefine.
8301 * include/sys/timeb.h (struct timeb): Rename _timezone to timezone.
8303 * include/time.h (_daylight, _timezone, _tzname, _tzset): Remove
8305 * include/stdlib.h (environ): Use DLL version.
8306 * init.c (environ): Undefine it before use.
8308 1998-03-22 Mumit Khan <khan@xraylith.wisc.edu>
8310 * Update to 980309 snapshot from Colin Peters.
8312 * include/utime.h: remove
8313 * include/stdlib.h (__imp__osver_dll, __imp__winver_dll,
8314 __imp__winmajor_dll, __imp__winminor_dll): Apply Jan-Jaap's
8315 patches to define these.
8316 * include/time.h (CLK_TCK): Renamed from CLK_TICK.
8317 (_daylight, _timezone, _tzname, _tzset): Define.
8319 * include/netdb.h: Add from Colin's windows32api changes.
8320 * include/sys/socket.h: Likewise.
8321 * include/arpa/inet.h: Likewise.
8322 * include/netinet/in.h: Likewise.
8324 1998-02-04 Mumit Khan <khan@xraylith.wisc.edu>
8326 * Update to 980128 snapshot from Colin Peters.
8328 1997-12-06 Mumit Khan <khan@xraylith.wisc.edu>
8330 * configure.in (AC_INIT): Use dllmain.c instead of defunct
8332 * configure: Regenerate.
8334 1997-12-05 Mumit Khan <khan@xraylith.wisc.edu>
8336 * Update to 971205 snapshot from Colin Peters. Lots of changes.
8337 Files renamed and include hierarchy loses directories named
8340 * include/dos.h: from Jan-Jaap.
8342 1997-12-04 Mumit Khan <khan@xraylith.wisc.edu>
8344 Changes to conform to FSF tree.
8346 * crt1.c: Renamed from mcrt0.c.
8347 * dllcrt1.c: Renamed from dllcrt0.c.
8348 * Makefile.in: Update above. Also renamed libmoldnames.a to
8351 1997-12-01 Mumit Khan <khan@xraylith.wisc.edu>
8353 * crtdll.def: Export all functions but the ones with funny names.
8354 * moldnames.def: Add fdopen since fileno is already there.
8355 * include/nonansi/dos.h: New file from Jan-Jaap.
8356 * include/errno.h: Add extern decl + various additions from JJ.
8357 * include/stdio.h: Likewise.
8358 * include/stdlib.h: Likewise.
8359 * include/nonansi/io.h: Likewise.
8360 * include/nonansi/process.h: Likewise.
8361 * include/sys/types.h: Likewise.
8363 1997-11-04 Mumit Khan <khan@xraylith.wisc.edu>
8365 * include/time.h (CLK_TCK): Renamed from CLK_TICK.
8367 * include/stdlib.h (free): Fix prototype to return void, not void*.
8368 * include/nonansi/process.h: Add P_* and WAIT_* defs.
8370 * dllcrt0.c: Delete now-unneeded '.section .idata$3' asm hack.
8371 * mcrt0.c: Likewise.
8373 * Makefile.in (LIBS): Delete moldnames.dll from target libs.
8374 (libmoldnames.a): Add explicit rule to create it.
8376 1997-08-15 Rob Savoye <rob@cygnus.com>
8378 New directory for the minimalist cygwin environment.
8380 * crtglob.c: New file. Turn on file globbing support.
8381 * crt_noglob.c: New file. Turn off file globbing support.
8382 * ctype_old.c: New file. Wrappers for functions that don't
8384 * dirent.c: New file. Directory routines readdir, opendir, closedir.
8385 * dllcrt0.c: New file. Initialization code to use crtdll.dll.
8386 * dllmain.c: New file. A stub DllMain function.
8387 * hugeval.c: New file. A gross hack to define HUGE_VAL.
8388 * init.c: New file. Common code to initialize standard file
8389 handles and command line arguments.
8390 * main.c: New file. A main for programs that only call WinMain.
8391 * mcrt0.c: New file. Default crt0 for mingw32.
8392 * oldnames.c: New File. Wrappers for functions that don't
8394 * string_old.c: New File.
8395 * include/{assert.h,ctype.h,errno.h,float.h,limits.h,locale.h
8396 math.h,nonansi,setjmp.h,signal.h,stdarg.h,stddef.h,stdio.h,stdlib.h
8397 string.h,tchar.h,time.h,wchar.h}: New header files for mingw.
8398 * include/sys/types.h: New header file for mingw.
8399 * include/nonansi/{alloc.h,conio.h,dir.h,direct.h,dirent.h
8400 fcntl.h,io.h,malloc.h,mem.h,memory.h,process.h,share.h,unistd.h
8401 utime.h,values.h,varargs.h}: New header files for mingw.
8402 * include/nonansi/sys/{fcntl.h,locking.h,stat.h,time.h
8403 timeb.h,unistd.h}: New header files for mingw.
8404 * Makefile.in,configure.in: Build and configure support.
8405 * configure: Generated from autoconf 2.12 with Cygnus patches.