OSDN Git Service

4261278204630b8a19a63f916953e3b70569b129
[mingw/mingw-org-wsl.git] / mingwrt / ChangeLog
1 2019-01-11  Keith Marshall  <keith@users.osdn.me>
2
3         Fix a <stdio.h> typedef omission.
4
5         * include/stdio.h: Adjust comment formatting.
6         (__need___off64_t) [__MSVCRT__]: Require it, but remove...
7         [!(__STRICT_ANSI__||__NO_MINGW_LFS)]: ...this exclusion filter.
8         [!__MSVCRT__] (__need___off32_t): Require this alternative.
9         (sys/types.h): Include unconditionally.
10
11 2018-12-23  Keith Marshall  <keith@users.osdn.me>
12
13         Prepare and publish MinGW.org WSL-5.2 release.
14
15         * All files (wsl-5.2-release): Tag assigned.
16
17 2018-12-22  Keith Marshall  <keith@users.osdn.me>
18
19         Correct an optional DLL installation and packaging defect.
20
21         * Makefile.in (optional_dll): New function macro; define it, and...
22         (MAP_LIBMINGWEX_A_DLLVERSION): ...wrap this, replacing all usage of...
23         (optional_dll_version, optional_dll_package): ...these; delete them,
24         together with all dependent references.
25
26 2018-12-22  Keith Marshall  <keith@users.osdn.me>
27
28         Update ANSI stdio feature test to accommodate ISO-C11.
29
30         * include/_mingw.h.in (__USE_MINGW_ANSI_STDIO): Add a deprecation
31         warning, for ill-advised direct definition in user code; include...
32         (_ISOC11_SOURCE): ...this new user defined feature test macro as a
33         further indirect enabling condition.
34
35 2018-12-20  Keith Marshall  <keith@users.osdn.me>
36
37         Implement test suite for aligned heap management API.
38
39         * tests/testsuite.at.in: Include...
40         * tests/memalign.at: ...this new file; it replaces...
41         * mingwex/tst-aligned-malloc.c: ...this; delete it.
42
43 2018-12-20  Keith Marshall  <keith@users.osdn.me>
44
45         Reimplement aligned heap management API.
46
47         * mingwex/mingw-aligned-malloc.c: Delete it; it is replaced by...
48         * mingwex/memalign.c: ...this new file; it reimplements...
49         (__mingw_aligned_offset_malloc, __mingw_aligned_offset_realloc)
50         (__mingw_aligned_free): ...each of these public API functions; also...
51         (__mingw_realloc, __mingw_free): ...adds these new public functions,...
52         (__mingw_memalign_base, __mingw_memalign_realloc): ...these private,
53         but globally exposed, supporting functions, and additionally...
54         (__mingw_memalign_lwm): ...this global, private use, variable.
55
56         * include/stdlib.h (__mingw_realloc, __mingw_free): Declare prototypes.
57
58         * include/malloc.h (__mingw_aligned_malloc, __mingw_aligned_realloc):
59         Implement them in-line; export them, via __LIBIMPL__, to libmingwex.a
60         (_aligned_malloc, __mingw_aligned_malloc, _aligned_offset_malloc)
61         (__mingw_aligned_offset_malloc): Add __MINGW_ATTRIB_MALLOC attribute.
62         [__MSVCRT_VERSION__ < __MSVCR70_DLL] (_aligned_malloc, _aligned_free)
63         (_aligned_realloc, _aligned_offset_malloc, _aligned_offset_realloc):
64         Implement them in-line, as wrappers around their MinGW alternatives;
65         export them, via __LIBIMPL__, to new library, libmemalign.a
66
67         * Makefile.in (LIBMINGWEX_MEMALIGN): New macro; define it; derive...
68         (LIBMINGWEX_MEMALIGN_OBJECTS): ...this macro; add compilation rule.
69         (libmingwex.a): Add $LIBMINGWEX_MEMALIGN_OBJECTS; they replace...
70         (mingw-aligned-malloc.$OBJEXT): ...this; remove dependency.
71         (all-mingwrt-libs, install-mingwrt-libs): Add libmemalign.a
72         (msvcrt_repl_funcs): Add alias references for...
73         (free, realloc): ...these.
74
75 2018-12-04  Keith Marshall  <keith@users.osdn.me>
76
77         Reimplement Win9x specific fseek()/fwrite() redirector.
78
79         * include/stdio.h [__USE_MINGW_FSEEK]: Deprecate support for direct
80         user definition; deduce it, as an internal private definition, from...
81         [_WIN32_WINDOWS]: ...this, when appropriately defined for Win9x.
82         [__USE_MINGW_FSEEK] (__mingw_fseek): Declare new prototype; map it as
83         multiple __CRT_ALIAS inline function overrides for each of...
84         (fseek, _fseeki64, fseeko64): ...these.
85         [__USE_MINGW_FSEEK] (__mingw_fwrite): Likewise, overriding...
86         (fwrite): ...this.
87         (__mingw_fseeko64): Delete all references; it is no longer provided,
88         nor required.
89
90         * mingwex/stdio/fwrite.c: New file; it reimplements the Win9x
91         fseek()/fwrite() function redirector interface, and thus replaces...
92         * mingex/ming-fseek.c: ...this; delete it.
93
94         * Makefile.in (libmingwex.a): Remove dependency on...
95         (mingw-fseek.$OBJEXT): ...this object module; replace it with...
96         (fwrite.$OBJEXT): ...this alternative dependency.
97
98 2018-12-04  Keith Marshall  <keith@users.osdn.me>
99
100         Implement POSIX.1-1996 linked-list queue management API.
101
102         * mingwex/insque.c mingwex/remque.c: New files; they implement the
103         POSIX.1-1996 insque(), and remque() functions, respectively.
104
105         * include/search.h (insque, remque): Declare function prototypes.
106
107         * Makefile.in (libmingwex.a): Add dependencies on...
108         (insque.$OBJEXT, remque.$OBJEXT): ...these.
109
110 2018-11-25  Keith Marshall  <keith@users.osdn.me>
111
112         Emulate _fseeki64()/_ftelli64() API on legacy platforms.
113
114         * mingwex/stdio/fseeki64.c: New file; it implements...
115         (__mingw_fseeki64, fseeko64): ...both of these functions, avoiding any
116         dependency on undocumented internal implementation details of...
117         (fpos_t): ...this opaque data type, and replacing...
118         * mingwex/stdio/fseeko64.c: ...this; delete it.
119
120         * mingwex/stdio/ftelli64.c: New file; it implements...
121         (_ftelli64, ftello64): ...both of these, again avoiding any dependency
122         on undocumented internal implementation details of...
123         (fpos_t): ...this opaque data type.
124
125         * include/stdio.h (fpos_t): Make it more effectively opaque.
126         (__mingw_fseeki64, __mingw_ftelli64): Declare them for legacy use.
127         [_WIN32_WINNT < VISTA && __MSVCRT_VERSION__ < MSVCR80_DLL] (_fseeki64)
128         (_ftelli64): Map inline emulations, to "__mingw" prefixed names.
129         (ftello64): Remove inline implementation.
130
131         * Makefile.in (libmingwex.a): Add references to...
132         (fseeki64.$OBJEXT, ftelli64.$OBJEXT): these; remove reference to...
133         (fseeko64.$OBJEXT): ...this.
134
135 2018-10-21  Keith Marshall  <keith@users.osdn.me>
136
137         Update <conio.h> and <wchar.h> header files.
138
139         * include/conio.h: Tidy layout; assert copyright.
140         [_CONIO_H_]: Rename multiple inclusion guard macro, to conform to...
141         [_CONIO_H]: ...this preferred convention; do not define when...
142         [__WCHAR_H_SOURCED__]: ...this selective inclusion condition applies.
143         [__need_wint_t, __need_wchar_t]: Define them; include <stddef.h>...
144         (wint_t, wchar_t): ...for these corresponding data type definitions.
145         [_WIN32_WINNT >= WINXP || __MSVCRT_VERSION__ >= __MSVCR70_DLL]
146         (_getwch, _getwche, _ungetwch, _putwch): Declare function prototypes.
147         [__MSVCRT_VERSION__>=__MSVCR80_DLL] (_getch_nolock, _getche_nolock)
148         (_ungetch_nolock, _putch_nolock, _getwch_nolock, _getwche_nolock)
149         (_ungetwch_nolock, _putwch_nolock): Likewise.
150         [_BEGIN_C_DECLS, _END_C_DECLS]: Use them.
151
152         * include/wchar.h: Selectively include <conio.h>, for...
153         (_getwch, _getwche, _ungetwch): ...these function prototypes, and...
154         [__MSVCRT_VERSION__>=__MSCVCR80_DLL] (_getwch_nolock)
155         (_getwche_nolock, _ungetwch_nolock): ...these.
156
157 2018-10-18  Keith Marshall  <keith@users.osdn.me>
158
159         Map compile-time constant references for POSIX clocks.
160
161         * include/time.h (CLOCK_REALTIME, CLOCK_MONOTONIC): Redefine, using...
162         (__MINGW_POSIX_CLOCKAPI): ...this new macro; it converts clock indices
163         to odd-valued compile-time constant pseudo-pointers, (distinguishable
164         from real pointers which are always even-valued), which may be passed
165         as clockid_t references in POSIX clock API function calls.
166
167         * mingwex/clockapi.h (struct __clockid__): Specify 4-byte alignment.
168         (__clock_api_is_valid): Change return type to "clockid_t".
169
170         * mingwex/clockapi.c (__clock_api_is_valid): Return an even-valued,
171         non-NULL, "clockid_t" reference pointer, or "NULL" if invalid; use...
172         (clock_reference): ...this new static inline function, to convert...
173         (CLOCK_REALTIME, CLOCK_MONOTONIC): ...these odd-valued pseudo-pointers
174         to their actual run-time pointer equivalents; delete their physical
175         initializations, which have now become invalid.
176
177         * mingwex/clockres.c (clock_getres)
178         * mingwex/clocktime.c (clock_gettime)
179         * mingwex/clockset.c (clock_settime): Update the "clockid_t" argument
180         to match the real pointer returned by __clock_api_is_valid()
181
182 2018-10-08  Keith Marshall  <keith@users.osdn.me>
183
184         Suppress autoconf detection of _aligned_malloc functions.
185
186         * msvcrt-xref/msvcrt.def.in (_aligned_malloc, _aligned_free)
187         (_aligned_offset_malloc, _aligned_realloc, _aligned_offset_realloc):
188         Mark as requiring dlsym() lookup, when linking with MSVCRT.DLL
189
190 2018-10-07  Keith Marshall  <keith@users.osdn.me>
191
192         Make alloca() API both GNU and Microsoft compatible.
193
194         * include/malloc.h: Tidy layout; assert copyright.
195         (_MALLOC_H_): Rename guard macro, for conformance with...
196         (_MALLOC_H): ...this preferred guard macro naming convention.
197         (GCC system_header): Add pragma, declaring it as such.
198         [__MSVCRT_VERSION__ >= 0x0700]: Express symbolically, guarding...
199         (_aligned_malloc, _aligned_offset_malloc)
200         (_aligned_realloc, _aligned_offset_realloc)
201         (_aligned_recalloc, _aligned_offset_recalloc): ...these...
202         [__MSVCRT_VERSION__>=__MSVCR70_DLL]: ...thus.
203         [_BEGIN_C_DECLS, _END_C_DECLS]: Use them.
204         (alloca, _alloca): Factor them out, then include from...
205         * include/alloca.h: ...this new header file; it reimplements...
206         (alloca, _alloca): ...these, such that they remain Microsoft
207         compatible, while adding GNU conformity, either explicitly when
208         included by user code, or conditionally when included by...
209         * include/stdlib.h [!__STRICT_ANSI__]: ...this.
210
211         * tests/headers.at: Regenerated by "make check".
212         (MINGWRT_AT_PACKAGE_HEADERS): Add alloca.h
213
214 2018-09-06  Keith Marshall  <keith@users.osdn.me>
215
216         Avoid unwanted GCC warning diagnostic messages.
217
218         * Makefile.in (libm_dummy.c): Remove "static" qualifier from...
219         (__mingw_libm_dummy): ...this variable; it caused "-Wunused-variable"
220         warning diagnostics, when compiled with "-Wall".
221
222         * main.c (WinMain): Remove unnecessary argument names from prototype.
223         (main): Make its argument list conform to convention, otherwise it
224         causes a "-Wmain" warning diagnostic when compiled with "-Wall".
225
226         * mingwex/clocktime.c (clock_gettime) [clock_id-type]
227         * mingwex/clockapi.c (clock_api_getres_interval) [clock_api->type]:
228         Ensure that switches include default cases; this avoids a "-Wswitch"
229         warning diagnostic message, in each case, when compiled with "-Wall".
230
231         * mingwex/cryptnam.c (crypto_random_filename_char): Remove "unsigned"
232         qualifier from both argument and return type; this avoids an argument
233         type mismatch, raising a "-Wpointer-sign" warning when called from...
234         (__mingw_crypto_tmpname): ...here, and compiled with "-Wall".
235
236         * mingwex/imaxdiv.c: Tidy layout; assert copyright.
237         (lldiv): Correct return type; explicitly disable "-Wattribute-alias"
238         diagnostic messages, under GCC pragma control.
239
240         * mingwex/ofmt.c [__crtofmt__] (__mingw_set_output_format_fallback)
241         [__crtnfmt__] (__mingw_get_printf_count_output_fallback): Likewise,
242         disable "-Wattribute-alias" diagnostics.
243
244         * mingwrt/mingwex/stdio/pformat.c (__pformat_ignore_flags): Adjust
245         layout, to avoid a "-Wmisleading-indentation" warning diagnostic.
246         (__pformat_argmap) [length]: Add a no-op default case, to avoid a
247         "-Wswitch" warning diagnostic message.
248
249         * mingwrt/profile/mcount.c: Explicitly disable "-Wframe-address"
250         diagnostics, under GCC pragma control, to avoid warnings relating...
251         (__builtin_return_address): ...this, when called from...
252         (mcount): ...here.
253
254         * mingwrt/setargv.c (__mingw_setargv): Insert parentheses, as advised,
255         to eliminate "-Wparentheses" diagnostic messages.
256
257 2018-09-03  Keith Marshall  <keith@users.osdn.me>
258
259         Prepare and publish MinGW.org WSL-5.1.1 release.
260
261         * All files (wsl-5.1.1-release): Tag assigned.
262
263 2018-09-02  Keith Marshall  <keith@users.osdn.me>
264
265         Make clockapi symbolic constants #ifdef detectable.
266
267         * mingwex/clockapi.c (CLOCK_REALTIME, CLOCK_MONOTONIC): Add "const".
268         * include/time.h (CLOCK_REALTIME, CLOCK_MONOTONIC): Likewise; also
269         define both as self-referencing macros.
270
271 2018-08-26  Keith Marshall  <keith@users.osdn.me>
272
273         Circumvent <process.h> testsuite failure with GCC-7+.
274
275         * include/process.h (execv, execve, execvp): Subject declarations to
276         #pragma GCC diagnostic ignored "-Wbuiltin-declaration-mismatch", if...
277         [__cplusplus && __IN_MINGWRT_TESTSUITE__ && __GNUC__ >= 7]: ...this.
278
279 2018-04-16  Keith Marshall  <keith@users.osdn.me>
280
281         Suppress glob-brace expansion within quoted arguments.
282
283         * setargv.c (__mingw32_setargv) [quoted]: Handle '{', ',', and '}'
284         in the same manner as '*', and '?'.
285
286 2018-04-16  Keith Marshall  <keith@users.osdn.me>
287
288         Suppress glob-brace expansion of single item lists.
289
290         * mingwex/glob.c (glob_match) [c == '{']: Look-ahead to matching '}';
291         ignore intervening nested '{' ... '}' expression groups, and suppress
292         special interpretation of '{' if '\0' encountered before '}' at outer
293         nesting level, or if no unescaped ',' found within outer expression.
294
295 2018-02-26  Keith Marshall  <keith@users.osdn.me>
296
297         Prepare and publish MinGW.org WSL-5.1 release.
298
299         * All files (wsl-5.1-release): Tag assigned.
300
301 2018-02-22  Keith Marshall  <keith@users.osdn.me>
302
303         Correct <sys/timeb.h> 32-bit vs. 64-bit time_t anomalies.
304
305         * include/sys/timeb.h: Assert copyright; tidy layout.
306         (_TIMEB_H_): Original multiple inclusion guard macro; rename it...
307         (_SYS_TIMEB_H): ...conforming to this preferred naming convention.
308         (GCC system_header): Add pragma, asserting it as such a header.
309         (__need_time_t): Define for selective <sys/types.h> inclusion.
310         (_BEGIN_C_DECLS, _END_C_DECLS): Use them as appropriate.
311         (pragma pack): Push to pack all structs with 2-byte alignment.
312         (struct timeb): Mark as deprecated, from POSIX.1-2001 onwards.
313         (ftime): Likewise, mark as deprecated; always emulate it by in-line
314         redirection to _ftime(), however this may be implemented.
315         (struct __timeb32): Make its definition unconditionally visible.
316         (_ftime32) [__MSVCRT_VERSION__ >= __MSVCR80_DLL]: Declare prototype.
317         (_ftime32) [_WIN64 || _WIN32_WINNT >= _WIN32_WINNT_VISTA]: Likewise,
318         otherwise emulate it by in-line redirection to 32-bit _ftime().
319         (struct __timeb64, _ftime64): Make visibility condition symbolic...
320         [__MSVCRT_VERSION__ >= __MSVCR61_DLL]: ...thus; add visibility for...
321         [_WIN64 || _WIN32_WINNT >= _WIN32_WINNT_WIN2K]: ...these alternatives.
322         (_ftime) [__MSVCRT_VERSION__ < __MSVCR80_DLL]: Declare prototype.
323         (_ftime) [__MSVCRT_VERSION__ >= __MSVCR80_DLL]: Emulate it...
324         [_USE_32BIT_TIME_T]: ...by in-line redirection to _ftime32(), else...
325         [!_USE_32BIT_TIME_T]: ...to _ftime64().
326
327         * tests/headers.at [sys/timeb.h]: Suppress "deprecated" warnings.
328
329 2018-02-22  Keith Marshall  <keith@users.osdn.me>
330
331         Correct Windows version support for <utime.h> functions.
332
333         * include/sys/utime.h: Tidy layout; assert copyright.
334         (_UTIME_H_): Rename this repeat inclusion guard macro...
335         (_SYS_UTIME_H): ...to this, for consistency with current practice.
336         (_BEGIN_C_DECLS, _END_C_DECLS): Use them, as appropriate.
337         (struct __utimbuf32): Define it unconditionally; remove...
338         [__MSVCRT_VERSION__>=0x0800]: ...this prerequisite.
339         (_utime32, _wutime32, _futime32): Declare them for...
340         [_WIN32_WINNT >= _WIN32_WINNT_VISTA]: ...this, in addition to...
341         [__MSVCRT_VERSION__>=__MSVCR80_DLL]: ...this original condition, but
342         also emulate them in-line, if neither condition applies.
343         [__MSVCRT_VERSION__>=__MSVCR80.DLL] (_utime, _wutime, _futime):
344         Implement them in-line, delegating each respectively to...
345         [_USE_32BIT_TIME_T] (_utime32, _wutime32, _futime32): ...these, or...
346         [!_USE_32BIT_TIME_T] (_utime64, _wutime64, _futime64): ...to these.
347         [__MSVCRT_VERSION__>=__MSVCR80.DLL] (utime): Implement in-line, or...
348         [__MSVCRT_VERSION__<__MSVCR80.DLL] (utime): ...declare it.
349
350 2018-01-17  Keith Marshall  <keith@users.osdn.me>
351
352         Fix faulty POSIX deprecation warning logic.
353
354         * include/_mingw.h.in (__POSIX_2008_DEPRECATED): Do not nest...
355         (__POSIX_2001_DEPRECATED): ...within defininion of this; similarly...
356         (__POSIX_1995_DEPRECATED): ...neither within this; rename this as...
357         (__POSIX_1996_DEPRECATED): ...this; although conditional upon...
358         [_POSIX_C_SOURCE >= 199506L]: ...this, the corresponding standard was
359         eventually ratified, not as POSIX.1-1995, but as POSIX.1-1996
360
361 2017-12-28  Keith Marshall  <keith@users.osdn.me>
362
363         Fix a build issue, assembling generic SX files.
364
365         * Makefile.in (%_generic.sx): Always use $(COMPILE.sx) to pre-process
366         and assemble these; with $(CC) -c $(ALL_CPPFLAGS) $(ASFLAGS), versions
367         of GCC, prior to GCC-4.3, will fail to identify the source file suffix
368         correctly, resulting in failure to assemble the code.
369
370 2017-12-18  Keith Marshall  <keith@users.osdn.me>
371
372         Support strtok() re-entrancy, per request [#2342].
373
374         * mingwex/strtok_r.c: New file; it implements...
375         (strtok_r): ...this function, per POSIX.1-1995 specification.
376         * Makefile.in (libmingwex.a): Add reference; make it depend on...
377         (strtok_r.$OBJEXT): ...this.
378
379         * include/string.h: Declare corresponding runtime API.
380         [_POSIX_C_SOURCE >= 199506L] (strtok_r): Add function prototype.
381         [__MSVCRT_VERSION__ >= __MSVCR80_DLL] (strtok_s): Likewise; this is
382         the Microsoft equivalent function, first introduced in this non-free
383         MSVC runtime library; subsequently available in MSVCRT.DLL since...
384         [_WIN32_WINNT >= _WIN32_WINNT_VISTA]: ...this release, likewise.
385
386 2017-12-16  Keith Marshall  <keith@users.osdn.me>
387
388         Implement autotest module for POSIX clock API functions.
389
390         * tests/clockapi.at: New file.
391         * tests/testsuite.at.in (clockapi.at): Incorporate it.
392
393 2017-12-15  Keith Marshall  <keith@users.osdn.me>
394
395         Implement a subset of the POSIX.1b-1993 clock API.
396
397         * include/time.h [_POSIX_C_SOURCE >= 199309L]
398         (clockid_t): New structured data type; define it opaquely, and...
399         (CLOCK_REALTIME, CLOCK_MONOTONIC): ...declare these extern instances.
400         (clock_getres, clock_gettime, clock_settime): New functions; declare
401         prototypes.
402
403         * mingwex/clockapi.h mingwex/clockapi.c mingwex/clockres.c
404         * mingwex/clockset.c mingwex/clocktime.c: New files; they implement
405         the preceding clock instances, and associated API functions.
406
407         * include/sys/time.h [_POSIX_C_SOURCE >= 200809L] (gettimeofday):
408         Mark it as "deprecated".
409
410 2017-12-14  Keith Marshall  <keith@users.osdn.me>
411
412         Add support for POSIX.1 "obsolescence" warnings.
413
414         * include/_mingwrt.h.in (__POSIX_1995_DEPRECATED)
415         (__POSIX_2001_DEPRECATED, __POSIX_2008_DEPRECATED): New macros; define
416         them, such as each is conditional on the specific value assigned to...
417         [_POSIX_C_SOURCE]: ...this feature test macro, as the equivalent of...
418         (__MINGW_ATTRIB_DEPRECATED): ...this, or of nothing, as appropriate.
419
420 2017-12-06  Keith Marshall  <keith@users.osdn.me>
421
422         Prepare and publish MinGW.org WSL-5.0.2 release.
423
424         * All files (wsl-5.0.2-release): Tag assigned.
425
426         * Makefile.in (mingwrt-srcdist-package-files): Add reference...
427         * $mingwrt_srcdir/*.sx: ...for files matching this template.
428
429 2017-12-02  Keith Marshall  <keith@users.osdn.me>
430
431         Provide legacy OS work around for issue [#2357]
432
433         * cpu_features.c: Delete; replace it with...
434         * cpu_features.sx: ...this new assembly language file.
435
436         * cpu_features.h [__ASSEMBLER__]
437         (__cpu_features, __cpu_features_init): Suppress declarations.
438
439         * Makefile (%.sx): Add $srcdir vpath reference.
440
441 2017-11-28  Keith Marshall  <keith@users.osdn.me>
442
443         Handle indeterminate FLT_EVAL_METHOD; fix issue [#2352].
444
445         * include/math.h [FLT_EVAL_METHOD == 0 || FLT_EVAL_METHOD == 1]
446         (float_t, double_t): Define them explicitly, as appropriate for each
447         of these two specific cases only; otherwise, define them as if for...
448         [FLT_EVAL_METHOD == 2]: ...this explicit case, but also apply it as a
449         suitable default compromise for the indeterminate case, in which...
450         [FLT_EVAL_METHOD != 2]: ...emit indeterminacy warning.
451
452 2017-10-25  Keith Marshall  <keithmarshall@users.sourceforge.net>
453
454         Include, and make <sys/bsdtypes.h> test suite safe.
455
456         * tests/headers.at (sys/bsdtypes.h): Add reference.
457
458         * include/sys/bsdtypes.h [__IN_MINGWRT_TESTSUITE__]: Add to...
459         [_BSD_SOURCE || _WINSOCK2_H]: ...these, as conditions for supression
460         of "ill-advised usage" warning message.
461
462 2017-09-15  Keith Marshall  <keithmarshall@users.sourceforge.net>
463
464         Factor <sys/time.h> duplicate content out of winsock headers.
465
466         * include/sys/time.h: Assert copyright; tidy layout.
467         [_BEGIN_C_DECLS, _END_C_DECLS]: Use them to avoid C++ name mangling.
468         [__WINSOCK_H_SOURCED__] (_SYS_TIME_H): Do not define it; hence...
469         [!defined _SYS_TIME_H]: ...selectively expose definitions for only...
470         (timerclear, timerisset, timercmp): ...these functional macros, and...
471         (struct timeval): ...this data type; inhibit redefinition on...
472         [defined _SYS_TIME_H && _WINSOCK_H]: ...second reading.
473         (_TIMEVAL_DEFINED): Do not define; it isn't required.
474
475 2017-09-09  Keith Marshall  <keithmarshall@users.sourceforge.net>
476
477         Factor BSD non-standard type definitions into common header.
478
479         * profile/gmon.h [_BSDTYPES_DEFINED]: Delete block; include...
480         * include/sys/bsdtypes.h: ...this new file instead; it defines...
481         (u_char, u_int, u_long, u_short): ...these non-standard data types.
482
483         * profile/gmon.c profile/mcount.c [_BSD_SOURCE]: Declare it;
484         it suppresses warnings from <sys/bsdtypes.h>, about ill-advised
485         non-standard BSD typedef usage.
486
487 2017-07-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
488
489         Prepare and tag for release of MinGW.org WSL-5.0.1
490
491         * All files (wsl-5.0.1-release): Tag assigned.
492
493 2017-07-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
494
495         Automate testsuite dependency generation.
496
497         * tests/Makefile.in (testsuite) [$srcdir/*.at]: Automatically
498         enumerate all such wildcard matches as prerequisites, instead of...
499         (headers.at, ansiprintf.at, logarithms.at, powerfunc.at): ...these,
500         which were previously enumerated explicitly.
501
502 2017-06-05  Keith Marshall  <keithmarshall@users.sourceforge.net>
503
504         Automatically correct obsolete _XOPEN_SOURCE usage.
505
506         * include/_mingw.h.in (__paste, __valueless): New macros; define them.
507         (_XOPEN_SOURCE) [defined with no value]: Use them to attempt to deduce
508         this obsolete usage; if detected, redefine it with a default assigned
509         value of one, emulating -D_XOPEN_SOURCE command line definition.
510
511 2017-05-24  Keith Marshall  <keithmarshall@users.sourceforge.net>
512
513         Fix snprintf()/vsnprintf() -Wformat vs. multiple definition issue.
514
515         * include/stdio.h (__mingw_stdio_redirect__): Add reference to...
516         (__Wformat): ...this new macro; define it, such that it expands via...
517         (__Wformat_mingw_printf, __Wformat_msvcrt_printf): ...these new macros,
518         ultimately expanding to an attribute declaration, in terms of...
519         (__Wformat_ms_vprintf, __Wformat_ms_vfprintf, __Wformat_ms_vsprintf)
520         (__Wformat_ms_printf, __Wformat_ms_fprintf, __Wformat_ms_sprintf):
521         ...any one of these; they map to an ms_printf attribute, or...
522         (__Wformat_vprintf, __Wformat_vfprintf, __Wformat_vsprintf)
523         (__Wformat_printf, __Wformat_fprintf, __Wformat_sprintf): ...any one
524         of these; they map conditionally to...
525         [__GNUC__>=6] (__mingw_printf__): ...this new format attribute, or...
526         [__GNUC__< 6]: ...nothing.
527         (snprintf, vsnprintf): Revert 2017-01-30 inline definitions; add...
528         (__Wformat_snprintf, __Wformat_vsnprintf): ...these attributes; they
529         are also mapped conditionally, in this case to...
530         [__GNUC__>=6] (__mingw_printf__): ...this, or...
531         [__GNUC__< 6] (__gnu_printf__): ...this.
532
533 2017-03-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
534
535         Refactor mingwrt and w32api common makefile content.
536
537         * Makefile.in (mingwrt-srcdist-config-files): Rename it...
538         (mingwrt-srcdist-common-files): ...as this phoney build rule.
539         (shared_include_file): New macro; define it, and include named file.
540         (configure, config.status, Makefile, config.status.missing, _mingw.h)
541         (w32api.h, PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): Factor
542         out; relocate them to new file in common parent directory...
543         * ../Makefile.comm: ...here.
544
545 2017-03-09  Keith Marshall  <keithmarshall@users.sourceforge.net>
546
547         Fix generated header file dependencies.
548
549         * Makefile.in (_mingw.h, w32api): Make them depend on changes in...
550         [VERSION.m4]: ...this; package version changes are no longer made...
551         [configure.ac]: ...here; delete associated prerequisite reference.
552         (distclean-local): Delete them.
553
554 2017-03-09  Keith Marshall  <keithmarshall@users.sourceforge.net>
555
556         Strip optional DLLs, when staging for distribution.
557
558         * Makefile.in (mingwrt-%-optist): Recursively make...
559         (install-strip-$*-optional-dll): ...this internal target, not...
560         (install-$*-optional-dll): ...this.
561
562 2017-03-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
563
564         Prepare and tag for release of mingwrt-5.0 package set.
565
566         * All files (wsl-5.0-release): Tag assigned.
567
568 2017-03-07  Keith Marshall  <keithmarshall@users.sourceforge.net>
569
570         Avoid -shared-libgcc dependencies in optional DLLs.
571
572         * Makefile.in (dllname): Qualify it, by addition of...
573         (LIBGCC_LINK_OPTION): ...this DLL name specific linking option macro.
574         (libmingwex.dll.a): Force it to use -static-libgcc for associated DLL.
575
576 2017-02-27  Keith Marshall  <keithmarshall@users.sourceforge.net>
577
578         Support optional DLL builds from static libraries.
579
580         * aclocal.m4 (MINGW_AC_SET_DLLVERSION): New macro; define it, and...
581         * VERSION.m4: ...use it here, to enumerate the specifcations for...
582         (MINGW_AC_ENUMERATE_DLLVERSION_SPECS): ...this collection of DLL
583         version identification records.
584
585         * Makefile.in (DLLVERSION): New macro; define default, and capture
586         library specific variants, as generated by AC_SUBST output from...
587         (MINGW_AC_ENUMERATE_DLLVERSION_SPECS): ...this configuration macro.
588         (a2dll, dllname, dllsuffix): New macros; define them, together with
589         new pattern rule using them, to create DLLs and import libraries from
590         existing static object libraries; augment these with...
591         (optional_dll_version): ...this further new macro, used by...
592         (install-optional-dlls, install-mingwrt-optional-dlls)
593         (install-libmingwex-optional-dll): ...these new installation rules...
594         (uninstall-optional-dlls, uninstall-mingwrt-optional-dlls): ...and
595         counterpart rules, to uninstall all such optional DLL files.
596         (optional_dll_package): Further new macro; it is required by...
597         (optdist, mingwrt-optdist, mingwrt-libmingwex-optdist): ...these new
598         distribution rules; they create packages for optional DLLs.
599         (dist): Add optdist.
600
601         * configure.ac (MINGW_AC_ENUMERATE_DLLVERSION_SPECS): Invoke it.
602
603 2017-02-24  Keith Marshall  <keithmarshall@users.sourceforge.net>
604
605         Make floating point environment more robust.
606
607         * CRT_fp8.c CRT_fp10.c: Delete them; both are replaced by...
608         * CRT_fenv.c: ...this new common source file; it implements...
609         (_CRT_fenv): ...this new global variable, with alternative definitions
610         evaluated during application start-up, to assign one or other of...
611         [FE_PC53_ENV, FE_PC64_ENV]: ...these, as the preferred default...
612         [FE_DFL_ENV]: ...represented by this; replacement linkage for...
613         (_fpreset): ...this MSVCRT.DLL function is no longer supported.
614
615         * Makefile.in: Add new static pattern rule, for compiling...
616         (CRT_fp8.$OBJEXT, CRT_fp10.$OBJEXT): ...each of these, from CRT_env.c
617
618         * crt1.c (_gnu_exception_handler, __mingw_CRTStartup): Do not call...
619         (_fpreset): ...this; its linkage was non-deterministically ambiguous.
620         (fesetenv): Use this, unambiguously, instead; initially configure the
621         floating point environment to the predefined state, as assigned to...
622         [_CRT_fenv]: ...this new global variable; thereafter, reset to...
623         [FE_DFL_ENV]: ...this ISO-C99 mandatory configuration.
624
625         * include/float.h: Assert copyright; tidy layout.
626         [_MINGW_FLOAT_H_]: Retain, but replace in guard macro usage by...
627         [_MINGW_FLOAT_H]: ...this, conforming to preferred naming convention.
628         [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
629         (_fpreset): Add _CRTIMP attribute; it is resolved by MSVCRT.DLL
630         (fpreset): Deprecate it; provide inline __LIBIMPL__ fall-back.
631
632         * include/fenv.h: Assert copyright; tidy layout.
633         [_FENV_H_]: Rename multiple inclusion guard macro, adopting...
634         [_FENV_H]: ...this preferred stylistic naming convention.
635         [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
636         (FE_INVALID, FE_DENORMAL, FE_DIVBYZERO, FE_OVERFLOW, FE_UNDERFLOW)
637         (FE_INEXACT, FE_ALL_EXCEPT, FE_TONEAREST, FE_DOWNWARD, FE_UPWARD)
638         (FE_TOWARDZERO): Redefine them, in terms of enumerated bit positions.
639         (FE_PD53_ENV, FE_PD64_ENV): New predefined environment selectors; they
640         serve as initialization-time aliases, causing redefinition of...
641         [FE_DFL_ENV]: ...this, as run-time alias for one or other of...
642         [FE_PC53_ENV, FE_PC64_ENV]: ...these, respectively.
643
644         * mingwex/fesetenv.c: Assert copyright; tidy layout.
645         (fesetenv) [FE_PD53_ENV || FE_PD64_ENV]: Handle them, assigning to...
646         (FE_DFL_ENV): ...this ISO-C99 mandatory configuration, representing...
647         (fenv_default): ...the value of this new static variable.
648         (_fpreset): Call it directly; now always resolved by MSVCRT.DLL, so...
649         (*_imp__fpreset): ...this indirection becomes unnecessary.
650
651 2017-02-21  Keith Marshall  <keithmarshall@users.sourceforge.net>
652
653         Make mingwrt and w32api test suites consistent.
654
655         * Makefile.in (test): New rule; define it as a synonym for...
656         (check tests): ...these, so maintaining consistency with w32api.
657
658 2017-02-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
659
660         Work around GCC bug; force C++11 to support std::wcstof().
661
662         * include/_mingw.h [_ISOC99_SOURCE && __cplusplus >= 201103L]
663         [__GNUC__ < 6] (_GLIBCXX_HAVE_WCSTOF): Define it to 1; it is required
664         because, prior to GCC-6, GCC's configuration process fails to specify
665         it correctly, and so invalidates its own <string> header file.
666
667 2017-02-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
668
669         Support brace expansion in globbing patterns.
670
671         * include/glob.h (GLOB_BRACE): New manifest constant; define it...
672         (__GLOB_FLAG__): ...in terms of this macro.
673
674         * mingwex/glob.c (glob_match): Reindent, with preamble invoking...
675         (glob_brace_expand): ...this new static inline function; implement it.
676         (GLOB_INIT, GLOB_FREE): Redefine them, relating them to...
677         (__GLOB_FLAG_OFFSET_HIGH_WATER_MARK): ...this.
678
679         * setargv.c (__mingw32_setargv) [_CRT_glob]: Check if it includes...
680         [GLOB_CASEMATCH | GLOB_BRACE]: either of these; remove check for...
681         [__CRT_GLOB_CASE_SENSITIVE__]: ...this defunct option.
682
683         * include/_mingw.h.in (GLOB_BRACE): Note its use in _CRT_glob.
684         (GLOB_CASEMATCH): Likewise; this replaces all former usage of...
685         (__CRT_GLOB_CASE_SENSITIVE__): ...this; delete definition.
686
687 2017-02-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
688
689         Refactor <getopt.h> and <unistd.h> shared declarations.
690
691         * include/getopt.h: Assert copyright.
692         (_BEGIN_C_DECLS, _END_C_DECLS): Use as appropriate.
693         (__GETOPT_H__, __GETOPT_LONG_H__): Delete them; replace them with...
694         (_GETOPT_H): This new macro; it guards the entire file, except when...
695         [__UNISTD_H_SOURCED__]: ...do not activate it; hence when...
696         [!_GETOPT_H]: ...do not expose API declarations for...
697         (getopt_long, getopt_long_only): ...these functions.
698         [_GETOPT_H && _UNISTD_H]: Skip second pass API declarations for...
699         (getopt): ...this function.
700
701         * include/unistd.h: Use the #include "..." form when including...
702         (io.h, process.h, getopt.h): ...these, to ensure correct association.
703         (ftruncate): Map it directly to MSVCRT.DLL's _chsize() entry point.
704
705 2017-02-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
706
707         Avoid unnecessary duplication of configuration files.
708
709         * Makefile.in (vpath install-sh): Define it; it matches...
710         (vpath %.m4): ...this; add $top_srcdir/..; search it first; delete
711         rule for creating duplicate file reference links in $top_srcdir.
712         (configure): Add '-I ..' option, when running autoconf.
713         (mingwrt-srcdist-package-files): Remove dependencies on...
714         (aclocal.m4 VERSION.m4 install-sh): ...these; reinstate them in...
715         (mingwrt-srcdist-config-files): ...this new distributable files
716         enumeration goal; add it as a new prerequisite of...
717         (mingwrt-srcdist-files): ...this.
718
719 2017-02-07  Keith Marshall  <keithmarshall@users.sourceforge.net>
720
721         Ensure selective inclusion of the correct <strings.h>
722
723         * include/string.h: Use "..." form for selective inclusion of ...
724         (strings.h): ...this, to ensure that we get our own version, avoiding
725         any inappropriate alternative which may have been insinuated into the
726         system header include path.
727
728 2017-02-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
729
730         Resolve a global variable naming inconsistency.
731
732         * mingwex/ofmt.c (__mingw_output_format_flag): Rename it as...
733         (__mingw_output_format_flags): ...this, at point of definition, and
734         update all references, to maintain consistency with usage...
735         * mingwex/ofmtctl.c (__mingw_output_format_flags): ...here.
736
737         * mingwex/stdio/pformat.c: Update references.
738
739 2017-01-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
740
741         Implement strerror_r()/strerror_s() API.
742
743         * mingwex/strerror_r.c: New file; it implements...
744         (strerror_r): ...this new POSIX.1-2001 conforming function.
745
746         * include/string.h (strerror_s): Add function prototype, subject to...
747         [_MSVCR80_DLL || _WIN32_WINNT_VISTA]: ...this DLL version dependency;
748         otherwise implement an inline wrapper function to emulate it, using...
749         [_POSIX_C_SOURCE > 200112L] (strerror_r): ...this; add prototype.
750
751         * Makefile.in (libmingwex.a): Add strerror_r.$OBJEXT
752
753 2017-01-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
754
755         Avoid -Wformat noise from snprintf() and vsnprintf()
756
757         * include/stdio.h (snprintf, vsnprintf): Add inline implementations;
758         they redirect to "__mingw_" prefixed alternatives, so suppressing the
759         effect of automatic format attribute recognition.
760
761 2017-01-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
762
763         Remove duplicate libmingwex.a entries.
764
765         * mingwex/jmpstub.sx (DLLENTRY): Interpret it.
766
767         * Makefile.in (jmpstub_awk_script): Handle DLLENTRY.
768         (libmingwex.a): Remove explicit object file references to...
769         (snwprintf, vsnwprintf): ...these.
770
771         * include/stdio.h (snwprintf, vsnwprintf): Map them as __JMPSTUB__
772         references to MSVCRT.DLL entry points, via DLLENTRY references to...
773         (_snwprintf, _vsnwprintf): ...these, respectively.
774
775         * mingwex/snwprintf.c: Redundant file; delete it.
776         * mingwex/vsnwprintf.c: Likewise.
777
778 2017-01-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
779
780         Clean up <limits.h> header file.
781
782         * include/limits.h: Tidy layout; assert copyright.
783         (#pragma GCC system_header): Declare it as being such.
784         (_LIMITS_H_): Rename this multiple inclusion guard macro...
785         (_LIMITS_H): ...to adopt this preferred form.
786         [__STDC_VERSION__ >= 199901L]: Infer it...
787         [_ISOC99_SOURCE]: ...from this.
788
789 2017-01-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
790
791         Expose C99 features required by C++11; fix issue [#2335]
792
793         * include/_mingw.h.in (_ISOC99_SOURCE): Ensure it is defined for...
794         [__cplusplus >= 201103L]: ...this conformance level, in addition to...
795         [__STDC_VERSION__>= 199901L || _POSIX_C_SOURCE >= 200112L]: ...these.
796         [_GLIBCXX_USE_C99]: Force it for -std=c++11, subject to...
797         [__GNUC__ < 6]: ...this.
798
799         * include/ctype.h (isblank): Declare it only if...
800         [_ISOC99_SOURCE]: ...this, thus simplifying declarative condition.
801         * include/wctype.h (iswblank) [_ISOC99_SOURCE]: Likewise.
802         * include/inttypes.h (SCNd8, SCNdLEAST8, SCNdFAST8, SCNi8, SCNiLEAST8)
803         (SCNiFAST8, SCNo8, SCNoLEAST8, SCNoFAST8, SCNx8, SCNxLEAST8, SCNxFAST8)
804         (SCNu8, SCNuLEAST8, SCNuFAST8) [_ISOC99_SOURCE]: Likewise.
805
806 2017-01-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
807
808         Make strnlen() and wcsnlen() declaratively consistent.
809
810         * include/string.h (strnlen): Do not expose its declaration, unless...
811         [_POSIX_C_SOURCE >= 200809L]: ...this feature test is enabled.
812
813 2017-01-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
814
815         Implement wcsnlen() API per feature request [#2332].
816
817         * mingwex/strnlen.s: Rename it as...
818         * mingwex/strnlen.sx: ...this; use C preprocessor logic to adapt...
819         (__mingw_strnlen): ...this existing function implementation for use...
820         [_UNICODE] (__mingw_wcsnlen): ...as this.
821
822         * include/wchar.h [_POSIX_C_SOURCE >= 200809L] (wcsnlen): Declare...
823         [__MSVCRT_VERSION__>=__MSVCR80_DLL]: ...using MS DLL implementation...
824         [!__MSVCRT_VERSION__>=__MSVCR80_DLL] (__mingw_wcsnlen): ...otherwise,
825         declare this, with inline __JMPSTUB__ implementation, providing...
826         (wcsnlen): ...this.
827
828         * Makefile.in (wcsnlen.$OBJEXT): New build rule.
829         (libmingwex.a): Add wcsnlen.$OBJEXT as new prerequisite.
830         (libmoldname.a, libmoldnamed.a): Add __JMPSTUB__ wrappers.
831         (libmoldname70.a, libmoldname70d.a): Likewise.
832         (libmoldname71.a, libmoldname71d.a): Likewise.
833
834         for all other MSVC non-free associated oldname import libraries.
835         (vpath): Add $srcdir/mingwex for %.sx; hence mapping for...
836         (jmpstub.sx): ...this becomes redundant; delete it.
837
838 2017-01-26  Jason Hood  <jadoxa@yahoo.com.au>
839
840         Honour GLOB_CASEMATCH for globbing sets; cf. issue [#2327].
841
842         * include/glob.h (GLOB_CASEMATCH): Update comment.
843         * mingwex/glob.c (glob_case_match): Move before, and use it in...
844         (glob_in_set): ...this function, to test characters in the set.
845
846 2017-01-26  Keith Marshall  <keithmarshall@users.sourceforge.net>
847
848         Avoid snprintf() overhead in directory stream functions.
849
850         * mingwex/dirent.c (dirent_update): Do not use either snprintf() or
851         snwprintf() functions when updating dd->d_name and dd->d_namlen data;
852         emulate them instead, using a lightweight inline char-by-char counted
853         copy loop, operating on char or wchar_t data as appropriate.
854         (DIRENT_ASSIGN_NAME): Macro no longer required; delete it.
855         (NUL): New manifest constant; define it.
856
857 2017-01-26  Keith Marshall  <keithmarshall@users.sourceforge.net>
858
859         Avoid #include_next misbehaviour; cf. MinGW-Bug [#2330]
860
861         * include/ctype.h (wctype.h): Use "..." form of #include, rather than
862         the <...> form; we must include our own corresponding mingwrt version
863         of this subsidiary header, and avoid any bogus alternative which may
864         have been insinuated earlier in the system header path.
865
866         * include/string.h (wchar.h): Likewise.
867
868 2017-01-25  Jason Hood  <jadoxa@yahoo.com.au>
869
870         Correct quoted backslash handling, per bug [#2328].
871
872         * setargv.c (__mingw32_setargv): Within single quotes, backslashes
873         should be interpreted literally; copy them as-is.
874
875 2017-01-25  Keith Marshall  <keithmarshall@users.sourceforge.net>
876
877         Use C99 blanks as default argv separators, per issue [#2329].
878
879         * setargv.c [_ISOC99_SOURCE]: Require it.
880         (__mingw32_setargv): Separate command line arguments based on...
881         [(quoted == 0) && isblank( c )]: ...this condition, instead of on...
882         [(quoted == 0) && isspace( c )]: ...this, so that only blanks, rather
883         than any whitespace characters, serve as default argument separators.
884
885 2017-01-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
886
887         Correct <strings.h> preprocessor logic; fix bug [#2322]
888
889         * include/strings.h (_stricmp, _strnicmp): Always declare, unless...
890         [__STRICT_ANSI__ && __NO_INLINE__]: ...both of these are defined.
891
892 2016-11-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
893
894         Implement POSIX.1 compatible setenv() and unsetenv() functions.
895
896         * mingwex/setenv.c: New file; it implements...
897         (__mingw_setenv): ...this function, providing common code for...
898         * include/stdlib.h [_POSIX_C_SOURCE >= 200112L] (setenv, unsetenv):
899         ...these user visible functions, implemented as __CRT_ALIAS inlines;
900         qualify them as __JMPSTUB__ and __LIBIMPL__ respectively, so ensuring
901         that their corresponding external representations are automatically
902         added to libmingwex.a
903
904         * Makefile.in (libmingwex.a): Add setenv.$OBJEXT
905
906 2016-11-27  Keith Marshall  <keithmarshall@users.sourceforge.net>
907
908         Work around another C++11 compliance issue; fix bug [#2321].
909
910         * include/excpt.h (__try1_setup, __except1_teardown): Add spaces to
911         separate each use of '__wsize' and '__ts' macros from all surrounding
912         string literals, to ensure that C++ parses them as distinct tokens.
913
914 2016-11-21  Keith Marshall  <keithmarshall@users.sourceforge.net>
915
916         Replace defective powf() and powl() function implementations.
917
918         * mingwex/math/powf.c mingwex/math/powl.c: Delete; replaced by...
919         * mingwex/math/pow_generic.sx: ...this new file; it implements...
920         (__x87pow): ...this generic power function back-end, serving...
921         (pow, powf, powl): ...each of these front-end entry points.
922
923         * Makefile.in (libmingwex.a): Add x87pow.$OBJEXT
924
925         * include/math.h (powf): Remove inline implementation; it no longer
926         offers any inline advantage.
927
928 2016-11-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
929
930         Implement unit tests for power functions.
931
932         * tests/testsuite.at.in: m4_include...
933         * tests/Makefile.in (testsuite): ...and add dependency on...
934         * tests/powerfunc.at: ...this new file; it specifies unit tests to
935         check POSIX.1-2008 compliance of results and errno assignment from...
936         (pow, powf, powl): ...each of these functions.
937
938 2016-11-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
939
940         Add POSIX compliant errno assignments to log functions.
941
942         * include/errno.h: Make it assembly language compatible.
943         [__ASSEMBLER__]: Omit <_mingw.h>; do not declare prototype for...
944         (_errno): ...this accessor function; the declaration is syntactically
945         invalid, in assembly language code.
946
947         * mingwex/math/errno.sx: New file; when included by other assembly
948         language files, it provides bindings for assignement of any constant
949         defined in <errno.h> to the global errno variable, facilitated by...
950         (errno): ...this new GAS macro.
951
952         * mingwex/math/log_generic.sx: New file; it provides a generic back
953         end implementation for multiple logarithmic functions, accessed via...
954         (___x87log, ___x87log_chk): ...this pair of entry points, serving...
955         (log, logf, log): ...each of these primary functions; it replaces...
956         * mingwex/math/logf.s mingwex/math/logl.s: ...these; delete them.
957
958         * mingwex/math/log1p_generic.sx mingwex/math/log10_generic.sx
959         * mingwex/math/log2_generic.sx: New files; each acts as a wrapper for
960         log_generic.sx, providing the front end entry stubs for each of...
961         (log1p, log1pf, log1pl, log10, log10f, log10l, log2, log2f, log2l):
962         ...these functions; thus, they provide complete replacements for...
963         * mingwex/math/log1p.s mingwex/math/log1pf.s mingwex/math/log1pl.s
964         * mingwex/math/log10f.s mingwex/math/log10l.s mingwex/math/log2.s
965         * mingwex/math/log2f.s mingwex/math/log2l.s: ...these; delete them.
966
967         * mingwex/math/x87cvt_generic.sx: New file; it implements...
968         (___x87cvt, ___x87cvtf): ...this pair of return value conversion
969         routines, for conversion from the FPU's internal REAL10 data format,
970         to REAL8 and REAL4, for double and float functions respectively.
971
972         * Makefile.in (libmingwex.a): Add dependencies on...
973         (x87cvt.$OBJEXT), x87cvtf.$OBJEXT), x87log.$OBJEXT), x87logf.$OBJEXT):
974         ...these object modules; implement pattern rule to build them from...
975         (x87cvt_generic.sx, log_generic.sx): ...these generic sources; also
976         provide for building the respective log function entry stubs from
977         their respective generic sources.
978
979 2016-11-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
980
981         Implement unit tests for logarithmic functions.
982
983         * tests/testsuite.at.in: m4_include...
984         * tests/Makefile.in (testsuite): ...and add dependency on...
985         * tests/logarithms.at: ...this new file; it specifies unit tests to
986         check POSIX.1-2008 compliance of results and errno assignment from...
987         (log, logf, logl, log1p, log1pf, log1pl, log10, log10f, log10l, log2)
988         (log2f, log2l): ...each of these functions.
989
990 2016-11-02  Keith Marshall  <keithmarshall@users.sourceforge.net>
991
992         Implement unit tests for ANSI printf() functions.
993
994         * tests/Makefile.in (testsuite): Add dependency for...
995         * tests/ansiprintf.at: ...this new file, and...
996         * tests/testsuite.at.in: ...m4_include it.
997
998 2016-11-01  Keith Marshall  <keithmarshall@users.sourceforge.net>
999
1000         Fix another printf() hex-float formatting bug.
1001
1002         * mingwex/stdio/pformat.c (__pformat_emit_xfloat)
1003         [stream->flags & PFORMAT_ZEROFILL]: Ignore this; it should be...
1004         [(stream->flags & PFORMAT_JUSTIFY) == PFORMAT_ZEROFILL]: ...thus.
1005
1006 2016-10-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
1007
1008         Merge post 2016-10-18 updates from legacy branch.
1009
1010         * include/io.h include/wchar.h: Updated.
1011         * mingwex/stdio/pformat.c: Likewise.
1012
1013 2016-10-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
1014
1015         Work around MSDN inconsistencies in _finddata_t naming.
1016
1017         * include/io.h (_finddata64_t, _wfinddata64_): Define them
1018         respectively as aberrant alternative data type names for each of...
1019         (__finddata64_t, __wfinddata64_t): ...these original names.
1020         (_wfinddata32_t): Similarly, define this with...
1021         (__wfinddata32_t): ...this alternative name.
1022
1023         * include/wchar.h (_wfinddata32_t): Correct references in comments.
1024
1025 2016-10-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
1026
1027         Fix a potentially infinite printf() format conversion loop.
1028
1029         * mingwex/stdio/pformat.c (__pformat_emit_xfloat)
1030         [value.__pformat_fpreg_mantissa == 0]: Do not attempt to normalize
1031         it; there are no 1-bits to promote, so repeated shifting until one
1032         appears in most significant position will never terminate.
1033
1034 2016-10-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
1035
1036         Merge mingwrt-3.22.4 updates into 5.0-active branch.
1037
1038         * configure.ac: Preserve original 5.0-active state.
1039         * include/wchar.h: Update per 2016-10-17 commits.
1040
1041 2016-10-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
1042
1043         Prepare and tag mingwrt-3.22.4 patch release.
1044
1045         * configure.ac (AC_INIT): Increment patch level.
1046
1047 2016-10-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
1048
1049         Resolve an ANSI mode <string.h> vs. <wchar.h> conflict.
1050
1051         * include/wchar.h [!(_WCHAR_H && _STRING_H)]: Change condition...
1052         [!(_WCHAR_H && (_STRING_H && !__STRICT_ANSI__))]: ...to this; the
1053         guarded declarations are not exposed by including <string.h> when...
1054         [__STRICT_ANSI__]: ...this is defined; hence, we must declare them
1055         when including <wchar.h>, even after including <string.h>
1056
1057 2016-10-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
1058
1059         Add dependency tracking for tests/Makefile.
1060
1061         * tests/Makefile.in (top_builddir): Define it.
1062         (Makefile): Add automatic rebuild rule, tracking both srcdir and
1063         top_builddir prerequisite changes.
1064
1065 2016-10-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
1066
1067         Correct a minor typographic error.
1068
1069         * tests/atlocal.in (autoconf_input): Replace invalid AC_SUBST tag...
1070         (configure_input): ...with this correctly named alternative.
1071
1072 2016-10-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
1073
1074         Merge mingwrt-3.22.3 updates into 5.0-active branch.
1075
1076         * configure.ac: Preserve original 5.0-active state.
1077         * include/_mingw.h.in include/string.h include/sys/types.h
1078         * include/io.h: Update per 2016-10-13 commits.
1079
1080 2016-10-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
1081
1082         Prepare and tag mingwrt-3.22.3 patch release.
1083
1084         * configure.ac (AC_INIT): Increment patch level.
1085
1086 2016-10-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
1087
1088         Emulate glibc <string.h> POSIX.1 non-compliance.
1089
1090         * include/_mingw.h.in (_EMULATE_GLIBC): New feature test macro.
1091         [_GNU_SOURCE || _BSD_SOURCE || !__STRICT_ANSI__]: Enable it when...
1092         [_XOPEN_SOURCE || _POSIX_C_SOURCE || _POSIX_SOURCE]: ...none of
1093         these have been pre-defined by the user.
1094
1095         * include/string.h [_EMULATE_GLIBC]: Include <strings.h> in full...
1096         (strcasecmp, strncasecmp): ...so prototypes for these are declared.
1097         [!_EMULATE_GLIBC]: Preserve partial <strings.h> include, guarded by...
1098         [__STRING_H_SOURCED__]: ...this context selector, so suppressing the
1099         declarations of those function prototypes.
1100
1101 2016-10-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
1102
1103         Resolve some non-ANSI typedef omissions.
1104
1105         * include/sys/types.h (off_t, ssize_t): Always typedef them when...
1106         [_POSIX_C_SOURCE || !_NO_OLDNAMES]: ...either of these prevails.
1107
1108         * include/io.h (_fsize_t): Do not suppress its typedef when...
1109         [__STRICT_ANSI__]: ...this compiler option applies, irrespective of...
1110         [!(_IO_H && _WCHAR_H)]: ...this, which otherwise causes supression.
1111
1112 2016-09-20  Keith Marshall  <keithmarshall@users.sourceforge.net>
1113
1114         Prepare and tag mingwrt-3.22.2 patch release.
1115
1116         * configure.ac (AC_INIT): Increment patch level.
1117         * config.guess config.sub: Delete, per 2016-07-16 commit.
1118         * include/stdlib.h: Backport, per 2016-09-14 commit.
1119         * include/wchar.h: Backport, per 2016-09-17 commits.
1120
1121 2016-09-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
1122
1123         Add missing <wchar.h> declarations when compiling C++.
1124
1125         * include/wchar.h (fwide, mbsinit, wmemset, wmemchr, wmemcpy)
1126         (wmemmove, wcstoll, wcstoull): Declare each of these for either of...
1127         [_ISOC99_SOURCE || __cplusplus]: ...these conditions, rather than...
1128         [_ISOC99_SOURCE]: ...this alone.
1129
1130 2016-09-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
1131
1132         Stricter <wchar.h> ISO-C99 conformity filtering.
1133
1134         * include/wchar.h [__STRICT_ANSI__]: Do not include any part of...
1135         (direct.h, io.h, sys/stat.h, locale.h, process.h): ...any of these.
1136
1137 2016-09-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
1138
1139         Relax strict ISO-C conformity to facilitate C99 support.
1140
1141         * include/stdlib.h (_atoi64, _exit) [__STRICT_ANSI__]: Convention
1142         dictates that the Microsoft specific functions should not be declared;
1143         however, C99 provides equivalents in atoll() and _Exit(), for which we
1144         gratuituously use them to provide inline implementations; thus...
1145         [_ISOC99_SOURCE && !__NO_INLINE__]: ...declare them anyway.
1146
1147 2016-09-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
1148
1149         Suppress expected header warnings when running testsuite.
1150
1151         * include/dir.h include/dos.h [__IN_MINGWRT_TESTSUITE__]: New feature
1152         test; do not emit warning messages, which declare this pair of headers
1153         to be obsolete.  These warnings are expected, but their format may not
1154         be deterministically predictable; there is no reason to fail any test
1155         on account of any such expected warning message.
1156
1157 2016-09-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
1158
1159         Create a preliminary autotest framework.
1160
1161         * configure.ac (AC_TESTDIR): Initialize tests subdirectory.
1162         (AC_PROG_CXX): Identify C++ compiler; the testsuite will use it.
1163         (AC_CHECK_PROG): Check availability of autom4te; specify fallback.
1164         (AC_CONFIG_FILES): Add instantiation requests for tests/atlocal,
1165         tests/Makefile, and tests/testsuite.at.tmp
1166
1167         * tests/testsuite.at.in tests/atlocal.in tests/headers.at
1168         * tests/Makefile.in: New files; implement them.
1169
1170         * Makefile.in (check, check-recursive, tests): Implement new goals.
1171         (mingwrt-srcdist-files): Subdivide package files complement into...
1172         (mingwrt-srcdist-package-files): ...this original collection, and...
1173         (mingwrt-srcdist-testsuite-files): ...this additional set.
1174
1175         * test_headers.c: Superseded by autotest; delete it.
1176
1177 2016-08-25  Keith Marshall  <keithmarshall@users.sourceforge.net>
1178
1179         Add pthreads-win32 courtesy support hooks.
1180
1181         * include/errno.h: Assert copyright; tidy layout.
1182         (_ERRNO_H_): Rename this repeat inclusion guard macro as...
1183         (_ERRNO_H): ...this, conforming to preferred naming convention.
1184         [__PTW32_H]: Include "ptw32_errno.h".
1185
1186         * include/time.h [__SCHED_H_SOURCED__]
1187         (struct timespec): Typedef it selectively; do not define...
1188         (_TIME_H): ...this.
1189
1190 2016-08-07  Keith Marshall  <keithmarshall@users.sourceforge.net>
1191
1192         Implement POSIX printf() feature per request [#2310].
1193
1194         * mingwex/stdio/pformat.c [WITH_XSI_FEATURES]: Delete references.
1195         (PFORMAT_GROUPED): New manifest constant; define it.  It previously
1196         appeared in an occluded XSI feature reference, but is now required.
1197         (__pformat_t.tslen, __pformat_t.tschr, __pformat_t.grouping): New
1198         structure member fields; they maintain control state as set up by...
1199         (__pformat_enable_thousands_grouping): ...this new internal function.
1200         (__pformat_int_bufsiz): Use it; it may request a size increment.
1201         (__pformat_emit_digit, __pformat_emit_punct): New functions; they
1202         handle output of digits, radix point, and thousands digits separator
1203         punctuation for all numeric conversion formats, thus replacing...
1204         (__pformat_emit_numeric_value, __pformat_emit_radix_point): ...these;
1205         delete them, and update all callers to use appropriate replacements.
1206         (__pformat_int) [PFORMAT_GROUPED]: Add and emit group separators.
1207         (__pformat_xint_bufsiz): New internal function; it serves in place of
1208         __pformat_int_bufsiz(), for those integer data conversion formats
1209         which explicitly do not support thousands digits grouping, hence...
1210         (__pformat_xint): ...use it, rather than __pformat_int_bufsiz().
1211         (__pformat_adjust_for_grouping): New internal function; it adjusts the
1212         __gdtoa radix point index for fixed point conversion formats, to allow
1213         for the insertion of thousands digits group separators, hence...
1214         (__pformat_emit_float): ...use it, and emit separators as appropriate.
1215         (__pformat_emit_efloat) [PFORMAT_GROUPED]: Explicitly disable it.
1216         (__pformat): Initialise stream references for __pformat_t.grouping,
1217         __pformat_t.tslen, and _pformat_t.tschr, on entry; release any memory
1218         allocated for __pformat_t.grouping, when done.
1219
1220 2016-08-01  Keith Marshall  <keithmarshall@users.sourceforge.net>
1221
1222         Implement POSIX conforming getline() and getdelim() functions.
1223
1224         * mingwrt/mingwex/stdio/getdelim.c: New file.
1225         * mingwrt/man/getline.3.man: Likewise.
1226
1227         * mingwrt/include/stdio.h [_POSIX_C_SOURCE >= 200809L]
1228         (getdelim): New function, implemented externally; declare prototype.
1229         (getline): New function; declare prototype; implement as __CRT_ALIAS
1230         inline, with __LIBIMPL__ external representation.
1231
1232         * mingwrt/Makefile.in (libmingwex.a): Add getdelim.$OBJEXT
1233         (mingwrt-man$man3ext): Add manpage dependency references to create...
1234         (getline.$man3ext, getdelim.$man3ext): ...these; declare them as
1235         distributable duplicates, to be generated from...
1236         (getline.$man3ext.man): ...this common source.
1237
1238 2016-08-01  Keith Marshall  <keithmarshall@users.sourceforge.net>
1239
1240         Merge mingwrt-3.22.1 legacy updates to 5.0-active branch.
1241
1242         * mingwex/math/powl.c: Update per issue [#2036] workaround.
1243         * mingwex/stdio/pformat.c: Likewise, per issue [#2309] resolution,
1244         and subsequent 2016-07-24 optimization.
1245
1246 2016-07-31  Keith Marshall  <keithmarshall@users.sourceforge.net>
1247
1248         Prepare and tag all files for release of mingwrt-3.22.1.
1249
1250         * configure.ac (AC_INIT): Adjust package version number; append
1251         patch level identification.
1252
1253 2016-07-31  Keith Marshall  <keithmarshall@users.sourceforge.net>
1254
1255         Interim workaround for issue [#2306].
1256
1257         * mingwex/math/powl.c: Tidy layout; correct indentation.
1258         (powl, reducl): Use ISO-C declaration syntax; K&R is obsolescent.
1259         (powl) [OVERFLOW]: Correct representation of return value, using...
1260         (INFINITYL): ...this manifest constant value, instead of...
1261         (MAXNUML): ...this.
1262
1263 2016-07-24  Keith Marshall  <keithmarshall@users.sourceforge.net>
1264
1265         Optimize printf() field width accumulation function.
1266
1267         * mingwex/stdio/pformat.c (__imul10plus): Omit multiply by ten on
1268         already accumulated zero total; it is unnecessary, since ten times
1269         zero is still zero.
1270
1271 2016-07-22  Keith Marshall  <keithmarshall@users.sourceforge.net>
1272
1273         Fix printf() field width parsing regression issue [#2309].
1274
1275         * mingwex/stdio/pformat.c (__imul10plus): Coerce any accumulated
1276         negative total to zero; the only negative value to be handled is...
1277         (PFORMAT_IGNORE): ...this; it ceases to be applicable, on first call
1278         to __imul10plus(), to accumulate field width or precision.
1279
1280 2016-07-19  Keith Marshall  <keithmarshall@users.sourceforge.net>
1281
1282         Update install-sh to match mingw.org/build-aux package.
1283
1284         * install-sh: Delete it; use version in parent directory instead,
1285         recreating local copy, (as symlink, if supported), on demand.
1286
1287 2016-07-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
1288
1289         Eliminate redundant configuration files.
1290
1291         * aclocal.m4 VERSION.m4: Delete them; restore them on demand, via...
1292         * Makefile.in ($top_srcdir/../%): ...this symlink dependency rule.
1293
1294         * configure.ac (AC_PROG_LN_S): Add configuration check.
1295
1296 2016-07-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
1297
1298         Merge mingwrt-3.22 packaging correction to 5.0-active branch.
1299
1300 2016-07-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
1301
1302         Correct mingwrt-3.22 source package subdirectory omission.
1303
1304         * Makefile.in (mingwrt-srcdist-files): Add msvcrt-xref.
1305
1306 2016-07-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
1307
1308         Discard redundant config.guess and config.sub files.
1309
1310         * config.guess config.sub: Delete them; they are no longer required.
1311
1312 2016-07-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
1313
1314         Merge recent legacy branch updates to 5.0-active branch.
1315
1316         * Makefile.in include/ctype.h include/excpt.h include/stdint.h
1317         * include/glob.h include/limits.h include/locale.h include/search.h
1318         * include/stdio.h include/stdlib.h include/wchar.h include/wctype.h
1319         * include/sys/param.h include/sys/stat.h mingwex/tdelete.c
1320         * mingwex/tfind.c mingwex/tsearch.c mingwex/twalk.c: Updated.
1321
1322 2016-07-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
1323
1324         Prepare and tag all files for release of mingwrt-3.22.
1325
1326         * configure.ac (AC_INIT): Adjust package version number.
1327
1328 2016-07-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
1329
1330         Preserve kludge to evade GCC build failure on S_ISBLK misuse.
1331
1332         * include/sys/stat.h (_NO_UNSUPPORTED): New feature test macro; it
1333         should be user defined, if desired, before inclusion; leave undefined.
1334         [!_S_IFBLK && !_NO_UNSUPPORTED && !_NO_OLDNAMES] (S_ISBLK): Define it,
1335         as appropriate for POSIX conforming usage; do not poison it.
1336
1337 2016-07-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
1338
1339         Fix C++ strict type checking inconsistency in <glob.h>
1340
1341         * include/glob.h (__ERRFUNC_P): New private macro; define it to match
1342         the type signature of the error function pointer, to be passed to...
1343         (glob): ...this function; use it to correctly represent error function
1344         pointer argument in inline implementation.
1345
1346 2016-07-09  Keith Marshall  <keithmarshall@users.sourceforge.net>
1347
1348         Factor out <ctype.h> vs. <wctype.h> duplicate elements.
1349
1350         * include/ctype.h: Assert copyright; tidy layout.
1351         [!_CTYPE_H_]: Do not evaluate; rename macro to be tested, as...
1352         [!_CTYPE_H]: ...this preferred multiple inclusion guard macro name.
1353         (__CTYPE_H_SOURCED__): New macro; define it, and include <wctype.h>,
1354         so requesting partial inclusion, to retrieve definitions for...
1355         (_ALPHA, _BLANK, _CONTROL, _DIGIT, _HEX, _LOWER, _PUNCT, _SPACE)
1356         (_UPPER, WEOF): ...these macros; hence, do not define them locally.
1357         (wint_t, wchar_t, wctype_t): Likewise these type definitions...
1358         (iswalnum, iswalpha, iswascii, iswblank, iswcntrl, iswctype)
1359         (iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace)
1360         (iswupper, iswxdigit, towlower, towupper, is_wctype): ...these function
1361         prototypes, and corresponding inline alternative implementations.
1362         (_BEGIN_C_DECLS, _END_C_DECLS): Use these as appropriate.
1363         [__MSVCRT_VERSION__<=__MSVCR70_DLL]: Likewise.
1364
1365         * include/wctype.h: Assert copyright; tidy layout.
1366         [!_WCTYPE_H_]: Do not evaluate; rename macro to be tested, as...
1367         [!_WCTYPE_H]: ...this preferred multiple inclusion guard macro name;
1368         do not define it when partial inclusion only is selected, by...
1369         [__CTYPE_H_SOURCED__]: ...this; thence define only...
1370         (_ALPHA, _BLANK, _CONTROL, _DIGIT, _HEX, _LOWER, _PUNCT, _SPACE)
1371         (_UPPER): ...these character characterisation macros...
1372         (wint_t, wchar_t, wctype_t): ...these type definitions...
1373         (iswalnum, iswalpha, iswascii, iswblank, iswcntrl, iswctype)
1374         (iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace)
1375         (iswupper, iswxdigit, towlower, towupper): ...these function
1376         prototypes, with corresponding inline alternative implementations...
1377         (is_wctype): ...this further prototype, qualified as deprecated...
1378         (WEOF): ...and this status reporting macro.
1379         (_ctype, _pctype, _pctype_dll, _imp___ctype, _imp___pctype): Delete
1380         declarations, and associated definitions; they do not belong here.
1381         (isleadbyte): Likewise, this Microsoft specific function prototype...
1382         (_LEADBYTE): ...and this associated character classification macro.
1383         (_BEGIN_C_DECLS, _END_C_DECLS): Use these as appropriate.
1384
1385 2016-07-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
1386
1387         Do not pass MAKEFLAGS explicitly, when invoking recursive make.
1388
1389         * Makefile.in (install-strip, uninstall): Delete explicit $(MAKEFLAGS)
1390         references from $(MAKE) command lines; make passes them implicitly.
1391
1392 2016-07-03  Keith Marshall  <keithmarshall@users.sourceforge.net>
1393
1394         Rework tsearch and friends; resolve issues [#1512] and [#1576].
1395
1396         * include/search.h: Assert copyright; tidy layout.
1397         (_SEARCH_H_): Rename this multiple inclusion guard macro...
1398         (_SEARCH_H): ...to conform to this preferred standard convention.
1399         (__search_comparator): New function prototype typedef; it provides a
1400         convenient shorthand notation for argument declarations in functions
1401         which require a comparator function pointer; use it where appropriate.
1402         (tsearch, tfind, tdelete) [__MINGW_ATTRIB_NONNULL]: Apply to arguments
1403         #2 and #3; was previously incorrectly applied to arguments #1 and #3.
1404         (twalk) [__MINGW_ATTRIB_NONNULL]: Apply to both arguments #1 and #2.
1405         [_SEARCH_PRIVATE] (__MINGW_ATTRIB_NONNULL): Suppress its effect, to
1406         ensure that GCC does not optimize away checks within implementation.
1407         (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
1408
1409         * mingwex/tdelete.c: Tidy layout.
1410         (tdelete): Reimplement it as a thin wrapper around...
1411         (__tdelete): ...this; it encapsulates the original implementation as a
1412         __CRT_ALIAS (inline) function, to simplify void ** --> node_t ** casts.
1413         Remove unnecessary non-null assertions for arguments #1 and #3; prefer
1414         to validate arguments #2 and #3 internally, and simply return NULL if
1415         necessary; hence, do not include <assert.h>
1416
1417         * mingwex/tfind.c: Tidy layout.
1418         (tfind): Similarly reimplement it as a thin wrapper around...
1419         (__tfind): ...this __CRT_ALIAS (inline) encapsulation of the original.
1420         Add non-null validation for argument #3; do not include <assert.h>
1421
1422         * mingwex/tsearch.c: Tidy layout.
1423         (tsearch): Once again, reimplement it as a thin wrapper around...
1424         (__tsearch): ...this __CRT_ALIAS variant.  Add non-null validation for
1425         argument #3; do not include <assert.h>
1426
1427         * mingwex/twalk.c: Tidy layout; do not include <assert.h>
1428
1429 2016-06-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
1430
1431         Rework __try1/__except1 to resolve issue [#1328].
1432
1433         * include/excpt.h: Assert copyright; tidy layout.
1434         (_EXCPT_H_): Multiple inclusion guard macro renamed to...
1435         (_EXCPT_H): ...this; update all references as appropriate.
1436         (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
1437         (__typecast_alloca): New macro; define it, casting return type of...
1438         (__builtin_alloca): ...this to a specified data type; use it in...
1439         (__try1_setup, __except1_teardown): ...these new macros; define them
1440         as parameterized templates, providing both -masm-att and -masm-intel
1441         syntax implementations, with host specific word size and register
1442         assignment parameter substitutions; use them to redefine...
1443         (__try1, __except1): ...each of these, using __builtin_alloca to avoid
1444         direct stack pushes when registering exception handlers; assign the
1445         template parameters as appropriate to support implementation for...
1446         [_WIN64, _WIN32]: ...either of these, as the host requires.
1447
1448 2016-06-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
1449
1450         Merge Cygwin CVS updates to legacy branch.
1451
1452         * include/stdio.h: Merge 2011-11-30 and 2012-08-02 commits.
1453         (getc, getchar, putc, putchar): Declare function prototypes.
1454         (fopen64, ftello64): Likewise; change implementation classification
1455         from __CRT_INLINE to __CRT_ALIAS, to avoid C++ emitted code bloat.
1456         (_lock_file, _unlock_file): Add prototypes; modify merge to...
1457         [__MSVCRT_VERSION__>=__MSVCR80_DLL]: ...require this.
1458
1459         * include/stdint.h: Merge 2012-07-30 commit; include <_mingw.h>
1460
1461         * include/excpt.h: Merge 2012-08-01 commit.
1462         (__try1, __except1) [_WIN64]: Add alternative implementations.
1463
1464         * include/stdlib.h: Merge 2012-08-02 commit.
1465         [__MSVCRT__VERSION__>=__MSVCR70_DLL || _WIN32_WINNT >= _WINXP]
1466         (_strtoi64, _strtoui64, _wcstoi64, _wcstoui64): Declare prototypes.
1467         [__MSVCRT__VERSION__>=__MSVCR80_DLL || _WIN32_WINNT >= _VISTA]
1468         (_strtoi64_l, _strtoui64_l, _wcstoi64_l, _wcstoui64_l): Likewise...
1469         [!__have_typedef_locale_t] (__need_locale_t): ...and define to get...
1470         (locale_t): ...this, by selective inclusion of <locale.h>
1471         [__WCHAR_H_SOURCED] (_wcstoi64, _wcstoui64, _wcstoi64_l)
1472         (_wcstoui64_l): Make these function prototypes available for selective
1473         inclusion by...
1474         * include/wchar.h: ...this; merge 2012-08-02 commit.
1475         [__MSVCRT__VERSION__>=__MSVCR70_DLL || _WIN32_WINNT >= _WINXP]
1476         (_wcstoi64, _wcstoui64): Note availability of function prototypes via
1477         selective inclusion of their actual declarations from <stdlib.h>
1478         [__MSVCRT__VERSION__>=__MSVCR80_DLL || _WIN32_WINNT >= _VISTA]
1479         (_wcstoi64_l, _wcstoui64_l): Likewise.
1480
1481         * include/limits.h: Merge 2012-08-02 commit.
1482         [__STRICT_ANSI__] (PATH_MAX): Suppress definition.
1483
1484         * include/sys/param.h: Merge 2012-08-02 commit.
1485         [PATH_MAX not defined] (MAXPATHLEN): Define it explicitly.
1486         [PATH_MAX defined] (MAXPATHLEN): Define it as an alias.
1487
1488 2016-06-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
1489
1490         Add typedef and access support for opaque locale_t objects.
1491
1492         * include/locale.h (locale_t, _locale_t): Define opaque types.
1493         [__need_locale_t]: Make them selectively accessible; define...
1494         (__have_typedef_locale_t): ...this, when they are available.
1495         [_LOCALE_H] (_create_locale, _get_current_locale, _free_locale):
1496         Declare function prototypes, on direct <locale.h> inclusion only.
1497         [_LOCALE_H || _WCHAR_H] (_wcreate_locale): Likewise; this is to be
1498         visible on direct inclusion, or when including <wchar.h>
1499
1500         * include/stdio.h [!(_STDIO_H && _WCHAR_T)]: Correct expression of...
1501         [__MSVCR80_DLL || _WIN32_WINNT_VISTA]: ...this subsidiary condition;
1502         for all cases when this is true, (including when [_STDIO_H] alone)...
1503         [!__have_typedef_locale_t] (__need_locale_t): ...define this, and
1504         include <locale.h>, for selective definition of...
1505         (locale_t): ...this.
1506
1507 2016-05-19  Keith Marshall  <keithmarshall@users.sourceforge.net>
1508
1509         Occlude unsupported _S_IFBLK feature; resolve issue [#1146].
1510
1511         * include/sys/stat.h (_MINGW_S_IFBLK_KLUDGE): New feature test macro;
1512         do not define it, and strongly recommend that it remains undefined.
1513         [!_MINGW_S_IFBLK_KLUDGE] (_S_IFBLK, S_IFBLK): Do not define them.
1514         [!_MINGW_S_IFBLK_KLUDGE] (_S_ISBLK, S_ISBLK): Poison them.
1515         [_MINGW_S_IFBLK_KLUDGE] (_S_IFBLK, S_IFBLK): Adjust definitions; use a
1516         modified value, which is guaranteed to be impossible to match in...
1517         [_S_ISBLK, S_ISBLK]: ...these, thus enforcing false test results.
1518
1519 2016-05-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
1520
1521         Fix a typo in a <sys/stat.h> inline function definition.
1522
1523         * include/sys/stat.h [__MSVCRT_VERSION__ >= __MSVCR80_DLL]
1524         (stat): First argument declared as 'int'; should be 'const char *';
1525         correct it.
1526
1527 2016-05-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
1528
1529         Synchronize package version management with Win32-API.
1530
1531         * VERSION.m4: New file; link it to keep in sync with identically named
1532         file in top level composite package source directory; it defines...
1533         (__VERSION__): ...this new composite package version macro.
1534
1535         * aclocal.m4: Link it, to keep in sync with identically named files in
1536         top level composite source and sibling w32api sub-package directories.
1537         (__VERSION__): New macro; include VERSION.m4 to define it.
1538         (__BUG_REPORT_URL__): New macro; define it.
1539
1540         * configure.ac (AC_INIT): Assign package version and bug report URL...
1541         (__VERSION__, __BUG_REPORT_URL__): ...from these, as defined through
1542         automatic inclusion of aclocal.m4
1543
1544         * Makefile.in (configure): Add dependency on VERSION.m4
1545
1546 2016-05-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
1547
1548         Resolve some strnlen() implementation issues.
1549
1550         * mingwex/strnlen.s (__mingw_strnlen) [!NUL]: Correct termination
1551         logic; should have used jnz, not jz, to skip endpoint adjustment on
1552         scanning past a terminal NUL character code.
1553
1554         * include/string.h [_POSIX_C_SOURCE >= 200809L] (strnlen): Do not
1555         #define it, as this breaks GCC compilation; use __CRT_ALIAS instead,
1556         with __JMPSTUB__ referencing via "oldname" libraries.
1557
1558         * Makefile.in (jmpstub_awk_script, libimpl_awk_script): Adapt to
1559         facilitate assignment of __JMPSTUB__ and __LIBIMPL__ references to
1560         libraries other than libmingwex.a
1561         (strnlen.jmpstub.$OBJEXT): Assign it to all "moldname" libraries prior
1562         to libmoldname80.a, in addition to libcoldname.a, as specified by the
1563         __JMPSTUB__ assignment within <string.h>
1564
1565 2016-05-03  Keith Marshall  <keithmarshall@users.sourceforge.net>
1566
1567         Enforce consistent specification of package version.
1568
1569         * include/_mingw.h: Rename as...
1570         * include/_mingw.h.in: ...this build-time template file.
1571         (__MINGW32_VERSION): Redefine it, in terms of...
1572         (%PACKAGE_VERSION_LONG%): ...this substitution template.
1573         (__MINGW32_MAJOR_VERSION, __MINGW32_MINOR_VERSION)
1574         (__MINGW32_PATCHLEVEL): Likewise, redefine them in terms of...
1575         (%PACKAGE_VERSION_MAJOR%, %PACKAGE_VERSION_MINOR%)
1576         (%PACKAGE_VERSION_PATCH%): ...these.
1577
1578         * configure.ac (AC_CONFIG_SRCDIR): Adjust for renamed file.
1579         (MINGW_AC_CONFIG_EXTRA_SRCDIR): Likewise, for similarly renamed
1580         w32api/include/w32api.h.in file.
1581
1582         * Makefile.in (all-mingwrt-stage-1-only): Add dependency on...
1583         (_mingw.h, w32api.h): ...these; add rule to generate them, using...
1584         (PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): ...these new macros;
1585         they apply appropriate substitutions to the renamed template files.
1586         (install-mingwrt-headers): Explicitly add _mingwrt.h
1587
1588 2016-04-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
1589
1590         Make strnlen() available for all MSVCRT.DLL versions.
1591
1592         * msvcrt-xref/msvcrt.def.in (strnlen): Mark it as...
1593         (__MINGW_DLSYM): ...this, excluding its exposure in libmsvcrt.dll, and
1594         thus requiring a dlsym() lookup for versions which provide it.
1595
1596         * include/string.h [__MSVCRT_VERSION__>=__MSVCR80_DLL] (strnlen):
1597         Declare prototype, for use from these non-free DLLs, otherwise...
1598         [_POSIX_C_SOURCE >= 200809L] (strnlen): Define it as an alias for...
1599         (__mingw_strnlen): ...this new libmingwex.a function.
1600
1601         * mingwex/strnlen.s: New file; it implements...
1602         (__mingw_strnlen, __mingw_strnlen_s): ...these new functions.
1603
1604         * Makefile.in (libmingwex.a): Add requirement for...
1605         (strnlen.$OBJEXT): ...this; add vpath specification for its source.
1606
1607 2016-04-26  Keith Marshall  <keithmarshall@users.sourceforge.net>
1608
1609         Use correct paths for partially included header files.
1610
1611         * include/io.h include/process.h: Use 'iquote' #include "stdint.h", to
1612         ensure that we get stdint.h from the same include directory.
1613         * include/stdio.h: Likewise for #include "stdarg.h", and "sys/types.h"
1614         * include/wchar.h: Likewise for all of #include "stdio.h", "stdlib.h",
1615         "direct.h", "sys/stat.h", "io.h", "time.h", "locale.h", and "process.h"
1616         * include/dir.h include/dos.h: Likewise for #include "io.h"
1617         * include/direct.h: Likewise for #include "dos.h"
1618
1619 2016-04-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
1620
1621         Generalize procedure for installing manpages.
1622
1623         * man/dirname.man: Rename it as...
1624         * man/dirname.3.man: ...this, with inherent MANSECT specification.
1625         (TH): Use %PAGEREF% substitution for NAME, MANSECT, and DATE.
1626         (MS-Windows): Do not append \[tm]; it doesn't render well in Windows
1627         console. Further, correct typos; some syntactic adjustments.
1628
1629         * Makefile.in (%:%.man): New rule; define it.
1630         (%.mancopy, %.mancopy-recursive): New rules; define and use with...
1631         (reference_manpage): ...this new macro, defining it to map...
1632         (dirname.3.man): ...this as the reference source file for both of...
1633         (basename.3, dirname.3): ...these installed manpages.
1634         (format_manpage): Add MANSECT and DATE to expansion of...
1635         (%PAGEREF%): ...this sed substitution pattern.
1636
1637 2016-04-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
1638
1639         Update several incorrectly attributed header files.
1640
1641         * include/direct.h include/io.h include/locale.h include/math.h
1642         * include/process.h include/stdio.h include/stdlib.h include/string.h
1643         * include/sys/stat.h include/sys/types.h include/time.h: Identify the
1644         original author as Colin Peters; Rob Savoye merely imported them into
1645         the original CVS repository, when he created it.
1646
1647         * include/wchar.h: Likewise, imported by Rob Savoye, but the original
1648         source file is unattributed.
1649
1650 2016-04-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
1651
1652         Eliminate all references to non-standard __NO_ISOCEXT macro.
1653
1654         * include/math.h: Tidy layout.
1655         [!defined __NO_ISOCEXT]: Do not use this ugly double negative; in any
1656         case, we do not want to encourage users to define such implementation
1657         private macros; instead, prefer to make use of...
1658         [defined _ISOC99_SOURCE]: ...this glibc compatible feature test.
1659         [__STDC_VERSION__ >= 199901L]: Do not require this; it is implied, by
1660         definition, in _ISOC99_SOURCE.
1661         * include/stdio.h [!defined __NO_ISOCEXT]: Likewise; replace with...
1662         [defined _ISOC99_SOURCE]: ...this, throughout.
1663
1664 2016-04-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
1665
1666         Make resetting of __need_typedef requests more robust.
1667
1668         * include/sys/types.h [__need_off_t, __need___off64_t]
1669         [__need_ssize_t, __need_time_t]: Move corresponding #undef out of, and
1670         after the respective conditional blocks, which provide each associated
1671         typedef, so ensuring that any repeat request is properly reset.
1672
1673         * include/time.h [__need_time_t]: Always delegate to <sys/types.h> for
1674         typedef, and reset of request, even in cases where...
1675         [_TIME_H]: ...this is already defined.
1676
1677 2016-04-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
1678
1679         Add a missing comment terminator.
1680
1681         * include/io.h [!(defined _IO_H && defined _WCHAR_H)]: Properly
1682         terminate the comment annotating the closing #endif statement.
1683
1684 2016-04-06  Keith Marshall  <keithmarshall@users.sourceforge.net>
1685
1686         Declare <dir.h> as formally deprecated.
1687
1688         * include/dir.h: Assert copyright.
1689         (pragma GCC system_header): Declare it.
1690         (_DIR_H): Define as multiple inclusion macro.
1691         [!_DIR_H]: Emit "obsolete header" warning message.
1692
1693 2016-04-06  Keith Marshall  <keithmarshall@users.sourceforge.net>
1694
1695         Factor out <wchar.h> vs. <io.h> duplicate declarations.
1696
1697         * include/io.h: Assert copyright; tidy layout.
1698         (_IO_H_): Rename this multiple inclusion guard macro...
1699         (_IO_H): ...to this preferred form; do not define it when...
1700         [__WCHAR_H_SOURCED__]: ...this is defined, in which case declare...
1701         (_waccess, _wchmod, _wcreat, _wopen, _wsopen, _wunlink, _wmktemp)
1702         (_wfindfirst, _wfindnext, _wfindfirst64, _wfindnext64, _wfindfirsti64)
1703         (_wfindnexti64, _wfindfirst32i64, _wfindnext32i64, _wfindfirst64i32)
1704         (_wfindnext64i32, _wfindfirst32, _wfindnext32, _findclose): ...only
1705         these function prototypes, common to <wchar.h>, together with...
1706         (_fsize_t, struct _wfinddata_t, struct _wfinddatai64_t)
1707         (struct __wfinddata64_t, struct _wfinddata64i32_t)
1708         (struct _wfinddata32i64_t, struct __wfinddata32_t): ...these
1709         requisite data type definitions.
1710         (pragma GCC system_header): Declare it.
1711         (__need_intptr_t): Define, and include <stdint.h> to get...
1712         (intptr_t): ...this typedef; neither define it locally, nor define...
1713         (_INTPTR_T_DEFINED): ...this; delete all references.
1714         (_FSIZE_T_DEFINED): Do not define it; delete all references; rather...
1715         [!(defined _IO_H && defined _WCHAR)] (_fsize_t): Define it.
1716         (FILENAME_MAX): Define it unconditionally.
1717         (__struct_finddata_t): New temporary macro; define and use it to...
1718         (struct _finddata_t, struct _wfinddata_t, struct _finddatai64_t)
1719         (struct _wfinddatai64_t, struct __finddata64_t, struct __wfinddata64_t)
1720         (struct _finddata64i32_t, struct _wfinddata64i32_t)
1721         (struct _finddata32i64_t, struct _wfinddata32i64_t)
1722         (struct __finddata32_t, struct __wfinddata32_t): ...define these.
1723
1724         * include/wchar.h (_WFINDDATA_T_DEFINED): Do not define it; delete all
1725         references; filter out associated data type definitions, namely...
1726         (struct _wfinddata_t, struct _wfinddatai64_t): ...these, and also...
1727         (struct __wfinddata64_t, struct _wfinddata64i32_t): ...these, and...
1728         (struct _wfinddata32i64_t, struct __wfinddata32_t): ...these.
1729         (_WIO_DEFINED): Likewise, do not define it; delete all references;
1730         filter out associated function prototype declarations for all of...
1731         (_waccess, _wchmod, _wcreat, _wopen, _wsopen, _wunlink, _wmktemp)
1732         (_wfindfirst, _wfindnext, _wfindfirst64, _wfindnext64, _wfindfirsti64)
1733         (_wfindnexti64, _wfindfirst32i64, _wfindnext32i64, _wfindfirst64i32)
1734         (_wfindnext64i32, _wfindfirst32, _wfindnext32): ...these; reproduce
1735         them by selective inclusion of <io.h>.
1736
1737 2016-04-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
1738
1739         Factor out <wchar.h> vs. <process.h> duplicate declarations.
1740
1741         * include/process.h: Assert copyright; tidy layout.
1742         (_PROCESS_H_): Rename this multiple inclusion guard macro...
1743         (_PROCESS_H): ...to this preferred form; do not define it when...
1744         [__WCHAR_H_SOURCED__]: ...this is defined, in which case declare...
1745         (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve, _wexecvp)
1746         (_wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe, _wspawnv)
1747         (_wspawnve, _wspawnvp, _wspawnvpe): ...only these functions.
1748         [!__WCHAR_H_SOURCED__] (_PROCESS_H): Define it; declare all functions
1749         normally specified herein, including those listed above, as required.
1750         (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
1751         (__need_intptr_t): Define it prior to including <stdint.h>.
1752         (pragma GCC system_header): Declare it.
1753
1754         * include/wchar.h (_WPROCESS_DEFINED): Delete it; filter out...
1755         (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve, _wexecvp)
1756         (_wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe, _wspawnv)
1757         (_wspawnve, _wspawnvp, _wspawnvpe): ...these function prototypes;
1758         reproduce them, by selective inclusion of <process.h>.
1759
1760 2016-04-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
1761
1762         Enable selective retrieval of intptr typedefs from <stdint.h>.
1763
1764         * include/stdint.h: Assert copyright; tidy layout.
1765         [__need_intptr_t || __need_uintptr_t] (_STDINT_H): Do not define it;
1766         conceal all normally defined data types, except either or both of...
1767         [__need_intptr_t] (intptr_t): ...this, and/or...
1768         [__need_uintptr_t] (uintptr_t): ...this.
1769         (pragma GCC system_header): Declare it.
1770
1771 2016-03-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
1772
1773         Factor out <wchar.h> vs. <sys/stat.h> duplicate declarations.
1774
1775         * include/sys/stat.h: Assert copyright; tidy layout.
1776         (pragma GCC system_header): Declare it.
1777         (_STAT_H_): Rename multiple inclusion guard macro; adopt...
1778         (_SYS_STAT_H): ...this preferred naming convention; however, when...
1779         [__WCHAR_H_SOURCED__] (_SYS_STAT_H): ...do not define it; declare...
1780         (_wstat, _wstati64, _wstat64, _wstat32): ...these functions, and...
1781         (_wstat32i64, _wstat64i32): ...these, as appropriate to user specified
1782         __MSVCRT_VERSION__ and _WIN32_WINNT macro definitions, namely...
1783         [__MSVCRT_VERSION__ >= 0x601]: ...this, updated to become...
1784         [__MSVCRT_VERSION__ >= __MSVCR61_DLL]: ...this; augment it with...
1785         [|| _WIN32_WINNT >= _WIN32_WINNT_WIN2K]: ...this complement; also...
1786         [__MSVCRT_VERSION__ < 0x800]: this, updated to become...
1787         [__MSVCRT_VERSION__ < __MSVCR80_DLL]: ...this; likewise...
1788         [__MSVCRT_VERSION__ >= 0x800]: ...this, which becomes...
1789         [__MSVCRT_VERSION__ >= __MSVCR80_DLL]: ...this.
1790         (__struct_stat_defined): New macro; define, and use it to define...
1791         (struct stat, struct _stat, struct _stati64, struct __stat64)
1792         (struct __stat32, struct _stat32i64, struct _stat64i32): ...these.
1793         [!__WCHAR_H_SOURCED__] (_SYS_STAT_H): Define it; also include
1794         <sys/types.h>, delegating to it the inclusion of <_mingw.h>, and
1795         definition of types size_t and wchar_t; declare all header content,
1796         including that declared when __WCHAR_H_SOURCED__ is defined, unless
1797         already declared as a result of selective inclusion by <wchar.h>
1798         (__need_size_t, __need_wchar_t): Do not define them; consequently,
1799         there is no need to include <stddef.h>; do not do so.
1800
1801         * include/wchar.h (_wstat, _wstati64, _wstat64): Factor out.
1802         (_wstat32, _wstat32i64, _wstat64i32, struct stat, struct _stat)
1803         (struct _stati64, struct __stat64, struct __stat32, struct _stat32i64)
1804         (struct _stat64i32): Likewise; reproduce them by selective inclusion
1805         of <sys/stat.h>
1806
1807 2016-03-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
1808
1809         Factor out <wchar.h> vs. <direct.h> duplicate declarations.
1810
1811         * include/direct.h: Conditionally partition it, such that...
1812         [__WCHAR_H_SOURCED__] (_DIRECT_H): Do not define it; declare only...
1813         (_wchdir, wchar_t, wchar_t, _wmkdir, _wrmdir): ...these, otherwise...
1814         [!__WCHAR_H_SOURCED__] (_DIRECT_H): Define it; expose all content.
1815         (_WDIRECT_DEFINED): Never define it; delete all references.
1816
1817         * include/wchar.h (_WDIRECT_DEFINED): Delete all references.
1818         (_wchdir, wchar_t, wchar_t, _wmkdir, _wrmdir): Delete prototypes;
1819         selectively #include <direct.h> to reproduce them.
1820
1821 2016-03-26  Keith Marshall  <keithmarshall@users.sourceforge.net>
1822
1823         Factor out <direct.h> vs. <dos.h> duplicate declarations.
1824
1825         * include/dos.h: Assert copyright; tidy layout.
1826         (pragma GCC system_header): Declare it.
1827         (_DOS_H_): Rename multiple inclusion guard macro, to adopt...
1828         (_DOS_H): ...this preferred convention; do not define it when...
1829         [__DIRECT_H_SOURCED__]: ...this applies; restrict declarations to...
1830         (struct _diskfree_t): ...this aggregate data type, together with...
1831         [_NO_OLDNAMES] (diskfree_t): ...this alternative name for it, and...
1832         (_getdiskfree): ...this associated function.
1833         [!__DIRECT_H_SOURCED__] (_DOS_H): Define it; expose all content, but
1834         emit a warning that this header is obsolete, and should not be used.
1835         (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
1836         (_DISKFREE_T_DEFINED): Do not define it; delete all references.
1837         (__need_wchar_t): Do not define it; it isn't needed here, and hence,
1838         neither is it necessary to #include <stddef.h>; do not do so.  Also,
1839         do not #include <_mingw.h> explicitly, but always #include <io.h>,
1840         which will implicitly #include <_mingw.h> anyway.
1841
1842         * include/direct.h: Assert copyright; tidy layout.
1843         (pragma GCC system_header): Declare it.
1844         (_DIRECT_H_): Rename this multiple inclusion guard macro...
1845         (_DIRECT_H): ...to adopt this preferred naming convention.
1846         (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
1847         (_DISKFREE_T_DEFINED, diskfree_t, struct _diskfree_t): Do not define.
1848         (_getdiskfree): Likewise, do not declare prototype; instead...
1849         (__DIRECT_H_SOURCED__): ...define this, and #include <dos.h>; also
1850         delegate indirect inclusion of <_mingw.h> and <io.h> to this, rather
1851         than include them directly; undefine __DIRECT_H_SOURCED__ when done.
1852         (__need_wchar_t): Do not define it, and do not #include <stddef.h>;
1853         although needed, we may inherit it indirectly from <sys/types.h>,
1854         included by <io.h> via <dos.h>.
1855
1856 2016-03-26  Keith Marshall  <keithmarshall@users.sourceforge.net>
1857
1858         Evade CPP mismatched apostrophe warnings in windres comments.
1859
1860         * msvcrt-xref/msvcrt.def.in (; pexports): 1,Gs/doesn't/does not/g
1861
1862 2016-03-20  Keith Marshall  <keithmarshall@users.sourceforge.net>
1863
1864         Factor out <locale.h> vs. <wchar.h> duplicate declarations.
1865
1866         * include/locale.h: Assert copyright; tidy layout.
1867         (_LOCALE_H_): Rename multiple inclusion guard macro, to...
1868         (_LOCALE_H): ...this; do not define it when...
1869         [__WCHAR_H_SOURCED__]: ...this applies; restrict declarations to...
1870         (_wsetlocale): ...just this one visible function prototype.
1871         [!__WCHAR_H_SOURCED__] (_LOCALE_H): Define it; expose all content.
1872         (_WLOCALE_DEFINED): Do not define it; delete all references.
1873         (pragma GCC system_header): Declare it.
1874
1875         * include/wchar.h (_wsetlocale): Delete prototype; maintain its
1876         visibility by selective inclusion of <locale.h> instead.
1877         (_WLOCALE_DEFINED): Delete all references.
1878
1879 2016-03-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
1880
1881         Resolve some "implicit function declaration" warnings.
1882
1883         * setargv.c (isspace): Include <ctype.h> for declaration.
1884         * cpu_features.h (__cpu_features_init): Declare function prototype.
1885         * crt1.c (_setargv): Likewise; (this isn't needed elsewhere).
1886
1887 2016-03-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
1888
1889         Factor out <stdlib.h> vs. <wchar.h> duplicate declarations.
1890
1891         * include/stdlib.h [__WCHAR_H_SOURCED__]
1892         (_STDLIB_H): Do not define it; restrict visible declarations to...
1893         (wcstol, wcstoul, wcstod, _wgetenv, _wputenv, _wsearchenv, _wsystem)
1894         (_wmakepath, _wsplitpath, _wfullpath, wcstof, wcstold): ...this subset
1895         of regular <stdlib.h> content; full content is declared only when...
1896         [!__WCHAR_H_SOURCED__] (_STDLIB_H): ...this applies; define it.
1897         (_WSTDLIB_DEFINED): Do not define it; delete all references.
1898         (pragma GCC system_header): Declare it; tidy layout.
1899
1900         * include/wchar.h: Delete duplicated declarations for...
1901         (wcstol, wcstoul, wcstod, _wgetenv, _wputenv, _wsearchenv, _wsystem)
1902         (_wmakepath, _wsplitpath, _wfullpath, wcstof, wcstold): ...these;
1903         include <stdlib.h> selectively, to maintain their visibility.
1904         (_WSTDLIB_DEFINED): Delete all references.
1905
1906 2016-03-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
1907
1908         Relocate misplaced umask() function prototypes.
1909
1910         * include/sys/stat.h (umask, _umask): Declare prototypes; duplicate...
1911         * include/io.h (umask, _umask): ...these; POSIX doesn't expect them
1912         here, but leave them for backward, or Microsoft, compatibility.
1913
1914 2016-03-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
1915
1916         Correct another _BEGIN_C_DECLS imbalance error.
1917
1918         * include/wchar.h (_BEGIN_C_DECLS): One misplaced, superfluous, and
1919         unbalanced instance deleted; one correctly balanced instance remains.
1920
1921 2016-03-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
1922
1923         Support installation of headers with empty parts directory.
1924
1925         * Makefile.in (SUB_HEADERS_PRESENT): New macro; define it, and...
1926         (install-mingwrt-headers): ...invoke it; if false, do not perform...
1927         (INSTALL_SUB_HEADERS): ...this.
1928
1929 2016-03-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
1930
1931         Reinstate typedef for non-standard off64_t.
1932
1933         * include/sys/types.h [!__STRICT_ANSI__] (off64_t): Define it as...
1934         (__off64_t): ...typedef derived from this; although non-standard, it
1935         is gratuitously required when building GCC's libgfortran.a
1936
1937 2016-03-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
1938
1939         Correct conditional compilation block nesting errors.
1940
1941         * include/stdio.h include/time.h (_BEGIN_C_DECLS, _END_C_DECLS): Keep
1942         them balanced within, and around, conditional compilation blocks.
1943
1944 2016-03-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
1945
1946         Feature test _MINGW32_EXTENDED_SOURCE renamed.
1947
1948         * include/_mingw.h (_MINGW32_EXTENDED_SOURCE): Rename to...
1949         (_MINGW32_SOURCE_EXTENDED): ...this, to improve naming consistency...
1950         (_XOPEN_SOURCE_EXTENDED): ...with this POSIX-XSI feature test.
1951         (__USE_MINGW_ANSI_STDIO): Note that it is intended for internal use;
1952         users should enable any conventional feature test which implies it.
1953
1954         * include/time.h (_MINGW32_EXTENDED_SOURCE): Update references...
1955         (_MINGW32_SOURCE_EXTENDED): ...i.e. to refer to this.
1956
1957 2016-02-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
1958
1959         Correct atexit() and _onexit() export declaration regression.
1960
1961         * msvcrt-xref/msvcrt.def.in (atexit, _onexit): These must be exported
1962         as DATA; declare them accordingly.
1963
1964 2016-02-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
1965
1966         Refactor to make <parts/time.h> and <parts/wchar.h> redundant.
1967
1968         * include/string.h: Tidy layout.
1969         (__STRING_H_SOURCED__): New macro; define it at start; delete at end.
1970         (_stricmp, _strnicmp): Include their prototypes, selectively from...
1971         * include/strings.h [__STRING_H_SOURCED__]: ...here, reproduce them...
1972         * include/parts/strings.h: ...from here; file is obsolete; delete it.
1973
1974         * include/string.h (_wcscmpi): Define alias.
1975         (wcscat, wcschr, wcscmp, wcscoll, wcscpy, wcscspn, wcslen, wcsncat)
1976         (wcsncmp, wcsncpy, wcspbrk, wcsrchr, wcsspn, wcsstr, wcstok, wcsxfrm)
1977         (_wcsdup, _wcsicmp, _wcsicoll, _wcslwr, _wcsnicmp, _wcsnset, _wcsrev)
1978         (_wcsset, _wcsupr, _wcsncoll, _wcsnicoll, _wcserror, __wcserror)
1979         (wcscmpi, wcscmpi, wcsdup, wcsicmp, wcsicoll, wcslwr, wcsnicmp)
1980         (wcsnset, wcsrev, wcsset, wcsupr): Selectively include prototypes...
1981         * include/wchar.h [__STRING_H_SOURCED__]: ...from here; reproduce...
1982         * include/parts/wchar.h: ...from here; file is obsolete; delete it.
1983
1984         * include/strings.h (_STRINGS_H): Do not define it, when...
1985         [__STRING_H_SOURCED__]: ...selectively included by <string.h>.
1986         * include/wchar.h (_WCHAR_H) [__STRING_H_SOURCED__]: Likewise.
1987
1988 2016-02-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
1989
1990         Refactor to make <parts/time.h> redundant.
1991
1992         * include/sys/types.h (time_t, __time32_t, __time32_t)
1993         [__need_time_t && !__have_typedef_time_t]: Reproduce definitions...
1994         * include/parts/time.h: ...from here; preserve selective exposure.
1995
1996         * include/time.h (time_t, __time32_t, __time32_t): Get them...
1997         * include/sys/types.h: ...from here, by selective inclusion.
1998
1999         * include/time.h (struct timespec, struct __mingw_extended_timespec)
2000         [__need_struct_timespec && !__struct_timespec_defined]: Reproduce...
2001         * include/parts/time.h: ...from here; preserve selective exposure.
2002
2003         * include/parts/time.h: Delete file; it is no longer required.
2004
2005 2016-02-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
2006
2007         Declare the nanosleep() function where POSIX expects it.
2008
2009         * include/time.h (__mingw_sleep): Declare function prototype.
2010         (nanosleep): Declare prototype, and provide in-line implementation;
2011         this is a reproduction of the original implementation, relocated...
2012         * include/unistd.h (nanosleep): ...from here; remove it; hence...
2013         (struct timespec): ...this need not be declared here, and there is
2014         no need to include <parts/time.h>; remove reference.
2015
2016 2016-02-15  Keith Marshall  <keithmarshall@users.sourceforge.net>
2017
2018         Refactor <time.h> vs. <wchar.h> to avoid duplication.
2019
2020         * include/wchar.h (__WCHAR_H_SOURCED__): New macro; define it...
2021         [_WCHAR_H]: ...at start of processing in this scope; delete at end.
2022         (struct tm): Delete definition; delegate it, together with each of...
2023         (_wctime, _wasctime, _wstrdate, _wstrtime, _wctime64, _wctime32)
2024         (wcsftime): ...these function prototypes; delete them, but note in
2025         comments, that they remain declared, via delegation to...
2026         * include/time.h: ...this; include it selectively, subject to...
2027         [defined __WCHAR_H_SOURCED__](__need_wchar_decls): ...this; define it.
2028         [defined __WCHAR_H_SOURCED__](_TIME_H): Suppress its definition.
2029         [_TIME_H]: Process all definitions and declarations; otherwise...
2030         [__need_wchar_decls]: ...process only <wchar.h> shared content, but...
2031         [_TIME_H && _WCHAR_H]: ...not on second, or later, time of processing.
2032         (_WTIME_DEFINED): Obsolete macro; delete all references.
2033
2034 2016-02-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
2035
2036         Implement support for POSIX "%n$*m$" printf() format control.
2037
2038         * mingwex/stdio/pformat.c (NL_ARGMAX): New macro; nominally, it should
2039         be defined in <limits.h>, but MinGW may not do so; provide a fallback.
2040         (__pformat_inline__): New macro; define, and use it where appropriate.
2041         (PFORMAT_CONVERSION_TYPE, PFORMAT_LENGTH_MODIFIER)
2042         (PFORMAT_TYPE_DOUBLE, PFORMAT_TYPE_INTEGER, PFORMAT_TYPE_POINTER)
2043         (PFORMAT_LENGTH_DEFAULT): New enumerated values; define them.
2044         (PFORMAT_ARGMAP_ENTRIES): New enumerated value tally; use it in...
2045         (__pformat_argmap_t): ...this new union data type; define it.
2046         (__pformat_indexed_argc, __pformat_sizeof_argument, __pformat_argmap)
2047         (__pformat_imul10plus, __pformat_arg_index, __pformat_read_arg_index)
2048         (__pformat_read_arg_index_after, __pformat_look_ahead_beyond_flags)
2049         (__pformat_look_ahead, __pformat_ignore_flags, __pformat_is_ldouble)
2050         (__pformat_is_conversion_type, __pformat_is_alt_ldouble_modifier)
2051         (__pformat_length_modifier, __pformat_check_length_modifier): New
2052         locally defined static and/or inline functions; implement, and...
2053         (__pformat): ...use them.
2054
2055 2016-02-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
2056
2057         Add prototypes for Microsoft's _printf_p() family of functions.
2058
2059         * include/stdio.h [>=__MSVCR80_DLL || >=_WIN32_WINNT_VISTA]
2060         (_printf_p, _printf_p_l, _vprintf_p, _vprintf_p_l, _fprintf_p)
2061         (_fprintf_p_l, _vfprintf_p, _vfprintf_p_l, _sprintf_p, _sprintf_p_l)
2062         (_vsprintf_p, _vsprintf_p_l): Add function prototypes; they require
2063         either a non-free MSVC runtime, or MSVCRT.DLL from Vista onward.
2064         (_wprintf_p, _wprintf_p_l, _vwprintf_p, _vwprintf_p_l, _fwprintf_p)
2065         (_fwprintf_p_l, _vfwprintf_p, _vfwprintf_p_l, _swprintf_p)
2066         (_swprintf_p_l, _vswprintf_p, _vswprintf_p_l): Likewise; make them
2067         available for selective inclusion by both <stdio.h> and <wchar.h>...
2068         [_STDIO_H || __WCHAR_H_SOURCED__]: ...when either of these defined.
2069
2070 2016-02-09  Keith Marshall  <keithmarshall@users.sourceforge.net>
2071
2072         Adapt msvcrt-xref to become msvcrt.def.in provider.
2073
2074         * Makefile.in (msvcrt_version_script) [__MSVCRT_VERSION__]: Adjust
2075         filter value assignment; scale it upwards, by a factor of 0x10000.
2076         (%.def.in) [vpath]: Make it refer to msvcrt-xref directory.
2077         (%.def) [msvcr*]: Do not preserve comments; define...
2078         (__DLLNAME__): ...this preprocessor symbol.
2079
2080         * msvcrt.def.in: Content is obsolete; delete file and replace with...
2081         * msvcrt-xref/msvcrt.def.in: ...this updated alternative.
2082         (__MINGW_DLSYM): New preprocessor macro; define it conditionally...
2083         [__MSVCRT_VERSION__ != 0]: ...to emit in-scope symbols it declares...
2084         [__MSVCRT_VERSION__ == 0]: ...to hide symbols it declares, followed by
2085         redefinition of __MSVCRT_VERSION__ itself, to a value of 0x10000.
2086
2087 2016-02-09  Keith Marshall  <keithmarshall@users.sourceforge.net>
2088
2089         Import msvcrt-xref documentation resources.
2090
2091         * msvcrt-xref: New directory.
2092         * msvcrt-xref/ChangeLog msvcrt-xref/COPYING: New files.
2093         * msvcrt-xref/msvcrt-xref.ms msvcrt-xref/fdl-1.3.ms: New files.
2094         * msvcrt-xref/configure.ac msvcrt-xref/Makefile.in: New files.
2095         * msvcrt-xref/README.in msvcrt-xref/msvcrt.def.in: New files.
2096
2097 2016-01-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
2098
2099         Refactor <stdio.h> vs. <wchar.h> to avoid duplication.
2100
2101         * include/wchar.h: Some minor layout adjustments.
2102         (__WCHAR_H_SOURCED__): New macro; define it temporarily, only while
2103         within the scope of reading <wchar.h>; undefine it at end of file.
2104         (struct tm): Do not define; it is sufficient to keep it opaque.
2105         (FILE, FILENAME_MAX, NULL, __VALIST, off_t, __off64_t, size_t)
2106         (ssize_t, va_list, wchar_t, wint_t): Do not require or define them
2107         directly; delegate to indirect definition by including <stdio.h>.
2108         (fgetwc, fputwc, fgetws, fputws, fwprintf, fwscanf, getwc, getwchar)
2109         (_getws, putwc, putwchar, _putws, snwprintf, _snwprintf, swprintf)
2110         (swscanf, ungetwc, vfwprintf, vfwscanf, _vscwprintf, vsnwprintf)
2111         (_vsnwprintf, vswprintf, vwprintf, vswscanf, vwscanf, _wfdopen)
2112         (_wfopen, _wfreopen, _wfsopen, _wperror, _wpopen, wprintf, _wrename)
2113         (_wremove, wscanf, _wtmpnam, _wtempnam): Omit prototypes; acquire them
2114         indirectly, by selective inclusion from <stdio.h>; hence include it.
2115
2116         * include/stdio.h: Assert copyright; tidy layout.
2117         (_STDIO_H_): Multiple inclusion guard macro, renamed as...
2118         (_STDIO_H): ...this, but defined conditionally, subject to...
2119         [__WCHAR_H_SOURCED__]: ...selectively define and declare only those
2120         entities which are required by <wchar.h>; do not define...
2121         [__WCHAR_H_SOURCED__] (_STDIO_H): ...this; define it only if...
2122         [!__WCHAR_H_SOURCED__]: ...this; define and declare ALL entities which
2123         are normally specified within <stdio.h>, INCLUDING those specifically
2124         itemised above, as selectively required by <wchar.h>.
2125
2126         * pseudo-reloc.c: Some minor layout adjustments.
2127         (WIN32_LEAN_AND_MEAN): Define it; we don't need the windows baggage.
2128         [typedef ptrdiff_t]: Do not assume this is gratuitously defined;
2129         include <stddef.h> to guarantee it.
2130
2131 2016-01-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
2132
2133         Enable selective definition of POSIX system types.
2134
2135         * include/sys/types.h (_SYS_TYPES_H): Do NOT define, if including with
2136         any specific __need_TYPE selector having been set prior to inclusion;
2137         DO define it when no such selector is present, and undefine all such
2138         selectors as may have been set, after evaluation of their effects.
2139         (_DEV_T_, _FPOS64_T_, _INO_T_, _MODE_T_, _OFF_T_, _OFF64_T_, _PID_T_)
2140         (_SIGSET_T_, _SSIZE_T_): Unnecessary guard macros; delete them; this
2141         accommodates reorganization of the file, to achieve a tidier layout.
2142         (__have_typedef_off_t): New repeat definition guard; define it for
2143         compilers which may choke on any repeated typedef for either of...
2144         (off_t, _off_t): ...these; make them selectively defineable for...
2145         [_SYS_TYPES_H && !__have_typedef_off_t]: ...non-selective inclusion...
2146         [__need_off_t && !__have_typedef_off_t]: ...this specific selection;
2147         in either case, redefine them in terms of...
2148         (__off32_t): ...this new internal type, for consistency with...
2149         (__off64_t): ...this previously defined non-standard type; also make
2150         it selectively defineable, either by...
2151         [_SYS_TYPES_H && !__have_typedef___off64_t]: ...non-selective, or...
2152         [__need_off_t && !__have_typedef___off64_t]: ...selective inclusion.
2153         (__have_typedef___off64_t): New repeat definition guard; define it.
2154         (ssize_t, _ssize_t): Also make them selectively defineable, on...
2155         [_SYS_TYPES_H && !__have_typedef_ssize_t]: ...non-selective, or...
2156         [__need_off_t && !__have_typedef_ssize_t]: ...selective inclusion.
2157         (__have_typedef_ssize_t): New repeat definition guard; define it.
2158
2159 2015-12-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
2160
2161         Avoid user namespace pollution by non-standard type 'off64_t'.
2162
2163         * include/sys/types.h (off64_t): Rename it as...
2164         (__off64_t): ...this implementation-private alternative name, so
2165         eliminating the potential for user namespace pollution.
2166
2167         * include/io.h (lseek64): Use '__off64_t', instead of 'off64_t', as
2168         return type, and type of offset argument, in both prototype and inline
2169         implementation; note that this addresses the issue of pollution in the
2170         user namespace, while avoiding the issue of MinGW-Bug [#2024].
2171
2172         * include/stdio.h (fseeko64, __mingw_fseeko64): Use '__off64_t'
2173         instead of 'off64_t', as offset argument type in function prototypes.
2174         (ftello64): Likewise, for return type of inline function.
2175
2176         * mingwex/mingw-fseek.c: Assert copyright; tidy layout.
2177         (WIN32_LEAN_AND_MEAN): Define, to minimize impact of <windows.h>.
2178         (__mingw_fseeko64): Use '__off64_t' per modified function prototype.
2179
2180         * mingwex/stdio/fseeko64.c: Assert copyright.
2181         (fseeko64): Use '__off64_t' per modified function prototype.
2182
2183 2015-12-27  Keith Marshall  <keithmarshall@users.sourceforge.net>
2184
2185         Improve ISO-C conformity in MinGW printf(); cf. MinGW-Bug [#1761]
2186
2187         * mingwex/ofmtctl.c: New file; it implements...
2188         (_mingw_output_format_control): ...this new function; it provides
2189         additional MinGW specific printf() format processing options.
2190
2191         * Makefile.in (libmingwex.a) [prerequisites]: Add ofmtctl.$OBJEXT
2192
2193         * include/stdio.h (_mingw_output_format_control): Declare it.
2194         (_EXPONENT_DIGIT_MASK, _MSVC_PRINTF_QUIRKS, _QUERY_MSVC_PRINTF_QUIRKS)
2195         (_ENABLE_MSVC_PRINTF_QUIRKS, _DISABLE_MSVC_PRINTF_QUIRKS): New
2196         manifest constant expressions; define them.
2197
2198         * mingwex/stdio/pformat.c: Revise licensing terms.
2199         (__pformat) [%le, %lE, %lf, %lF, %lg, %lG, %lx, %lX]: When...
2200         [_mingw_output_format_flag & _MSVC_PRINTF_QUIRKS == 0]: ...ignore `l'
2201         modifier; this matches the behaviour specified by ISO-C99, else...
2202         [_mingw_output_format_flag & _MSVC_PRINTF_QUIRKS != 0]: ...revert to
2203         previous MSVC compatible behaviour, treating it as an `L' modifier.
2204         [!_WIN32] (_MSVC_PRINTF_QUIRKS): Force the zero match case.
2205
2206         * mingwex/ofmt.c (ARGLIST): Subsume references to...
2207         (ARGTYPE): ...this now obsolete macro; delete it throughout.
2208         (update_output_format_flag): New inline function; it restricts flag
2209         operations to affect only Microsoft's exponent digit bits.
2210         [FUNCTION == _set_output_format]: Use it.
2211         [FUNCTION == _get_output_format]: Likewise.
2212
2213 2015-10-23  Keith Marshall  <keithmarshall@users.sourceforge.net>
2214
2215         Make atof() and strtod() conform to ISO-C; fix MinGW-Bug [#2273]
2216
2217         * include/_mingw.h (_ISOC99_SOURCE): Ensure this feature test macro is
2218         defined, when implied by any STDC or POSIX version selection, viz. ...
2219         [__STDC_VERSION__ >= 199901L || _POSIX_C_SOURCE >= 200112L]: ...this.
2220
2221         * include/stdlib.h: Assert copyright; tidy layout.
2222         (_STDLIB_H_): Multiple inclusion guard macro renamed...
2223         (_STDLIB_H): ...to this, preferring no trailing underscore.
2224         [!defined __NO_ISOCEXT]: Delete double negative references; use...
2225         [defined _ISOC99_SOURCE]: ...this feature test instead, when...
2226         (lldiv_t): ...defining this C99 specific aggregate data type, and...
2227         (lldiv, llabs, atoll, strtoll, strtoull, strtof, strtold, wcstof)
2228         (wcstold, _Exit): ...declaring these C99 function prototypes.
2229         (wtoll, lltoa, ulltoa, lltow, ulltow): Mark as deprecated, pending
2230         future removal; not in MSVCRT.DLL, these conform to no known standard.
2231         [__USE_MINGW_ANSI_STDIO] (atof, strtod): Implement inline, using...
2232         (__strtod): ...this libmingwex.a provided function; it handles string
2233         representations of hexadecimal-floats, infinities and NaNs, whereas...
2234         (strtod): ...this MSVCRT.DLL implementation does not.
2235         (__MSVCRT_VERSION__): Prefer symbolic comparison...
2236         [>= __MSVCR80_DLL]: ...for this requirement.
2237
2238 2015-10-22  Keith Marshall  <keithmarshall@users.sourceforge.net>
2239
2240         Rationalize definition of struct timespec.
2241
2242         * include/parts/time.h (struct timespec): Redefine; use __time64_t for
2243         tv_sec field, in place of anonymous union, thus avoiding missing brace
2244         warnings when initializing; leave a copy of the previous definition...
2245         (struct __mingw32_expanded_timespec): ...named thus.
2246
2247         * include/unistd.h (nanosleep): Adjust inline implementation, to match
2248         altered specification of tv_sec field in struct timespec.
2249
2250         * include/_mingw.h (_MINGW32_EXTENDED_SOURCE): New feature test macro.
2251         [! defined __STRICT_ANSI__]: Define it, making it a default feature.
2252
2253         * include/time.h [_MINGW32_EXTENDED_SOURCE] (mingw_timespec): New
2254         convenience function; defined as inline, with __LIBIMPL__ equivalent,
2255         it facilitates interpretation of an instance of struct timespec as if
2256         it were defined as struct __mingw32_expanded_timespec.
2257
2258 2015-09-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
2259
2260         Make strings.h mostly POSIX.1-2008 compliant.
2261
2262         * include/strings.h: Rewritten.  Do not include...
2263         (string.h): ...this; mandated by POSIX.1, it now defines...
2264         (strcasecmp, strncasecmp): ...these POSIX.1 functions, complete with
2265         prototypes, possible in-line implementations, and JMPSTUB references
2266         to corresponding external implementations, which will now become
2267         automatically created within libmingwex.a
2268
2269         * include/parts/strings.h: New file; it declares prototypes for...
2270         (_stricmp, _strnicmp): ...these MSVC functions; nominally declared in
2271         string.h, but we also require them in strings.h
2272
2273         * include/parts/wchar.h: New file; it declares prototypes for all wide
2274         character functions which MSVC specifies in both wchar.h and string.h
2275
2276         * include/string.h: Miscellaneous layout adjustments.
2277         (strcasecmp, strncasecmp): Delete; they belong in strings.h
2278         (_stricmp, _strnicmp): Factor out; include them from parts/strings.h
2279         [!_WSTRING_DEFINED]: Factor out all associated function prototypes;
2280         include them from parts/wchar.h instead.
2281
2282         * include/wchar.h [!_WSTRING_DEFINED]: Delete all associated function
2283         prototypes; include them from parts/wchar.h instead, so making this
2284         guard macro redundant; delete it.
2285
2286         * Makefile.in (strcasecmp.$OBJEXT, strncasecmp.$OBJEXT)
2287         (wcscmpi.$OBJEXT): Implementations are now automatically generated
2288         from header file, for inclusion in libmingwex.a; remove free-standing
2289         implementations from the entire family of liboldname libraries, and...
2290         * strcasecmp.c strncasecmp.c wcscmpi.c: ...delete corresponding source
2291         files; they are no longer required.
2292
2293 2015-07-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
2294
2295         Incorporate build system updates from w32api package.
2296
2297         * Makefile.in (NTDDI_VERSION): Set default to NTDDI_WINNT4.
2298         (mkinstalldirs, INSTALL_DATA): Reimplement to support $(call ...)
2299         (install-strip, uninstall): New make command goals; implement them.
2300         (mingwrt-dist-staged): Use 'install-strip' in this rule; hence...
2301         (devdist, dlldist): ...these have no need to strip explicitly.
2302         (INSTALL_SUB_HEADERS): New macro; implement it, and use it...
2303         (install-mingwrt-headers): ...here.
2304
2305 2015-07-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
2306
2307         Adapt platform feature checks to NTDDI_VERSION conventions.
2308
2309         * include/_mingw.h: Assert copyright; include w32api.h
2310         (UNICODE, _UNICODE): Factor out consistency checks; relocate them
2311         to w32api/include/w32api.h, whence they remain in effect.
2312         (_EXTERN_C, _BEGIN_C_DECLS, _END_C_DECLS): Likewise.
2313
2314 2015-07-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
2315
2316         Correct mismatched #if/#endif from preceding commit.
2317
2318         * include/_mingw.h (#pragma GCC system_header)
2319         [__GNUC__ >= 3 && ! defined __PCC__]: Merge these conditions, thus
2320         correcting for inadvertent removal of matching #endif introduced by
2321         preceding 2015-06-19 commit.
2322
2323 2015-06-19  Keith Marshall  <keithmarshall@users.sourceforge.net>
2324
2325         Define symbolic names for alternative Microsoft runtime DLLs.
2326
2327         * include/msvcrtver.h: New file; it assigns a value for...
2328         (__MSVCRT_VERSION__): ...this, making its default equivalent to...
2329         (__MSVCR60_DLL): ...this new manifest constant, with each of...
2330         (__MSVCR61_DLL, __MSVCR70_DLL, __MSVCR71_DLL, __MSVCR80_DLL)
2331         (__MSVCR90_DLL, __MSVCR100_DLL, __MSVCR110_DLL, __MSVCR120_DLL):
2332         ...these also defined, as user assignable alternatives.
2333
2334         * include/_mingw.h (__MSVCRT_VERSION__): Use include/msvcrtver.h
2335         to establish its default value.
2336
2337 2015-06-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
2338
2339         Track dependencies on modified system header files.
2340
2341         * Makefile.in (DEPFLAGS): Use -MD, rather than -MMD.
2342
2343 2015-06-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
2344
2345         Correct an anomaly in stage 1 only build procedure.
2346
2347         * Makefile.in (all-gcc): New goal; it is an alias for...
2348         (all-mingwrt-stage-1): ...this, renamed to match configure, as...
2349         (all-mingwrt-stage-1-only): ...this; upate all references.
2350         (active-goals): Adjusted accordingly; it now reguires...
2351         (all-deprecated-mingwrt-stage-1-only): ...this new goal.
2352         (install): Adjusted, as directed by...
2353         (DEFAULT_MAKECMDGOALS): ...this.
2354
2355 2015-06-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
2356
2357         Prefer our hypot() implementation in complex maths operations.
2358
2359         * mingwex/complex/cabs_generic.c: New file; it replaces...
2360         * mingwex/complex/cabs.c mingwex/complex/cabsf.c: ...all of...
2361         * mingwex/complex/cabsl.c: ...these.
2362
2363         * mingwex/complex/catan_generic.c: New file; it replaces...
2364         * mingwex/complex/catan.c mingwex/complex/catanf.c: ...all of...
2365         * mingwex/complex/catanl.c: ...these.
2366
2367         * mingwex/complex/clog_generic.c: New file; it replaces...
2368         * mingwex/complex/clog.c mingwex/complex/clogf.c: ...all of...
2369         * mingwex/complex/clogl.c: ...these.
2370
2371         * mingwex/complex/cpow_generic.c: New file; it replaces...
2372         * mingwex/complex/cpow.c mingwex/complex/cpowf.c: ...all of...
2373         * mingwex/complex/cpowl.c: ...these.
2374
2375         * mingwex/complex/csqrt_generic.c: Do not use...
2376         (_hypot): ...this Microsoft form of function reference; use...
2377         (hypot): ...this ANSI standard form instead.
2378
2379 2015-06-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
2380
2381         Correct C++ compilation anomaly with hypotf() in cmath header.
2382
2383         * include/math.h: Add copyright notice; generally tidy layout.
2384         (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
2385         (hypotf): Delete inline implementation; it did not properly handle
2386         range errors, and was uncompilable with optimization when any g++
2387         option implying __STRICT_ANSI__ conformity was specified.
2388         (_MATH_H_): Rename this multiple inclusion guard...
2389         (_MATH_H): ...to this.
2390
2391         * mingwex/math/hypot_generic.c: New file; it implements...
2392         (hypot, hypotf, hypotl): ...these; use the latter pair in place of...
2393         * mingwex/math/hypotf.c mingwex/math/hypotl.c: ...these; delete them.
2394
2395 2015-06-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
2396
2397         Prepare and tag all files for release of mingwrt-3.21.1.
2398
2399         * configure.ac (AC_INIT): Adjust package version argument.
2400         * include/_mingw.h (__MINGW32_PATCHLEVEL): Increment to 1, and...
2401         (__MINGW32_VERSION): ...increment this to match.
2402
2403 2015-05-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
2404
2405         Refactor to avoid possible time_t conflicts across headers.
2406
2407         * include/parts/time.h (struct timespec): Make it more descriptive of,
2408         and better able to accommodate, potential ambiguity relating to...
2409         (time_t, __time32_t, __time64_t): ...these typedefs; define them here,
2410         whence they may be identically imported into each of...
2411         * include/sys/types.h include/time.h include/wchar.h: these; delete
2412         duplicate typedefs, and import accordingly.
2413
2414         * include/sys/types.h: Add licence; general comment additions.
2415         (_TYPES_H_): Rename multiple inclusion guard macro...
2416         (_SYS_TYPES_H): ...to this.
2417
2418         * include/time.h: Add licence; general comment/layout adjustments.
2419         (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
2420         (_TIME_T_DEFINED, _TIME32_T_DEFINED, _TIME64_T_DEFINED)
2421         (_CLOCK_T_DEFINED): Superfluous guard macros; delete them.
2422         (_TIME_H_): Rename multiple inclusion guard macro...
2423         (_TIME_H): ...to this.
2424
2425         * include/unistd.h (nanosleep): Adjust to accommodate redefinition...
2426         (struct timespec): ...of this.
2427
2428         * include/wchar.h: Add licence; general comment/layout adjustments.
2429         (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
2430         [GCC] (system_header): Add pragma, identifying header as such.
2431         (_WCHAR_H_): Rename multiple inclusion guard macro...
2432         (_WCHAR_H): ...to this.
2433
2434 2015-05-09  Keith Marshall  <keithmarshall@users.sourceforge.net>
2435
2436         Remove obsolete varargs.h header file.
2437
2438         * include/varargs.h: Delete it; it was a mostly redundant wrapper for
2439         a GCC header which is no longer supported, and was always intended for
2440         ultimate removal; now is the long overdue time to do so.
2441
2442 2015-05-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
2443
2444         Correct improper unistd.h function attribute declarations.
2445
2446         * include/unistd.h (_cdecl): Correct usage throughout; should be...
2447         (__cdecl): ...this.
2448
2449 2015-03-12  Keith Marshall  <keithmarshall@users.sourceforge.net>
2450
2451         Fix GLOB_DOOFFS initialization bug.
2452
2453         * mingwex/glob.c (__mingw_glob) [!GLOB_DOOFFS]: Ensure...
2454         (gl_data->gl_offs): ...this is properly initialized to zero.
2455
2456 2014-12-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
2457
2458         Tag all files for release of mingwrt-3.21.
2459
2460         * include/_mingw.h: Adjust version accordingly.
2461
2462 2014-12-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
2463
2464         Improve usage notes in stdlib.h, for mkstemp() function.
2465
2466         * include/stdlib.h (MKSTEMP_SETMODE): Explain usage; this is a copy of
2467         an original comment, explaining the need to use  _O_TEMPORARY, from...
2468         * mingwex/mkstemp.c: ...here; delete trailing white space.
2469
2470 2014-12-23  Keith Marshall  <keithmarshall@users.sourceforge.net>
2471
2472         Eliminate some potential definition inconsistencies.
2473
2474         * include/stdio.h: Cosmetic formatting change, relating to...
2475         * include/unistd.h (SEEK_SET, SEEK_CUR, SEEK_END): Define them
2476         unconditionally; this allows the compiler to check for consistency
2477         with their primary definitions in stdio.h
2478
2479 2014-12-23  Keith Marshall  <keithmarshall@users.sourceforge.net>
2480
2481         Suppress expected warning diagnostics in LIBIMPL builds.
2482
2483         * Makefile.in (LIBIMPL_CFLAGS): Redefine it; it now incorporates...
2484         (LIBIMPL_EXTRA_CFLAGS): ...this new macro; it includes the requisite
2485         GCC flag to supress warnings relating to deprecated declarations.
2486
2487 2014-12-23  Keith Marshall  <keithmarshall@users.sourceforge.net>
2488
2489         Provide more POSIX conforming sleep() functions.
2490
2491         * include/sys/types.h (useconds_t): Make it explicitly long; int may
2492         be okay, but doesn't guarantee enough bits; mark as deprecated, since
2493         POSIX has declared it "obsolete", and no longer specifies it.
2494
2495         * mingwex/usleep.c: Delete file; it provided an implementation of...
2496         (usleep): ...this now obsolete function, claiming POSIX.1 issue 6, but
2497         its error handling was hopelessly broken; replace it with...
2498         * mingwex/nsleep.c: ...this new file; it implements...
2499         (__mingw_sleep): ...this generic helper function; it supports sleep
2500         capability with interval specification to nanosecond precision.
2501
2502         * include/unistd.h (__mingw_sleep): Declare prototype; use it as the
2503         basis for providing __LIBIMPL__ __CRT_INLINE implementations of...
2504         (sleep, nanosleep): ...these current POSIX functions, and also...
2505         (usleep): ...this obsolete one; mark it as deprecated.
2506
2507         * include/parts: New directory; it is intended to host partial header
2508         implementations, for content which must be shared among arbitrary sets
2509         of multiple standard header files.
2510
2511         * include/parts/time.h: New file; nominally declaring time.h content.
2512         (struct timespec): Declare it; it is currently used within unistd.h,
2513         to facilitate the __CRT_INLINE implementation of nanosleep().
2514
2515         * Makefile.in (libmingwex.a): Remove reference to...
2516         (usleep.$OBJEXT): ...this; replace it with a reference to...
2517         (nsleep.$OBJEXT): ...this alternative.
2518         (mingwrt-includedirs): Add prerequisite to create...
2519         ($includedir/parts): ...this new directory; it is populated by...
2520         (install-mingwrt-headers): ...this rule; add requisite command.
2521
2522 2014-12-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
2523
2524         Delete an unnecessary Unicode wrapper file.
2525
2526         * mingwex/wdirent.c: Delete it; Makefile.in knows how to compile the
2527         UTF-16LE API from dirent.c, without any need for this wrapper.
2528
2529 2014-12-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
2530
2531         Some further inline function rationalization.
2532
2533         * include/io.h (_CRTALIAS): Replace all references...
2534         (__CRT_ALIAS): ...using this syntactically preferred form.
2535         (lseek64): Specify __JMPSTUB__ semantics for extern implementation.
2536         [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
2537
2538         * include/unistd.h (ftruncate): Specify __JMPSTUB__ semantics.
2539         [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
2540
2541         * mingwex/stdio/lseek64.c: File is now redundant; delete it.
2542         * mingwex/ftruncate.c: Likewise.
2543
2544         * Makefile.in (libmingwex.a): Delete obsolete dependencies on...
2545         (lseek64.$OBJEXT, ftruncate.$OBJEXT): ...these.
2546
2547 2014-12-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
2548
2549         Some POSIX feature test adjustments.
2550
2551         * include/stdlib.h (mkstemp): Available since SUSv3, so requires...
2552         [_POSIX_C_SOURCE >= 200112L]: ...this minimum level of POSIX support.
2553         (mkdtemp): This didn't become available until SUSv4, so requires...
2554         [_POSIX_C_SOURCE >= 200809L]: ...this increased feature level.
2555
2556 2014-12-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
2557
2558         Another CRT_INLINE function implementation rationalization.
2559
2560         * include/inttypes.h (imaxabs): Specify as __LIBIMPL__; declare...
2561         (llabs): ...this, to be implemented as its __LIBIMPL__ alias.
2562         [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
2563
2564         * Makefile.in (libimpl_sed_script): Handle ALIAS attribute.
2565         (libmingwex.a): Delete obsolete dependency on...
2566         (imaxabs.$OBJEXT): ...this.
2567
2568         * mingwex/imaxabs.c: File is now redundant; delete it.
2569
2570 2014-12-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
2571
2572         More rationalization of CRT_INLINE function implementations.
2573
2574         * include/stdio.h (fopen64): Add __JMPSTUP__ specification.
2575         (ftello64): Add __LIBIMPL__ specification for extern implementation.
2576         [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
2577
2578         * mingwex/stdio/fopen64.c: File is now redundant; delete it.
2579         * mingwex/stdio/ftell064.c: Likewise.
2580
2581         * Makefile.in (libmingwex.a): Delete obsolete dependencies on...
2582         (fopen64.$OBJEXT, ftello64.$OBJEXT): ...these.
2583
2584 2014-12-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
2585
2586         Don't implicitly define _POSIX_C_SOURCE too early.
2587
2588         * include/_mingw.h (_POSIX_C_SOURCE): Delay implict definition.
2589         (__USE_MINGW_ANSI_STDIO): This must be initialized first, to ensure
2590         that it is not accidentally activated by implied _POSIX_C_SOURCE.
2591
2592 2014-12-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
2593
2594         Correct complex arcsin computation per issue [#2245].
2595
2596         * mingwex/complex/casin_generic.c: New file; it replaces...
2597         * mingwex/complex/casin.c: ...this; it is now obsolete; delete it.
2598         * mingwex/complex/casinf.c mingwex/complex/casinl: Likewise.
2599
2600 2014-12-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
2601
2602         Correct complex square root computation per issue [#2246].
2603
2604         * include/math.h (hypotf): Redirect __CRT_INLINE call to...
2605         (_hypot): ...this MSVCRT.DLL exported function, so avoiding...
2606         (hypot): ...this libmoldname.a indirection.
2607
2608         * mingwex/complex/csqrt_generic.c: New file; it replaces...
2609         * mingwex/complex/csqrt.c: ...this; it is now obsolete; delete it.
2610         * mingwex/complex/csqrtf.c mingwex/complex/csqrtl: Likewise.
2611
2612 2014-12-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
2613
2614         Adjust header guards to resolve issue [#2244].
2615
2616         * include/_mingw.h (_POSIX_C_SOURCE): Define it implicitly...
2617         [_GNU_SOURCE || _BSD_SOURCE || _POSIX_SOURCE || !__STRICT_ANSI__]:
2618         ...when any of these prevail, or as appropriate to correspond with...
2619         [_XOPEN_SOURCE]: ...this; set conformance level accordingly.
2620
2621         * include/math.h [_POSIX_C_SOURCE || defined _USE_MATH_DEFINES]
2622         (M_E, M_LOG2E, M_LOG10E, M_LN2, M_LN10, M_PI, M_PI_2, M_PI_4, M_1_PI)
2623         (M_2_PI, M_2_SQRTPI, M_SQRT2, M_SQRT1_2): Define them, irrespective...
2624         [__STRICT_ANSI__]: ...of this; replace guard accordingly.
2625
2626 2014-12-01  Keith Marshall  <keithmarshall@users.sourceforge.net>
2627
2628         Add implementation of mkstemp() and mkdtemp() functions.
2629
2630         * mingwex/cryptnam.c: New file; it implements...
2631         (__mingw_crypto_tmpname): ...this helper function; it generates a
2632         cryptographically secure sequence of characters, used as the random
2633         component in temporary file and directory names.
2634
2635         * mingwex/mkstemp.c: New file; it implements...
2636         (__mingw_mkstemp): ...this provider of mkstemp() functionality.
2637
2638         * mingwex/mkdtemp.c: New file; it implements...
2639         (__mingw_mkdtemp): ...this provider of mkdtemp() functionality.
2640
2641         * include/stdlib.h (mkstemp): Declare protototye; provide an inline
2642         function implementation, with LIBIMPL extern semantics, in terms of...
2643         (__mingw_mkstemp): ...this; also declare prototype, and define...
2644         (_MKSTEMP_INVOKE, _MKSTEMP_DEFAULT): ...these supporting constants.
2645         (_MKSTEMP_SETMODE): New macro; define it, also providing...
2646         (MKSTEMP_SETMODE) [!_NO_OLDNAMES]: ...this alias.
2647         (mkdtemp): Declare prototype; provide inline implementation, with
2648         JMPSTUB extern semantics, in terms of...
2649         (__mingw_mkdtemp): ...this; declare prototype.
2650
2651         * Makefile.in (libmingwex.a): Add dependency rule, to include...
2652         (mkstemp.$OBJEXT, mkdtemp.$OBJEXT, cryptname.$OBJEXT): ...these.
2653
2654 2014-11-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
2655
2656         More JMPSTUB rationalization of inline functions.
2657
2658         * include/stdlib.h (_Exit, atoll, lltoa, ulltoa, wtoll, lltow)
2659         (ulltow): Add __JMPSTUB__ declarations; each is REMAPPED to its
2660         appropriate MSVCRT.DLL equivalent entry point.
2661
2662         * mingwex/_Exit.c: File is now redundant; delete it.
2663         * mingwex/atoll.c mingwex/lltoa.c mingwex/ulltoa: Likewise.
2664         * mingwex/wtoll.c mingwex/lltow.c mingwex/ulltow: Likewise.
2665
2666         * Makefile.in (jmpstub_awk_script): Add support for...
2667         [__JMPSTUB__((REMAPPED))]: ...this stub function attribute.
2668         (libmingwex.a): Remove dependencies on deleted files, namely...
2669         (_Exit.$OBJEXT, atoll.$OBJEXT, lltoa.$OBJEXT, ulltoa.$OBJEXT)
2670         (wtoll.$OBJEXT, lltow.$OBJEXT, ulltow.$OBJEXT): ...these.
2671
2672 2014-11-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
2673
2674         Correct omission of complex conjugate functions from libmingwex.a
2675
2676         * include/complex.h (conj, conjf, conjl): Add LIBIMPL declarations.
2677         (creal, crealf, creall): Likewise, for consistency of implementation.
2678         (cimag, cimagf, cimagl, carg, cargf, cargl): Likewise.
2679
2680         * Makefile.in (libimpl_sed_script): Add processing for __CRT_INLINE
2681         declarations; they should be interpreted analogously to __CRT_ALIAS.
2682         (libmingwex.a): Remove object file references for functions which are
2683         now declared as LIBIMPL, and sort the remainder in ASCII collating
2684         order; deleted function references comprise the set consisting of...
2685         (carg.$OBJEXT, cargf.$OBJEXT, cargl.$OBJEXT): ...these...
2686         (creal.$OBJEXT, crealf.$OBJEXT, creall.$OBJEXT): ...these, and...
2687         (cimag.$OBJEXT, cimagf.$OBJEXT, cimagl.$OBJEXT): ...these.
2688
2689         * mingwex/complex/carg.c: Replaced by LIBIMPL; delete it.
2690         * mingwex/complex/cargf.c mingwex/complex/cargl.c: Likewise.
2691         * mingwex/complex/creal.c mingwex/complex/cimag.c: Likewise.
2692         * mingwex/complex/crealf.c mingwex/complex/cimagf.c: Likewise.
2693         * mingwex/complex/creall.c mingwex/complex/cimagl.c: Likewise.
2694
2695 2014-11-24  Keith Marshall  <keithmarshall@users.sourceforge.net>
2696
2697         Back-port improved asinh() implementation from 4.0-dev branch.
2698
2699         * mingwex/math/asinh_generic.c: New file; it replaces...
2700         * mingwex/math/asinh.c mingwex/math/asinhf.c mingwex/math/asinhl.c:
2701         ...all of these; delete them.
2702
2703 2014-11-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
2704
2705         Enable remake of lost LIBIMPL object files.
2706
2707         * Makefile.in (libimpl_remake): New macro; define it, and...
2708         (%.libimpl.$OBJEXT) [%.libimpl exists]: ...use it in build rule.
2709
2710 2014-11-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
2711
2712         Implement more robust _get_output_format fallback handling.
2713
2714         * mingwex/ofmt.c: New file; it implements...
2715         (__mingw_output_format_flag): ...backing store, used by...
2716         (__mingw_get_output_format, __mingw_set_output_format): ...these
2717         MSVCRT.DLL version agnostic wrappers/emulators for each of these...
2718         (_get_output_format, _set_output_format): ...MSVCR80.DLL and later
2719         version specific Microsoft APIs, which are also supported by some
2720         later versions of MSVCRT.DLL, (excluding WinXP and earlier).
2721         (__mingw_get_output_format_fallback): Implement; it is aliased to...
2722         (__mingw_set_output_format_fallback): ...this; together they provide
2723         the emulation support for the preceding pair of functions, when they
2724         are not available within the run-time platform MSVCRT.DLL
2725         (__mingw_get_printf_count_output, __mingw_set_printf_count_output):
2726         Implement them; they wrap, and if necessary emulate...
2727         (_get_printf_count_output, _set_printf_count_output): ...these.
2728         (__mingw_get_printf_count_output_fallback): Implement; aliased to...
2729         (__mingw_set_printf_count_output_fallback): ...this; together they are
2730         required to support emulation of the preceding pair of functions, when
2731         they are not available within the run-time platform MSVCRT.DLL
2732
2733         * include/stdio.h (_TWO_DIGIT_EXPONENT): Define it unconditionally.
2734         (_THREE_DIGIT_EXPONENT): New manifest constant; define it orthogonally.
2735         (__mingw_get_output_format, __mingw_set_output_format)
2736         (__mingw_get_printf_count_output, __mingw_set_printf_count_output):
2737         Unconditionally declare their prototypes, for subsequent inline use.
2738         [_MSVCRT_VERSION__ < 0x800] (_get_output_format): Emulate it inline.
2739         [_MSVCRT_VERSION__ < 0x800] (_set_output_format): Likewise.
2740         [_MSVCRT_VERSION__ < 0x800] (_get_printf_count_output): Likewise.
2741         [_MSVCRT_VERSION__ < 0x800] (_set_printf_count_output): Likewise.
2742         (__USE_MINGW_PRINTF): New manifest constant; define it. It is a
2743         counterpart to __USE_MINGW_ANSI_STDIO, which is guaranteed to always
2744         represent a compilable token.
2745
2746         * mingwex/stdio/pformat.c (__pformat_exponent_digits): Do not require
2747         _get_output_format; consult __mingw_output_format_flag directly.
2748
2749         * ofmt_stub.s: No longer required; delete it.
2750
2751         * Makefile.in (ofmt_stub.$OBJEXT): Delete reference.
2752         (PFORMAT_CFLAGS) [__MSVCRT_VERSION__ = 0x800]: Remove requirement.
2753         (varofmt.$OBJEXT, crtofmt.$OBJEXT, getofmt.$OBJEXT, setofmt.$OBJEXT)
2754         (crtnfmt.$OBJEXT, getnfmt.$OBJEXT, setnfmt.$OBJEXT): Add build rule;
2755         all are compiled from ofmt.c
2756
2757 2014-11-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
2758
2759         Do some more essential build tree clean up.
2760
2761         * Makefile.in (mostly-clean-local): Add *.libimpl; matching files get
2762         in the way of a successful rebuild from clean.
2763
2764 2014-11-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
2765
2766         Implement wrappers for emulation of POSIX dlfcn API.
2767
2768         * include/dlfcn.h: New file; it declares the API.
2769         * mingwex/dlfcn.c: New file; implement it, with access via...
2770         (__mingw_dlfcn): ...this publicly addressable vector table.
2771
2772         * Makefile.in (dlfcn.$OBJEXT): Add build requisite.
2773         (dlopen, dlsym, dlclose, dlerror): Build call stubs, using...
2774         (__LIBIMPL__): ...this automatic interface generator; implement it.
2775         (libstub_refnames): New macro; it is adapted from and replaces...
2776         (jmpstub_refs): ...this; when it is then invoked twice to build...
2777         (Makefile.stub): ...this, it handles both JMPSTUB and LIBIMPL.
2778         (jmpstub_awk_script): Adapt it to work with 'libstub_refnames'.
2779         (libimpl_awk_script): New inline script; it handles automated builds
2780         of LIBIMPL interfaces, as 'jmpstub_awk_script' does for JMPSTUB.
2781         (libimpl_sed_script): New inline script; it prepares intermediate C
2782         source code for LIBIMPL interfaces, as required to satisfy these...
2783         (%.libimpl, %.libimpl.$OBJEXT): ...new implicit build objectives.
2784         (LIBIMPL_CFLAGS): New macro; define it.
2785
2786 2014-11-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
2787
2788         Move libgen functions to __mingw_ pseudo-namespace.
2789
2790         * mingwex/dirname.c (dirname): Rename function, as implemented...
2791         (__mingwex_dirname): ...to this.
2792
2793         * mingwex/basename.c (basename): Rename function, as implemented...
2794         (__mingwex_basename): ...to this.
2795
2796         * include/libgen.h (__mingw_dirname, __mingw_basename): Declare
2797         prototypes, matching and augmenting original declarations for...
2798         (dirname, basename): ...these; reimplement as inline aliases, with
2799         __JMPSTUB__ references to the renamed implementation entry points.
2800
2801 2014-11-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
2802
2803         Implement new command line argument globbing strategy.
2804
2805         * include/_mingw.h: Backport feature defines from master...
2806         (__CRT_GLOB_USE_MINGW__, __CRT_GLOB_USE_MSVCRT__): New manifest
2807         constants; define them.  They select the preferred globbing algorithm.
2808         [_CRT_glob & __CRT_GLOB_USE_MINGW__] (__CRT_GLOB_USE_SINGLE_QUOTE__)
2809         (__CRT_GLOB_BRACKET_GROUPS__, __CRT_GLOB_CASE_SENSITIVE__): New option
2810         bit-map constants; define them.  When added to __CRT_GLOB_USE_MINGW__,
2811         they enable optional additional features supported by this algorithm.
2812         (__CRT_GLOB_ESCAPE_CHAR__): New manifest constant; define it.
2813
2814         * CRTglob.c (_CRT_glob): Change default to __CRT_GLOB_USE_MINGW__.
2815
2816         * Makefile.in (libmingw32.a): Add setargv.$OBJEXT, furnished by...
2817         * setargv.c: ...new file; it implements the initialization mechanism
2818         for the __CRT_GLOB_USE_MINGW__ globbing algorithm, when invoked by...
2819         (_setargv) [_CRT_glob & __CRT_GLOB_USE_MINGW__]: ...this new function;
2820         it invokes the algorithm via an API similar to that described by MSDN,
2821         while continuing to support our original _CRT_glob interpretation.
2822         (_setargv) [! _CRT_glob & __CRT_GLOB_USE_MINGW__]: Invoke Microsoft
2823         algorithm, via the MSDN-alike API, by calling back to...
2824
2825         * crt1.c (_mingw32_init_mainargs): ...this original function, now
2826         relocated to here, as a publicly addressable function; formerly...
2827         (__mingw_CRTStartup): ...called directly from here, we now redirect
2828         the call through _setargv(), whence it may be called indirectly.
2829
2830         * init.c: Redundant file; delete it.  It originally provided...
2831         (_mingw32_init_mainargs): ...this, now relocated as noted above, with
2832         original static attribute removed, to allow global addressing.
2833
2834 2014-11-07  Keith Marshall  <keithmarshall@users.sourceforge.net>
2835
2836         Backport glob implementation from master to legacy.
2837
2838         * include/glob.h: New file; copy it from master branch.
2839         (__mingw_glob, __mingw_globfree): Add __JMPSTUB__ aliases for...
2840         (glob, globfree): ...each of these, respectively.
2841
2842         * mingwex/glob.c: New file; copy it from master:src/libcrt/misc.
2843         (CRT_GLOB_HARD_ESCAPE) [ifndef __CRT_GLOB_ESCAPE_CHAR__]: Provide a
2844         fallback definition; default value is ASCII DEL, a.k.a. RUBOUT, code.
2845         (accept_glob_nocheck_match): New static function; it adds support for
2846         avoidance of globbing on patterns with no globbing token, so avoiding
2847         the case transliteration effect reported as MinGW-Bug #2106.
2848         (glob_match): Use it.
2849
2850         * Makefile.in: Build glob.$OBJEXT; add it to libmingwex.a
2851
2852 2014-11-05  Keith Marshall  <keithmarshall@users.sourceforge.net>
2853
2854         Implement conventionally named dirent function trampolines.
2855
2856         * mingwex/jmpstub.sx: New file; it implements a generic trampoline,
2857         which redirects a conventionally named function call to its __mingw_
2858         pseudo-namespace implementation.
2859
2860         * aclocal.m4 (MINGW_AC_PROG_COMPILE_SX): New macro; define it.
2861         * configure.ac (MINGW_AC_PROG_COMPILE_SX): Use it; it identifies the
2862         appropriate protocol for compiling *.sx files, (supported natively by
2863         GCC >= v4.3, but older versions require `-x assembler-with-cpp').
2864
2865         * Makefile.in (COMPILE.sx): New implicit rule; GNU make does not
2866         yet provide it, so we define it ourselves; deploy it for *.sx files.
2867         (Makefile.stub): New sinclude file; create it dynamically, using...
2868         (jmpstub_awk_script): ...this new inline script, which is based on...
2869         (jmpstub_refs, jmpstub_prerequisites): ...these new macros, and...
2870         (mingwex/jmpstub.sx): ...this new file; add vpath reference.
2871         (mostlyclean-local): Remove Makefile.stub; do likewise...
2872         (Makefile): ...when remaking this, to ensure that both will be
2873         remade together.
2874
2875 2014-11-03  Keith Marshall  <keithmarshall@users.sourceforge.net>
2876
2877         Make dirent implementation namespace and time_t clean.
2878
2879         * include/_mingw.h (_EXTERN_C, _BEGIN_C_DECLS, _END_C_DECLS): New
2880         macros; define them.  They facilitate identification of symbols which
2881         must be compiled with `extern "C"' binding, when compiling C++ code.
2882         (__CRT_ALIAS): New macro; define it.  It is intended to replace...
2883         (_CRTALIAS): ...this, which is to be considered as deprecated.
2884         (__JMPSTUB__, __LIBIMPL__): New macros; define them.  They provide
2885         __CRT_ALIAS build hints, while remaining transparent to GCC.
2886         (UNICODE, _UNICODE) [user defined]: Define consistently.
2887
2888         * mingwex/dirent.c: Reimplement; (this is a back-port from the
2889         4.0-dev branch, with additional ABI changes to improve stability).
2890         (opendir, readdir, telldir, seekdir, rewinddir, closedir)
2891         (_wopendir, _wreaddir, _wtelldir, _wseekdir, _wrewinddir, _wclosedir):
2892         Add `__mingw_' prefix to all publicly exposed symbol names.
2893         (dirent_findfirst, dirent_findnext, dirent_findclose): New locally
2894         implemented functions; they replace Microsoft's ambiguously defined
2895         _findfirst, _findnext, and _findclose, so avoiding ABI instability
2896         resulting from the ambiguous size of Microsoft's time_t.
2897
2898         * include/dirent.h (struct dirent, struct _wdirent): Redefine them,
2899         removing unnecessary time_t and file size fields; (our replacements
2900         for _findfirst, and _findnext do not require them to be present).
2901         (DIR, _WDIR): Adjust typedefs; they are now opaque structs.
2902         (opendir, readdir, telldir, seekdir, rewinddir, closedir)
2903         (_wopendir, _wreaddir, _wtelldir, _wseekdir, _wrewinddir, _wclosedir):
2904         Adjust prototypes, making them inline aliases for public symbols which
2905         are now qualified by the `__mingw_' prefix; add build hints to support
2906         compilation of addressable stubs, with the original symbol names.
2907         (DT_REG, DT_DIR, DT_UNKNOWN): New manifest constants; define them.
2908         (DT_BLK, DT_CHR, DT_FIFO, DT_LNK, DT_SOCK): Likewise; (these are for
2909         BSD compatibility, but are fundamentally unsupported on MS-Windows).
2910         (_DIRENT_HAVE_D_TYPE, _DIRENT_HAVE_D_RECLEN, _DIRENT_HAVE_D_NAMLEN):
2911         New macros; define them.  (These show availability of optional fields
2912         within the dirent struct, which client code may wish to access).
2913
2914 2014-10-31  Keith Marshall  <keithmarshall@users.sourceforge.net>
2915
2916         Correct improper naming of assembly language source files.
2917
2918         * mingwex/math/*.S: Rename all files with this extension...
2919         * mingwex/math/*.s: ...to this; (all are simple assembly language, and
2920         not extended `assembler-with-cpp' as implied by the former extension);
2921         adjust all internal `.file <name>' references accordingly.
2922
2923         * Makefile.in (vpath %.S): Adjust reference to locate files....
2924         (vpath %.s): ...now renamed thus.
2925
2926 2014-10-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
2927
2928         Streamline the build system infrastructure.
2929
2930         * configure.ac: New file; it replaces...
2931         * configure.in: ...this; (name is obsolete); delete it.
2932
2933         * aclocal.m4 Makefile.in: Substantially rewritten; avoid recursive
2934         make invocations, when processing subdirectories, and add automatic
2935         dependency tracking for all generated files.
2936
2937         * configure: Delete it; as a generated file, it doesn't belong in SCM.
2938
2939         * mingwex/Makefile.in: No longer required; delete it.
2940         * profile/Makefile.in: Likewise.
2941
2942         * mkinstalldirs: Not required; delete it; (make should use `mkdir -p',
2943         or fall back on `install-sh -d', per AC_PROG_MKDIR_P).
2944
2945         * jamfile: Delete it; it hasn't been updated in ages, is likely no
2946         longer relevant, and I have no desire to maintain it.
2947
2948 2012-08-02  Earnie Boyd  <earnie@users.sourceforge.net>
2949
2950         Add another more rigorous __STRICT_ANSI__ filter.
2951
2952         * include/limits.h [__STRICT_ANSI__] (PATH_MAX): Suppress definition.
2953         * include/sys/param.h [PATH_MAX defined] (MAXPATHLEN): Alias it.
2954         [PATH_MAX not defined] (MAXPATHLEN): Define it directly.
2955
2956 2012-08-02  Ivan Maidanski  <ivmai@users.sourceforge.net>
2957
2958         Add missing function prototypes per issue [#1305].
2959
2960         * include/process.h [#ifndef _WPROCESS_DEFINED]
2961         (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve)
2962         (_wexecvp, _wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe)
2963         (_wspawnv, _wspawnve, _wspawnvp, _wspawnvpe): Declare them.
2964
2965 2012-08-02  Earnie Boyd  <earnie@users.sourceforge.net>
2966
2967         Add function prototype declarations per issue [#1293].
2968
2969         * include/stdio.h (_lock_file, _unlock_file): Declare them.
2970
2971 2012-08-02  Earnie Boyd  <earnie@users.sourceforge.net>
2972
2973         Apply some more rigorous __STRICT_ANSI__ filtering.
2974
2975         * include/stdio.h (_getws, _putws, _wfdopen, _wfopen)
2976         (_wfreopen, _wfsopen, _wtmpnam, _wtempnam, _wrename, _wremove)
2977         (_wperror, _wpopen): Do not declare these functions unless...
2978         [#ifndef __STRICT_ANSI__]: ...this is satisfied.
2979
2980 2012-08-02  Earnie Boyd  <earnie@users.sourceforge.net>
2981
2982         Add string to 64-bit integer conversion function prototypes.
2983
2984         * include/stdlib.h (_strtoi64, _strtoi64_l, _strtoui64, _strtoui64_l)
2985         (_wcstoi64, _wcstoi64_l, _wcstoui64, _wcstoui64_l): Declare them.
2986         * include/wchar.h (_wcstoi64, _wcstoi64_l, _wcstoui64, _wcstoui64_l):
2987         Likewise; these are duplicates of the <stdlib.h> declarations.
2988
2989 2012-08-01  Earnie Boyd  <earnie@users.sourceforge.net>
2990
2991         Update for _WIN64 exception handler readiness.
2992
2993         * include/excpt.h [_WIN64] (__try1, __except1): Add alternative inline
2994         assembly code implementation, based on X86-64 architecture.
2995
2996 2012-07-30  Earnie Boyd  <earnie@users.sourceforge.net>
2997
2998         Correct missing inclusion of <_mingw.h>.
2999
3000         * include/stdint.h: Add omitted #include; all mingwrt headers are
3001         expected to include this; it is required to define __int64.
3002
3003 2011-11-30  Ozkan Sezer  <sezero@users.sourceforge.net>
3004
3005         Correct prototypes for _wfindfirst()/_wfindnext() function family.
3006
3007         * include/io.h (_wfindfirst, _wfindfirst32, _wfindfirsti64)
3008         (_wfindfirst32i64, _wfindfirst64i32): Return type changed to intptr_t.
3009         (_wfindnext, _wfindnext32, _wfindnexti64, _wfindnext32i64)
3010         (_wfindnext64i32, _wfindnext64): Type of parameter #1 must match.
3011
3012 2011-11-30  Earnie Boyd  <earnie@users.sourceforge.net>
3013
3014         Avoid potential GCC "missing function prototype" warnings.
3015
3016         * include/stdio.h (getc, putc, getchar, putchar, fopen64)
3017         (ftello64): Provide a function prototype declaration for each of
3018         these, prior to the corresponding inline implementation.
3019
3020 2011-08-23  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3021
3022         * include/_mingw.h: Increment version to 3.20.
3023
3024 2011-08-23  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3025
3026         * tlsmthread.c: Update to reflect changes in tlssup.c.
3027         * tlssup.c: code clean-up.
3028
3029 2011-08-20  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3030
3031         * include/_mingw.h: Increment version to 3.19.
3032
3033 2011-08-19  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3034
3035         * include/float.h: Modify guard to accomodate CLang.
3036
3037         Thanks to Ruben Van Boxem for the report.
3038
3039 2011-08-19  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3040
3041         * tlssup.c: Remove mingwm10.dll fallback.
3042
3043 2011-08-19  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3044
3045         * include/sys/types.h (ssize_t): Defined as int as opposed to long.
3046
3047         Thanks to bvassche for the report.
3048
3049 2011-05-31  Keith Marshall  <keithmarshall@users.sourceforge.net>
3050
3051         Correct checking for short option matches in getopt_long_only().
3052
3053         * mingwex/getopt.c (getopt_verify): New static inline function.
3054         (getopt_parse) [getopt_mode_long_only]: Use it, to validate as a
3055         possible short option match after failing to match, or ambiguously
3056         matching as a long option.
3057
3058 2011-05-24  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3059
3060         * include/stdlib.h (strtod): Declare as extern to resolve compilation issues.
3061
3062         Thanks to cgf for the report.
3063
3064 2011-05-23  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3065
3066         * include/time.h (daylight, timezone, tzname): Rework guards to expose when
3067         compiles with __STRICT_ANSI__.
3068
3069         Thanks to Felipe Contreras for the report.
3070
3071 2011-05-22  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3072
3073         * include/stdlib.h (strtod): Remove possible static declaration to resolve
3074         issue with gcc.
3075
3076         Thanks to Tobias Burnus for the report.
3077
3078 2011-05-22  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3079
3080         * include/stdlib.h (_rotl, _lrotl, _rotr, _lrotr): Resolve conflict with gcc
3081         by wrapping the functions in brackets.
3082
3083         Thanks to Kai Tietz for the report.
3084
3085 2011-05-22  A.B., Khalid  <abkhd@users.sourceforge.net>
3086
3087         * Makefile.in: Add support for msvcr100.dll.
3088         * msvcrt.def.in: Ditto.
3089
3090 2011-05-22  Antoine LECA  <antoinel@users.sourceforge.net>
3091
3092         * mingwex/mingw-fseek.c: The anonymous union feature for LARGE_INTEGER is
3093         not always available, go the long way and use the explicit named union
3094         members, which are also declared in winnt.h.
3095
3096 2011-05-22  Antoine LECA  <antoinel@users.sourceforge.net>
3097
3098         * mingwex/isblank.c: Fix typo in declaration.
3099
3100 2011-05-22  Antoine LECA  <antoinel@users.sourceforge.net>
3101
3102         * include/_mingw.h: Define GCC system_header only if PCC is not defined.
3103         * include/stdlib.h: Fix a long-standing typo which prevented correct use of
3104         the MB_CUR_MAX macro/variable when DECLSPEC is not supported and <stdlib.h>
3105         is included before <ctype.h>.
3106
3107 2011-05-22  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3108
3109         * include/wchar.h: Include stdio.h to grab definition of FILENAME_MAX.
3110
3111         Thanks to Jim Bell for the report and Greg Chicares for the fix.
3112
3113 2011-01-07  Jacky Lai  <crazyjacky@users.sourceforge.net>
3114
3115         Correct hexadecimal formatting of double and long double values.
3116
3117         * mingwex/stdio/pformat.c (__pformat_xdouble): Delete function.
3118         (__pformat) [A format]: Cast double values to long double, and use...
3119         (__pformat_xldouble): ...this instead, with corrected adjustment of
3120         exponent and alignment of mantissa, when formatting subnormals.
3121
3122 2010-12-27  Ozkan Sezer  <sezero@users.sourceforge.net>
3123
3124         * include/dirent.h (dd_handle): Define as intptr_t.
3125
3126 2010-11-08  Rodrigo Rivas Costa  <rodrigorivascosta@gmail.com>
3127
3128         * tlssup.c (__dyn_tls_init): Use an integer variable to iterate between
3129         __xd_a and __xd_z.
3130
3131 2010-08-17  Keith Marshall  <keithmarshall@users.sourceforge.net>
3132
3133         * include/limits.h (PATH_MAX): Make it agree with Microsoft's
3134         semantically identical MAX_PATH; correct value is 260.
3135
3136 2010-07-25  Keith Marshall  <keithmarshall@users.sourceforge.net>
3137
3138         Accept that mingwrt headers are not guaranteed to precede GCC's in the
3139         system include search path; (issue reported by Mark Brand).
3140
3141         * include/float.h: Add multiple inclusion guard around...
3142         [! defined _FLOAT_H___]: ...include_next <float.h> for GCC's version,
3143         only when this define does not indicate that it has already been seen;
3144         update comments to document rationale; move it within the scope of...
3145         [! defined _MINGW_FLOAT_H_]: ...this multiple inclusion guard, so that
3146         GCC's float.h, after an appropriate complementary modification, need
3147         not perform a further include path search when this implementation
3148         specific extension has already been processed.
3149
3150 2010-07-22  Ozkan Sezer  <sezero@users.sourceforge.net>
3151
3152         * include/io.h (_findfirst, _findnext, _findclose, _findfirst32,
3153         _findnext32, _findfirsti64, _findnexti64, _findfirst32i64, _findfirst64i32,
3154         _findnext32i64, _findnext64i32, _findnext64, _findfirst, _findnext,
3155         _findfirsti64, _findnexti64, _findfirst, _findnext, _findfirsti64,
3156         _findnexti64): Correct definition.
3157
3158 2010-04-27  Danny Smith  <dannysmith@users.sourceforge.net>
3159
3160         * mingwex/mb_wc_common.h (get_codepage): Revert change of 2006-09-19.
3161
3162 2010-03-06  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3163
3164         * include/_mingw.h: Increment version to 3.18.
3165
3166 2010-03-02  Daniel Atallah  <datallah@users.sourceforge.net>
3167
3168         * include/stdio.h: (_vscprintf, _vscwprintf)
3169         * include/tchar.h: (_vsctprintf)
3170
3171 2010-02-14  Roumen Petrov  <rumen@users.sourceforge.net>
3172
3173         Issue [2134161]: time64 functions and types for msvcrt >= 8.0
3174         (initial implementation)
3175
3176         * new type: __time32_t
3177
3178         * new structures: _finddata32_t, _finddata32i64_t, _finddata64i32_t,
3179         __stat32, _stat32i64, _stat64i32, __timeb32, __utimbuf32,
3180         __wfinddata32_t, _wfinddata32i64_t, _wfinddata64i32_t
3181
3182         * new functions: _ctime32, _difftime32, _difftime64, _findfirst32
3183         _findfirst32i64, _findfirst64i32, _findnext32, _findnext32i64,
3184         _findnext64i32, _fstat32, _fstat32i64, _fstat64i32, _ftime32,
3185         _futime32, _gmtime32, _localtime32, _mkgmtime32, _mkgmtime64,
3186         _mktime32, _stat32, _stat32i64, _stat64i32, _time32, _utime32,
3187         _wctime32, _wfindfirst32, _wfindfirst32i64, _wfindfirst64i32,
3188         _wfindnext32, _wfindnext32i64, _wfindnext64i32, _wstat32,
3189         _wstat32i64, _wstat64i32,_wutime32
3190
3191         * new define _USE_32BIT_TIME_T set 32 or 64 aliases for: time_t,
3192         ctime, difftime, _findfirst, _findfirsti64, _findnext, _findnexti64,
3193         _fstat, _fstati64, _ftime, _futime, gmtime, localtime, mktime,
3194         _stat, _stati64, time, _utime, _wctime, _wfindfirst, _wfindfirsti64,
3195         _wfindnext, _wfindnexti64, _wstat, _wstati64, _wutime
3196
3197 2010-01-25  Kai Tietz  <kai.tietz@onevision.com>
3198
3199         Implement TLS Callback.
3200
3201         * tlsmcrt.c: New file.
3202         * tlsmthread.c: Ditto.
3203         * tlssup.c: Ditto.
3204         * tlsthrd.c: Ditto.
3205         * Makefile.in: Include new files.
3206         * crt1.c: Implement TLS Callback.
3207         * dllcrt1.c: Ditto.
3208         * mthr_stub.c: Remove.
3209
3210 2009-11-29  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3211
3212         * include/_mingw.h: Increment version to 3.17.
3213
3214 2009-11-25  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3215
3216         * mingwex/gdtoa/misc.c: Fix security vulnerability in gdtoa:
3217         cf. http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-0689
3218
3219 2009-11-13  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3220
3221         * include/io.h (_open_osfhandle): Correct definition.
3222
3223         Thanks to Alexander Shaduri for the information.
3224
3225 2009-11-02  Charles Wilson  <mingw@cwilson.fastmail.fm>
3226
3227         Final sync of pseudo-reloc.c with mingw64 and cygwin
3228         * lib/pseudo-reloc.c (__report_error) [CYGWIN]: Correct size bug
3229         regarding error messages.
3230
3231 2009-10-29  Charles Wilson  <mingw@cwilson.fastmail.fm>
3232
3233         Honor DESTDIR for winsup/mingw and winsup/w32api.
3234         Detect and report error if installation paths are win32
3235         format, but DESTDIR is non-empty.
3236
3237         * Makefile.in (DESTDIR): Honor per convention.
3238         (need-DESTDIR-compatibility): New macro; define it and a
3239         corresponding rule.
3240         (fail-DESTDIR-compatibility): New dependency goal.
3241         (install-dirs): Require need-DESTDIR-compatibility.
3242         * mingwex/Makefile.in (DESTDIR): Honor per convention.
3243         (need-DESTDIR-compatibility): New macro; define it and a
3244         corresponding rule.
3245         (fail-DESTDIR-compatibility): New dependency goal.
3246         (install): Require need-DESTDIR-compatibility.
3247         * profile/Makefile.in: Ditto.
3248
3249 2009-10-25  Charles Wilson  <mingw@cwilson.fastmail.fm>
3250
3251         Sync pseudo-reloc.c with mingw64
3252         * psuedo-reloc.c: Remove unnecessary includes.
3253         Forward declare _pei386_runtime_relocator.
3254         Decorate _image_base__ symbol with macro for
3255         mingw64 compatibility. Whitespace changes.
3256         (__print_reloc_error): Renamed to...
3257         (__report_error): This. "Returns" void, and
3258         always aborts. Now used on all platforms.
3259         (__write_memory): Remove special case error handling
3260         for different platforms - always call __report_error.
3261         (do_pseudo_reloc): Remove special case error handling
3262         for different platforms - always call __report_error.
3263         (_pei386_runtime_relocator): Decorate _image_base__
3264         symbol with mingw64 compatibility macro.
3265
3266 2009-10-23  Charles Wilson  <mingw@cwilson.fastmail.fm>
3267
3268         Sync pseudo-reloc.c with cygwin/lib/
3269         * pseudo-reloc.c [CYGWIN]: Added comments throughout and various
3270         whitespace fixes. Exploit cygwin_internal(CW_EXIT_PROCESS,...)
3271         for fatal error handling that is consistent with cygwin process
3272         life-cycle. Ensure state variable (in _pei386_runtime_relocator)
3273         is unique to each address space, across fork().
3274         [CYGWIN] (__print_reloc_error): New function for reporting
3275         errors in a manner supported by cygwin at this early stage of
3276         the process life-cycle.
3277         [CYGWIN] (_pei386_runtime_relocator): Ensure relocations
3278         performed only once for each address space, but are repeated
3279         after fork() in the new address space.
3280         [MINGW] (__write_memory): Ensure that b is always initialized
3281         by call to VirtualQuery, even if -DNDEBUG.
3282
3283 2009-09-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
3284
3285         Make MinGW printf() "%p" format compatible with MSVCRT scanf().
3286         (Based on MinGW-patch 2844514 by Peter Rosin <peda@lysator.liu.se>)
3287
3288         * mingwex/stdio/pformat.c (__printf) [%p]: Do not arbitrarily apply...
3289         (PFORMAT_HASHED): ...this formatting attribute; honour only user
3290         specified format qualifiers, except in special case...
3291         [%p && stream.flags == flags && state == PFORMAT_INIT]: Apply...
3292         (PFORMAT_ZEROFILL): ...this default formatting attribute...
3293         (stream.precision): ...filled to at least 2 * sizeof( uintptr_t )
3294         hexadecimal digits.
3295
3296 2009-09-01  Keith Marshall  <keithmarshall@users.sourceforge.net>
3297
3298         Avoid multiple link time definitions of _printf() for C++;
3299         (problem reported by Alexander Shaduri, via MinGW-users ML).
3300
3301         * include/stdio.h [__USE_MINGW_ANSI_STDIO]:
3302         (__mingw_stdio_redirect__) [__cplusplus]: remove `static' keyword.
3303
3304 2009-08-14  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3305
3306         * include/_mingw.h: Increment version to 3.16.
3307
3308 2009-08-08  Danny Smith  <dannysmith@users.sourceforge.net>
3309
3310         * include/math.h (__fpclassifyl, __isnan, __isnanf, isnanl, __signbit,
3311         __signbitf, __signbitl, sinhf, tanhf, expf, frexpf, ldexpf, hypotf, powf,
3312         __fp_unordered_compare): Add prototypes.
3313         * include/stdio.h (vsnwprintf): Add prototype.
3314         * include/wchar.h (vsnwprintf): Add prototype.
3315         * include/stdlib.h (_Exit): Protect inline definition with !__STRICT_ANSI__.
3316         * include/unistd.h (ftruncate): Move prototype out of __NO_INLINE__ guard.
3317
3318 2009-07-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
3319
3320         Correct disposition of wchar_t output in printf().
3321
3322         * mingwex/stdio/pformat.c (__pformat) [%C]: Create new instance of...
3323         (argval): ...this, in inner scope, with singular type `wchar_t'; use
3324         it to pass one wchar to __pformat_wputchars(), for output.
3325
3326 2009-07-27  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3327
3328         * mingwex/stdio/pformat.c: Implement better fix for type punned warning.
3329
3330 2009-07-27  Keith Marshall  <keithmarshall@users.sourceforge.net>
3331
3332         Convert to monolithic configuration procedure.
3333
3334         * configure.in (AC_CHECK_TOOL): All instances; tabulate arguments.
3335         (AC_SUBST): Use its 2nd argument to initialise MinGW default settings.
3336         (PACKAGE_TARNAME) [target_os ~ cygwin]: Redefine it as appropriate.
3337         (W32API_INCLUDE): Redefine; make it relative to `top_srcdir'.
3338         (CRT0S): Relocate from `profile'; define it as appropriate.
3339         (LIBM_A): Define and AC_SUBST it unconditionally.
3340         (AC_CONFIG_SUBDIRS): Remove; none to configure.
3341         (AC_OUTPUT_FILES): Add `Makefile' for each of...
3342         (mingwex, profile): ...these subdirectories.
3343
3344         * configure: Regenerated.
3345
3346         * Makefile.in (PACKAGE, host_os): Let AC_SUBST define them.
3347         (top_srcdir, top_builddir): New macros; let AC_SUBST define them.
3348         (datarootdir): New macro; autoconf > 2.59 wants AC_SUBST to define it.
3349         (SUBDIRS): Define explicitly, to run recursive `make' in...
3350         (mingwex, profile): ...these; simplify build commands...
3351         (rootme, rootsrc): ...without these shell variables.
3352         (all, subdirs): Delete redundant build commands.
3353         (FIXME): Flag various issues for follow up.
3354
3355         * mingwex/Makefile.in (INCLUDES): Redefined macro; refer it to...
3356         (top_srcdir): ...this new macro; let AC_SUBST define it.
3357         (top_builddir, datarootdir): New macros; let AC_SUBST define them.
3358         (Makefile): Make it depend on...
3359         (top_builddir/config.status): ...this, itself depending on...
3360         (top_srcdir/configure): ...this.
3361         (FIXME): Flag various issues for follow up.
3362
3363         * mingwex/aclocal.m4: File no longer required; delete it.
3364         * mingwex/configure mingwex/configure.in: Likewise.
3365
3366         * profile/Makefile.in (INCLUDES): Redefined macro; refer it to...
3367         (top_srcdir): ...this new macro; let AC_SUBST define it.
3368         (top_builddir, datarootdir): New macros; let AC_SUBST define them.
3369         (Makefile): Make it depend on...
3370         (top_builddir/config.status): ...this, itself depending on...
3371         (top_srcdir/configure): ...this.
3372         (FIXME): Flag various issues for follow up.
3373
3374         * profile/aclocal.m4: File no longer required; delete it.
3375         * profile/configure profile/configure.in: Likewise.
3376
3377 2009-07-23  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3378
3379         * msvcrt.def.in: disable time symbol for libmsvcr90.a and libmsvcr90d.a due
3380         to complaints that it causes issues.
3381
3382 2009-07-23  Jacky Lai  <crazyjacky@users.sourceforge.net>
3383
3384         * mingwex/math/fminf.c: switch to using __isnanf() as opposed to _isnan().
3385
3386 2009-07-18  Gregory McGarry  <gregorymcgarry@users.sourceforge.net>
3387
3388         * include/inttypes.h include/math.h include/stdio.h include/stdlib.h
3389         include/string.h include/unistd.h include/wchar.h: Add __NO_INLINE__ guard
3390         to all inline functions.
3391
3392 2009-07-18  Gregory McGarry  <gregorymcgarry@users.sourceforge.net>
3393
3394         * CRT_fp8.c: Add PCC alternative to GCC-specific constructs.
3395         * CRT_fp10.c: Ditto.
3396
3397 2009-07-18  Gregory McGarry  <gregorymcgarry@users.sourceforge.net>
3398
3399         * cpu_features.c: replace gcc-specific construct with portable alternative
3400         and match the code a few lines above.
3401         * crt1.c: remove gcc-specific noreturn attribute with mingw alternative
3402
3403 2009-07-18  Gregory McGarry  <gregorymcgarry@users.sourceforge.net>
3404
3405         * include/_mingw.h: Changes required for PCC compiler.
3406
3407 2009-07-18  Jeff Lu  <jll544@yahoo.com>
3408
3409         * mingwex/usleep.c: round up to next ms
3410
3411 2009-07-17  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3412
3413         * mingwex/math/cephes_mconf.h mingwex/math/erfl.c mingwex/math/lgamma.c
3414         mingwex/math/lgammal.c mingwex/math/powl.c mingwex/math/sinhl.c
3415         mingwex/math/tanhl.c mingwex/math/tgamma.c mingwex/math/tgammal.c: Based on
3416         the fixes from the mingw-w64 code tree, fixed strict-aliasing issues.
3417
3418 2009-07-12  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3419
3420         * mingwex/stdio/pformat.c: Fix compiler warnings with GCC 4.4.0.
3421
3422 2009-06-28  Ozkan Sezer  <sezero@users.sourceforge.net>
3423
3424         * mingwex/gdtoa/README.mingw mingwex/gdtoa/gdtoa_fltrnds.h: New files.
3425         * mingwex/gdtoa/README mingwex/gdtoa/dmisc.c mingwex/gdtoa/dtoa.c
3426         mingwex/gdtoa/g__fmt.c mingwex/gdtoa/g_dfmt.c mingwex/gdtoa/g_ffmt.c
3427         mingwex/gdtoa/g_xfmt.c mingwex/gdtoa/gd_arith.h mingwex/gdtoa/gd_qnan.h
3428         mingwex/gdtoa/gdtoa.c mingwex/gdtoa/gdtoa.h mingwex/gdtoa/gdtoaimp.h
3429         mingwex/gdtoa/gethex.c mingwex/gdtoa/gmisc.c mingwex/gdtoa/hd_init.c
3430         mingwex/gdtoa/hexnan.c mingwex/gdtoa/misc.c mingwex/gdtoa/qnan.c
3431         mingwex/gdtoa/smisc.c mingwex/gdtoa/strtodg.c mingwex/gdtoa/strtodnrp.c
3432         mingwex/gdtoa/strtof.c mingwex/gdtoa/strtopx.c mingwex/gdtoa/sum.c
3433         mingwex/gdtoa/ulp.c:  Update the gdtoa library to match the netlib.org
3434         sources as of Apr. 20, 2009.  Update further to match the sources in
3435         the mingw-w64 tree as of June 28, 2009, by removing IBM, CRAY and VAX
3436         code, removing KR_headers, ANSI, Void and Char ifdefs, renaming the
3437         double/ulong union from U to dbl_union for better grepping and white-
3438         space tidy-ups.
3439
3440 2009-06-16  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3441
3442         * include/stdlib.h (_wtof): Define.
3443
3444 2009-04-11  Danny Smith  <dannsymith@users.sourceforge.net>
3445
3446         * include/stdint.h (int_fast8_t): Specify as signed char.
3447         (INT8_C, UINT8_C, INT16_C, UINT16_C): Simplify: just allow promotion to int.
3448         (INT32_C, UINT32_C): Remove 'L' type specifier on constant.
3449
3450 2009-03-05  Kai Tietz  <kai.tietz@onevision.com>
3451
3452         * pseudo-reloc.c: Rewrite to enable pseudo_reloc version 2.
3453
3454 2009-02-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
3455
3456         MinGW-Feature-Request [2222263]: Make getopt() GNU / BSD compatibile.
3457         (Requested by Robert Riebisch)
3458
3459         * mingwex/getopt.c (getopt_parse): Track external increments of...
3460         (optind): ...this global variable.
3461
3462 2009-01-10  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3463
3464         * include/_mingw.h: Increment version to 3.15.2.
3465
3466 2009-01-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
3467
3468         Fix MinGW-Bug [2445962]; (reported by Keishi Suenaga).
3469         Also add tentative support for BSD specific `optreset' feature.
3470
3471         * include/getopt.h (optreset) [_BSD_SOURCE]: Define; map it to...
3472         (__mingw_optreset): ...this new global variable.
3473
3474         * mingwex/getopt.c (__mingw_optreset): Instantiate it...
3475         (getopt_parse) [optind < 1]: ...make it true; use it to reset argument
3476         parsing context.
3477
3478 2008-12-31  Keith Marshall  <keithmarshall@users.sourceforge.net>
3479
3480         Partial fix for MinGW-Bug [2457778]: (Reported by Sisyphus).
3481         Correct mishandling of invalid characters in printf() format specs.
3482
3483         * mingwex/stdio/pformat.c (__pformat): Save `fmt' scan position in...
3484         (backtrack): ...this new automatic variable, at start of each format
3485         conversion specification substring; use it to backtrack, and print the
3486         substring literally, if any invalid character is encountered.
3487
3488 2008-12-16  Danny Smith  <dannysmith@users.sourceforge.net>
3489
3490         * msvcrt.def.in (___lc_codepage_func, ___lc_collate_cp_func,
3491         ___lc_handle_func, ___mb_cur_max_func, ___setlc_active_func,
3492         ___unguarded_readlc_active_add_func, __crtCompareStringW,
3493         __crtGetStringTypeW, __crtLCMapStringW, __pctype_func,
3494         __pwctype_func, __iob_func, __uncaught_exception, __wcserror,
3495         __CxxDetectRethrow, __CxxExceptionFilter, __CxxQueryExceptionSize,
3496         __CxxRegisterExceptionObject, __CxxUnregisterExceptionObject,
3497         __CxxCallUnwindDtor, __DestructExceptionObject, _aligned_free,
3498         _aligned_malloc, _aligned_offset_malloc, _aligned_offset_realloc,
3499         _aligned_realloc, _cgetws, _cputws, _cwprintf, _cwscanf, _getwch,
3500         _getwche, _putwch, _resetstkoflw, _scprintf, _scwprintf,
3501         _set_SSE2_enable, _snscanf, _snwscanf, _strtoi64, _strtoui64,
3502         _ungetwch, _vscprintf, _vscwprintf, _wcserror, _wcstoi64,
3503         _wcstoui64, _wctype, _wtof, _get_heap_handle): Always export.
3504
3505 2008-12-08  Dmitry G. Gorbachev  <d.g.gorbachev@gmail.com>
3506
3507         * cpu_features.c (__cpu_features_init): Remove erroneous ';'.
3508
3509 2008-10-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
3510
3511         Correct some binary distribution packaging defects.
3512
3513         * Makefile.in (bindist): Remove `make' conditionals; segregate into...
3514         (bindist-common, bindist-mingwrt, bindist-mingw-runtime): ...these new
3515         intermediate goals; they make packages of files, as specified by...
3516         (BINDIST_FILES, DEVDIST_FILES, DLLDIST_FILES): ...these new macros.
3517         (dist_prefix) [target_alias !~ cygwin]: Leave it undefined.
3518
3519 2008-10-18  Keith Marshall  <keithmarshall@users.sourceforge.net>
3520
3521         Fix MinGW-Bug [2136252]: (Reported by Roumen Petrov).
3522         Remove extraneous radix point in printf( "%.0f", v ) for v < 0.5
3523
3524         * mingwex/stdio/pformat.c (__pformat_emit_float): Always make output
3525         of radix point conditional on precision != 0 or `#' flag specified.
3526
3527 2008-10-13  Keith Marshall  <keithmarshall@users.sourceforge.net>
3528
3529         Fix MinGW-Bug [2160227]
3530         Eliminate conflicting declarations and implementations of scalb().
3531
3532         * moldname.def.in (scalb): Comment out of EXPORTS list.
3533         * include/math.h (scalb): Comment out OLDNAMES prototype; it conflicts
3534         with GCC's built-in declaration.
3535
3536 2008-10-12  Christopher Faylor  <me+cygwin@cgf.cx>
3537
3538         * Makefile.in: Use a different method to invoke gcc in a cygwin-hosted
3539         environment.
3540         * mingwex/Makefile.in: Ditto.
3541         * profile/Makefile.in: Ditto.
3542         * configure.in: Record mingw front-end for building under Cygwin.
3543         * mingwex/configure.in: Ditto.
3544         * profile/configure.in: Ditto.
3545         * configure: Regenerate.
3546         * mingwex/configure: Ditto.
3547         * profile/configure: Ditto.
3548
3549 2008-10-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
3550
3551         Use de-facto standard Makefile goals to invoke test suite.
3552
3553         * Makefile.in: Some minor formatting adjustments.
3554         (test_headers): Unconventionally named goal renamed to...
3555         (check-headers): ...this; make it a prerequisite of...
3556         (check): ...this new conventionally named goal.
3557
3558 2008-10-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
3559
3560         Make strtod() inline definition C89 compliant.
3561         (Issue reported by Ilya Shestopalov and Ian Puleston)
3562         (Correction identified by Danny Smith)
3563
3564         * include/stdlib.h (strtod): Declare as `__inline__', not `inline';
3565         reformat inline function definition.
3566
3567 2008-10-04  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3568
3569         * include/_mingw.h: Increment version to 3.15.1 and introduce
3570         __MINGW32_PATCHLEVEL variable.
3571
3572 2008-10-03  Keith Marshall  <keithmarshall@users.sourceforge.net>
3573
3574         Fix MinGW-Bug [2144266]: getopt() sets `optind' incorrectly.
3575         (Reported by Christian Franke)
3576
3577         * mingwex/getopt.c (optind): Make global variable value conform to
3578         behaviour specified by POSIX; do not use it for internal state in...
3579         (getopt_parse): ...this static function; use...
3580         (optbase): ...this new static local variable instead.
3581         (getopt_resolved): Update `optind' as required.
3582
3583 2008-10-03  Keith Marshall  <keithmarshall@users.sourceforge.net>
3584
3585         Improve package identification in configure script.
3586
3587         * configure.ac (AC_INIT): Redefine parameters...
3588         (PACKAGE_NAME): Set to `MinGW Runtime'.
3589         (PACKAGE_BUGREPORT): Set to `http://mingw.org/reporting_bugs'
3590         (PACKAGE_TARNAME): Set to `mingwrt'.
3591         (PACKAGE_VERSION): Set generically to `v3.x'; reassigned by...
3592         (MINGW_AC_CONFIG_SRCDIR): ...this macro, which extracts...
3593         (__MINGW32_VERSION): ...this, from file `include/_mingw.h'.
3594
3595         * aclocal.m4 (MINGW_AC_CONFIG_SRCDIR): Do not redefine...
3596         (PACKAGE_TARNAME): ...this.
3597
3598         * configure: Regenerated.
3599
3600 2008-09-25  Keith Marshall  <keithmarshall@users.sourceforge.net>
3601
3602         Fix MinGW-Bug [2125708].
3603         (Reported by Alexandr Zamaraev).
3604
3605         * include/stdlib.h (intptr_t) [!_INTPTR_T_DEFINED]: Unused typedef;
3606         not wanted here; remove it; replace it by...
3607         (uintptr_t) [!_UINTPTR_T_DEFINED]: ...this typedef; needed by...
3608         (_invalid_parameter_handler): ...this function typedef.
3609
3610 2008-09-23  Chris Sutcliffe  <ir0nh34d@users.sf.net>
3611
3612         * Makefile.in: Don't include host_os as part of snapshot filename.
3613
3614 2008-09-19  Keith Marshall  <keithmarshall@users.sourceforge.net>
3615
3616         Fix MinGW-Bug [2119504].
3617         (Reported by Peiyuan Song).
3618
3619         * mingwex/getopt.c (getopt_resolved): Do not overwrite...
3620         (*retindex): ...this already correctly assigned return variable...
3621         (opt[index].val): ...with this; this should have been assigned to...
3622         (*opt[index].flag) [opt[index].flag != NULL]: ...this instead.
3623
3624 2008-09-19  Keith Marshall  <keithmarshall@users.sourceforge.net>
3625
3626         Fix MinGW-Bug [2117379].
3627         (Reported by Peiyuan Song).
3628
3629         * include/stdio.h (__argv): Replace all references in function
3630         prototype argument lists and inline function local variables, with ...
3631         (__local_argv): ...this, to avoid potential conflict with ...
3632         * include/stdlib (__argv): ...this #defined macro.
3633
3634 2008-09-07  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3635
3636         * include/_mingw.h: Increment version to 3.15.
3637
3638 2008-09-06  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3639
3640         * Makefile.in: Adjust to new naming standard for MinGW while maintaining old
3641         naming standard for Cygwin.
3642
3643 2008-08-31  Keith Marshall  <keithmarshall@users.sourceforge.net>
3644
3645         Reimplement getopt.c to add getopt_long_only() function.
3646
3647         (N.B. this reimplementation removes support for BSD/Mac-OS-X
3648         `optreset' nonsense; user code should set `optind = 0' instead,
3649         to reinitialise option scanning).
3650
3651         * mingwex/getopt.c: Delete all content; reimplement it.
3652         * include/getopt.h: Likewise.
3653
3654         * include/unistd.h (__UNISTD_H_SOURCED__): New macro; define it.
3655         (__UNISTD_GETOPT__): This macro is no longer required; remove it.
3656
3657 2008-08-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
3658
3659         Implement conditional replacement for printf() family functions.
3660
3661         * include/_mingw.h (__USE_MINGW_ANSI_STDIO): New macro; define it.
3662         (__MINGW_ANSI_STDIO__): New manifest constant; define as bitmapped
3663         flag for use in user specified __MINGW_FEATURES__ attribute.
3664         (__MINGW_LC_MESSAGES__, __MINGW_LC_ENVVARS__): New manifest constants;
3665         currently unused: reserved as components of...
3666         (__MINGW_LC_EXTENSIONS__): ...this new manifest constant; earmarked as
3667         a __MINGW_FEATURES__ enhancement to setlocale().
3668
3669         * include/stdio.h (__mingw_printf, __mingw_vprintf): Prototype them.
3670         (__mingw_fprintf, __mingw_vfprintf): Likewise.
3671         (__mingw_sprintf, __mingw_vsprintf): Likewise.
3672         (__msvcrt_printf, __msvcrt_vprintf): Likewise.
3673         (__msvcrt_fprintf, __msvcrt_vfprintf): Likewise.
3674         (__msvcrt_sprintf, __msvcrt_vsprintf): Likewise.
3675         (printf, vprintf) [!__USE_MINGW_ANSI_STDIO]: Prototype for default
3676         usage; link to DLL import stub, importing from MSVCRT.
3677         (fprintf, vfprintf) [!__USE_MINGW_ANSI_STDIO]: Likewise.
3678         (sprintf, vsprintf) [!__USE_MINGW_ANSI_STDIO]: Likewise.
3679         (printf) [__USE_MINGW_ANSI_STDIO]: Redirect to __mingw_printf; use
3680         locally defined static stub implementation.
3681         (fprintf, sprintf) [__USE_MINGW_ANSI_STDIO]: Likewise; redirect to
3682         __mingw_fprintf and __mingw_sprintf respectively.
3683         (vprintf) [__USE_MINGW_ANSI_STDIO]: Redirect to __mingw_vprintf; use
3684         static inline implementation for C++ and GNU C, or locally defined
3685         static stub otherwise.
3686         (vfprintf, vsprintf) [__USE_MINGW_ANSI_STDIO]: Likewise; redirect to
3687         __mingw_vfprintf and __mingw_vsprintf respectively.
3688
3689 2008-08-27  Keith Marshall  <keithmarshall@users.sourceforge.net>
3690
3691         Avoid access violations, passing NULL to printf( "...%s..." );
3692         (inconsistencency with MSVCRT and glibc, reported by Colin Harrison).
3693
3694         * mingwex/stdio/pformat.c (__pformat_puts): Substitute "(null)"
3695         for argument value, if caller passes a NULL pointer.
3696         (__pformat_wcputs): Likewise, substitute L"(null)".
3697
3698 2008-08-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
3699
3700         Add missing dependencies for building libmingwex.a.
3701
3702         * mingwex/Makefile.in (printf.o, fprintf.o, sprintf.o): Make them...
3703         (vprintf.o, vfprintf.o, vsprintf.o): ...and also these, depend on...
3704         (pformat.h): ...this.
3705
3706 2008-08-11  Keith Marshall  <keithmarshall@users.sourceforge.net>
3707
3708         Add replacements for remaining members of printf() family.
3709
3710         * mingwex/stdio/printf.c: New file.
3711         * mingwex/stdio/fprintf.c: New file.
3712         * mingwex/stdio/sprintf.c: New file.
3713         * mingwex/stdio/vprintf.c: New file.
3714         * mingwex/stdio/vfprintf.c: New file.
3715         * mingwex/stdio/vsprintf.c: New file.
3716
3717         * mingwex/Makefile.in (STDIO_DISTFILES): Add them.
3718         (STDIO_OBJS): Add their corresponding object files.
3719
3720 2008-07-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
3721
3722         Replace __mingw_snprintf() with new generic family implementation;
3723         likewise, replace __mingw_vsnprintf().
3724
3725         * mingwex/stdio/pformat.c mingwex/stdio/pformat.h: New files.
3726         * mingwex/stdio/snprintf.c mingwex/stdio/vsnprintf.c: New files.
3727         * mingwex/Makefile.in (STDIO_DISTFILES): Add them.
3728         (GDTOA_DISTFILES): Remove mingw_snprintf.c
3729         (STDIO_OBJS): Add pformat.o, snprintf.o and vsnprintf.o
3730         (GDTOA_OBJS): Remove mingw_snprintf.o
3731         (PFORMAT_CFLAGS): New macro; define it, as required by...
3732         (pformat.o): ...this new explicit build target.
3733         (snprintf.o, vsnprintf.o): Declare prerequisites.
3734
3735         * mingwex/gdtoa/mingw_snprintf.c: Redundant file; delete it.
3736
3737 2008-07-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
3738
3739         Lay foundations for new printf() function family implementation.
3740
3741         * ofmt_stub.s: New file; implement forward compatibility stub for...
3742         (_get_output_format): ...this MSVCR80.DLL and later function.
3743
3744         * Makefile.in (SRCDIST_FILES): Add ofmt_stub.s.
3745         (NM, OBJCOPY): New macros; define them with AC_SUBSTed values.
3746         (sym_prefix, NM_LOOKUP, MINGW_REPL_FUNCS): New macros; define them.
3747         (lib%.a): Include ofmt_stub.o when import library does not already
3748         advertise availability of the _get_output_format() function;
3749         Add alias stubs for MINGW_REPL_FUNCS, such that...
3750         (__msvcrt_printf): ...is an alias for Microsoft's printf().
3751         (__msvcrt_fprintf): ...is an alias for Microsoft's fprintf().
3752         (__msvcrt_sprintf): ...is an alias for Microsoft's sprintf().
3753         (__msvcrt_vprintf): ...is an alias for Microsoft's vprintf().
3754         (__msvcrt_vfprintf): ...is an alias for Microsoft's vfprintf().
3755         (__msvcrt_vsprintf): ...is an alias for Microsoft's vsprintf().
3756         (clean): Add msvcr*.def.
3757
3758         * configure.in (NM, OBJCOPY): Use AC_CHECK_TOOL to specify them.
3759         * configure: Regenerated.
3760
3761 2008-07-06  Gregory McGarry   <gregorymcgarry@users.sourceforge.net>
3762
3763         * include/ctype.h (_imp____mb_cur_max): Correct spelling.
3764         (_imp____mb_cur_max_dll): Likewise.
3765
3766 2008-07-04  Danny Smith  <dannysmith@users,sourceforge.net>
3767
3768         * include/stdio.h (swprintf, vswprintf): Guard with  #ifndef __STRICT_ANSI__
3769         * include/wchar.h (swprintf, vswprintf): Likewise.
3770
3771 2008-07-01  Keith Marshall  <keithmarshall@users.sourceforge.net>
3772
3773         * msvcrt.def.in [__msvcr80__, __msvcr80d__, __msvcr90__, __msvcr90d__]
3774         (_get_output_format, _set_output_format): Add references.
3775
3776         * include/stdio.h [__MSVCRT_VERSION__ >= 0x800]
3777         (_get_output_format, _set_output_format): Declare prototypes.
3778         (_TWO_DIGIT_EXPONENT): Define.
3779         Some other minor formatting adjustments.
3780
3781 2008-06-14  Danny Smith  <dannysmith@users.sourceforge.net>
3782
3783         [mingw-Bugs-1801641]
3784         * include/wchar.h (_wfdopen): Const-ify second arg.
3785         * include/stdio.h (_wfdopen): Likewise.
3786         Thanks to <tdragon at users dot sourceforge net>
3787
3788 2008-06-02  Keith Marshall  <keithmarshall@users.sourceforge.net>
3789
3790         Avoid precision errors in round(), lround() and llround() functions.
3791
3792         * mingwex/math/round_generic.c: New file; it replaces...
3793         * mingwex/math/round.c: ...this; delete it.
3794         * mingwex/math/roundf.c: ...and this; ditto.
3795         * mingwex/math/roundl.c: ...and this; ditto.
3796
3797         * mingwex/math/lround_generic.c: New file; it replaces...
3798         * mingwex/math/lround.c: ...this; delete it.
3799         * mingwex/math/lroundf.c: ...and this; ditto.
3800         * mingwex/math/lroundl.c: ...and this; ditto.
3801         * mingwex/math/llround.c: ...and this; ditto.
3802         * mingwex/math/llroundf.c: ...and this; ditto.
3803         * mingwex/math/llroundl.c: ...and this; ditto.
3804
3805         * mingwex/math/round_internal.h: New file; it provides generic common
3806         code, which is shared by `round_generic.c' and `lround_generic.c'; the
3807         implementation is based on techniques suggested by Danny Smith and
3808         Greg Chicares.
3809
3810         * mingwex/Makefile.in (MATH_DISTFILES): Remove `round.c', `roundf.c',
3811         `roundl.c', `lround.c', `lroundf.c', `lroundl.c', `llround.c',
3812         `llroundf.c' and `llroundl.c'; replace by `round_internal.h',
3813         `round_generic.c' and `lround_generic.c'.
3814         (MATH_OBJS): Factor out files listed in...
3815         (MATH_ROUND_OBJS, MATH_LROUND_OBJS, MATH_LLROUND_OBJS): ...these new
3816         macros; define them; specify dependencies and build rules; add to...
3817         (LIB_OBJS): ...this list.
3818
3819 2008-05-22  Danny Smith  <dannysmith@users.sourceforge.net>
3820
3821         [ mingw-Bugs-1961893 ]
3822         * mingwex/gdtoa/mingw_snprint.c (x_sprintf): Always set __ldtoa
3823         mode to 2 for E format.
3824
3825 2008-05-15  Ramiro Polla  <ramiro@lisha.ufsc.br>
3826
3827         * include/stdlib.h: Fix strtod under C++.
3828
3829 2008-05-06  Ramiro Polla  <ramiro@lisha.ufsc.br>
3830
3831         * mingwex/gdtoa/strtodnrp.c: Remove alias from strtod to __strtod.
3832         * include/stdlib.h: Define strtod to __strtod when __NO_ISOCEXT is not set.
3833
3834 2008-05-04  Ramiro Polla  <ramiro@lisha.ufsc.br>
3835
3836         * include/sys/types.h (useconds_t): typedef.
3837         * include/unistd.h (usleep): Add prototype.
3838         * mingwex/usleep.c: New file.
3839         * mingwex/makefile.in: Add usleep source and object.
3840
3841 2008-05-02  Ramiro Polla  <ramiro@lisha.ufsc.br>
3842
3843         Make strtod() conform to C99.
3844
3845         * include/stdlib.h (strtod): Declare this mingwex function, and...
3846         (_strtod): rename this MSVCRT counterpart.
3847
3848         * mingwex/gdtoa/strtodnrp.c (strtod): Alias to __strtod.
3849
3850 2008-04-26  Chuck Wilson  <cwilso11@users.sourceforge.net>
3851
3852         * Makefile.in: correct issues with mingw10.dll having multiple relocs.
3853
3854 2008-04-25  Danny Smith  <dannysmith@users.sourceforge.net>
3855
3856         * include/process.h: Include stdint.h for intptr_t definition.
3857         (_execl, _execle, _execlp, _execlpe, _execv, _execve, _execvp, _execvpe,
3858         _spawnl, _spawnle, _spawnlp, _spawnlpe, _spawnv, _spawnve, _spawnvp,
3859         _spawnvpe): Return intptr_t.
3860         (execl, execle, execlp, execlpe, execv, execve, execvp, execvpe, spawnl,
3861         spawnle, spawnlp, spawnlpe, spawnv, spawnve, spawnvp, spawnvpe): Return
3862         intptr_t.
3863         * include/wchar.h: Guard wide process.h functions with !__STRICT_ANSI__.
3864
3865         [!_WPROCESS_DEFINED]: Include stdint.h for intptr_t definition.
3866         (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve, _wexecvp,
3867         _wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe, _wspawnv, _wspawnve,
3868         _wspawnvp, _wspawnvpe): Return intptr_t.
3869
3870 2008-04-25  Danny Smith  <dannysmith@users.sourceforge.net>
3871
3872         * include/wchar.h (fwide): Return success code rather than failure in inline
3873         definition.
3874         * mingwex/fwide.c (fwide): ANSI-fy. Get rid of Q8 comments.  Return success
3875         code rather than failure.
3876
3877 2008-03-21  Danny Smith  <dannysmith@users.sourceforge.net>
3878
3879         * include/math.h (float_t, double_t): Define.
3880
3881 2008-02-08  Danny Smith  <dannysmith@users.sourceforge.net>
3882
3883         * mingwex/gdtoa/gdtoaimp.h (USE_LOCALE): Define.
3884         * mingwex/gdtoa/mingw_snprintf.c: [USE_LOCALE] Include locale.h.
3885         (x_sprintf): [USE_LOCALE] Use  *localeconv()->decimal_point.
3886
3887 2008-02-28  Joseph Myers  <joseph@codesourcery.com>
3888
3889         * include/complex.h: Don't condition contents on C99 or not
3890         __STRICT_ANSI__.
3891
3892 2008-02-01  Brian Dessent  <brian@dessent.net>
3893
3894         * Makefile.in: Add rules to generate multiple versions of libmoldname.a for
3895         the different runtime versions.
3896
3897 2008-01-19  Danny Smith  <dannysmithusers.sourceforge.net
3898
3899         * inclue/wchar.h (fwide): Add prototype and guard inline definition.
3900         (mbsinit): Likewise.
3901
3902 2007-12-27  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3903
3904         * include/_mingw.h: Increment version to 3.14.
3905
3906 2007-11-26  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3907
3908         * Makefile.in: Add libmsvcr90.a and libmsvcr90d.a targets.
3909         * msvcrt.def.in: Add support for __msvcr90__ and __msvcr90d__ defines.
3910         * mingwex/math/log10f.S: Correct issue with comments.
3911         * mingwex/math/log10l.S: Ditto.
3912         * mingwex/math/log1p.S: Ditto.
3913         * mingwex/math/log1pf.S: Ditto.
3914         * mingwex/math/log1pl.S: Ditto.
3915         * mingwex/math/log2.S: Ditto.
3916         * mingwex/math/log2f.S: Ditto.
3917         * mingwex/math/log2l.S: Ditto.
3918         * mingwex/math/logf.S: Ditto.
3919         * mingwex/math/logl.S: Ditto.
3920
3921 2007-10-03  Danny Smith  <dannysmith@users.sourceforge.net>
3922
3923         * mingwex/gdtoa/mingw_snprintf.c: fixed warning during compile.
3924
3925 2007-10-03  Bernd Becker  <hugin@users.sourceforge.net>
3926
3927         * include/io.h (__finddata64_t, __wfinddata64_t): changed member 'size'
3928         from '_fsize_t' to '__int64' to be consistent with the other ...64
3929         structures and the value set there is 8 bytes not 4.  Add guard for both
3930         as the are only used by functions available from 6.1 on.
3931
3932         * include/malloc.h (_HEAP_MAXREQ): Define.
3933         (_aligned_offset_recalloc): Define.
3934         (_aligned_recalloc()): Define.
3935
3936         * include/math.h: fixed a typo in a comment.
3937         (atanhf): Fixed declaration.
3938
3939         * include/wchar.h (__wfinddata64_t): changed member 'size' from '_fsize_t'
3940         to '__int64' to be consistent with the other ...64 structures and the value
3941         set there is 8 bytes not 4.  Added guard as this function is only used by
3942         functions available from 6.1 on.
3943
3944         * include/sys/stat.h: some members of 'stat' were declared with types with
3945         a prefixed underscore, while the ones without the underscore should have
3946         been used.  Added guard to '__stat64' as it is only used by functions
3947         available from 6.1 on.  Added the wide character versions of the
3948         exec()/spawn() family for completion
3949         (_stati64): changed the type of the 'st_mode' member from 'unsigned int' to
3950         '_mode_t'
3951
3952         * include/sys/timeb.h (timeb, _timb): changed the type of the 'time' member
3953         from 'long' to 'time_t'
3954         (__timeb64): moved declaration of structure directly before the declaration
3955         of the function '_ftime64()', so it is guarded as well
3956
3957         * include/sys/utime.h (__utimbuf64): moved declaration of structure directly
3958         before the declaration of the functions using it, so it is guarded as well
3959
3960 2007-09-24  David C. Daeschler  <daveregs@rsaisp.com>
3961
3962         * mingwex/gdtoa/mingw_snprintf.c (x_sprintf): Correct LEN_L typo in 'l'
3963         case.  Add missing break in 's'/LEN_S case.
3964
3965 2007-08-25  Keith Marshall  <keithmarshall@users.sourceforge.net>
3966
3967         Make snprintf() and vsnprintf() conform to C99.
3968
3969         * include/stdio.h: Add note about incompatibility between...
3970         (snprintf, vsnprintf): These two mingwex functions, and...
3971         (_snprintf, _vsnprintf): these MSVCRT counterparts.
3972
3973         * mingwex/Makefile.in (STDIO_OBJS): Remove snprintf.o and vsnprintf.o
3974         (STDIO_DISTFILES): Remove snprintf.c and vsnprintf.c
3975
3976         * mingwex/stdio/snprintf.c: Delete.
3977         * mingwex/stdio/vsnprintf.c: Delete.
3978
3979         * mingwex/gdtoa/mingw_snprintf.c (snprintf): Alias to __mingw_snprintf
3980         (vsnprintf): Alias to __mingw_vsnprintf.
3981
3982 2007-07-25  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
3983
3984         * include/_mingw.h: Increment version to 3.13.
3985         * Makefile.in: Reset CYGRELEASE to 1
3986
3987 2007-07-23  Keith Marshall  <keithmarshall@users.sourceforge.net>
3988
3989         * Makefile.in (SUBDIRS): Delete stray line continuation artifact,
3990         resulting from incomplete removal of enclosing `for ...; do ...; done'
3991         loop from compound command; (reported by Greg Chicares).
3992
3993 2007-07-19  Danny Smith  <dannysmith@users.sourceforge.net>
3994
3995         * include/fcntl.h (_O_WTEXT, _O_U16TEXT, _O_U8TEXT) Define for
3996         Vista.
3997
3998 2007-07-12  Danny Smith  <dannysmith@users.sourceforge.net>
3999
4000         [mingw-Bugs-1734142]
4001         * include/wchar.h (_wsystem) Declare.
4002         (_wputenv) Declare.
4003         (_wgetenv): Declare.
4004         (_wsearchenv): Declare.
4005         (_wmakepath): Declare.
4006         (_wsplitpath): Declare.
4007         (_wfullpath): Declare.
4008         * include/stdlib.h (_wsystem) Declare.
4009         (_wputenv, _wgetenv, _wsearchenv, _wmakepath, _wsplitpath,
4010         _wfullpath): Move into _WSTDLIB_DEFINED guard.
4011         * include/tchar.h (_tsystem): New UNICODE mapping define.
4012
4013 2007-06-29  Danny Smith  <dannysmith@users.sourceforge.net>
4014
4015         * mingwex/gdtoa/mingw_snprintf.c: New file.
4016         * mingwex/Makefile.in (GDTOA_DISTFILES): Add mingw_snprintf.c.
4017         (GDTOA_OBJS): Add mingw_snprintf.o.
4018
4019 2007-06-28  Danny Smith  <dannysmith@users.sourceforge.net>
4020
4021         * msvcrt.def.in: Update comment.
4022         Exclude _ctype stub if using msvcr71.dll or newer.
4023         * include/ctype.h: Don't declare _ctype if using msvcr71.dll or newer.
4024         * include/wctype.h: Likewise.
4025
4026 2007-06-23  Danny Smith  <dannysmith@users.sourceforge.net>
4027
4028         *include/wctype.h: Qualify all functions with __MINGW_NOTHROW.
4029         *include/dirent.h: Likewise.
4030
4031 2007-06-23  Danny Smith  <dannysmith@users.sourceforge.net>
4032
4033         * include/assert.h: Qualify all  functions with __MINGW_NOTHROW.
4034         * include/conio.h: Likewise.
4035         * include/ctype.h: Likewise.
4036         * include/direct.h: Likewise.
4037         * include/dos.h: Likewise.
4038         * include/errno.h: Likewise.
4039         * include/fenv.h: Likewise.
4040         * include/float.h: Likewise.
4041         * include/inttypes.h: Likewise.
4042         * include/io.h: Likewise.
4043         * include/libgen.h: Likewise.
4044         * include/locale.h: Likewise.
4045         * include/malloc.h: Likewise.
4046         * include/mbctype.h: Likewise.
4047         * include/mbstring.h: Likewise.
4048         * include/process.h: Likewise.
4049         * include/search.h: Likewise.
4050         * include/setjmp.h: Likewise.
4051         * include/signal.h: Likewise.
4052         * include/stdio.h: Likewise.
4053         * include/stdlib.h: Likewise.
4054         * include/string.h: Likewise.
4055         * include/time.h: Likewise.
4056         * include/wchar.h: Likewise.
4057         * include/sys/stat.h: Likewise.
4058         * include/sys/time.h: Likewise.
4059         * include/sys/timeb.h: Likewise.
4060         * include/sys/utime.h: Likewise.
4061
4062 2007-06-22  Danny Smith  <dannysmith@users.sourceforge.net>
4063
4064         * mingwex/Makefile.in (LIB_OBJS): Revert accidental removal.
4065
4066 2007-06-22  Danny Smith  <dannysmith@users.sourceforge.net>
4067
4068         Add POSIX binary tree search API.
4069
4070         * mingwex/tfind.c: New file.
4071         * mingwex/tdelete.c: New file.
4072         * mingwex/tsearch.c: New file.
4073         * mingwex/twalk.c: New file.
4074         * mingwex/Makefile.in (DISTFILES): Add tsearch.c twalk.c tdelete.c tfind.c.
4075         * mingwex/Makefile.in (POSIX_OBJS): Add tsearch.o twalk.o tdelete.o tfind.o.
4076         * include/search.h (tfind): Declare.
4077         (tdelete): Declare.
4078         (tsearch): Declare.
4079         (twalk): Declare.
4080         (ENTRY): Define.
4081         (ACTION): Define.
4082         (VISIT): Define.
4083         (node_t): Define, on condition of _SEARCH_PRIVATE.
4084
4085 2007-06-22  Danny Smith  <dannysmith@users.sourceforge.net>
4086
4087         * include/_mingw.h (__MINGW_NOTHROW): Define.
4088
4089 2007-06-18  Danny Smith  <dannysmith@users.sourceforge.net>
4090
4091         * include/stdio.h (vsnprintf): Remove inline definition.
4092         Add prototype.
4093
4094 2007-06-16  Danny Smith  <dannysmith@users.sourceforge.net>
4095
4096         * CRTfmode.c: Nit-pick comment fix.
4097
4098 2007-06-16  Christopher Faylor  <me+cygwin@cgf.cx>
4099
4100         * CRTfmode.c: Fix nested comment.
4101
4102 2007-06-16  Christopher Faylor  <me+cygwin@cgf.cx>
4103
4104         * include/string.h (strcasecmp): Fix typo in declaration prototype.
4105
4106 2007-06-14  Danny Smith  <dannysmith@users.sourceforge.net>
4107
4108         * include/io.h (lseek64) : Add prototype.
4109
4110 2007-06-14  Danny Smith  <dannysmith@users.sourceforge.net>
4111
4112         * include/string.h (strcasecmp): Add prototype.
4113         (strncasecmp): Add prototype.
4114
4115 2007-06-13  Danny Smith  <dannysmith@users.sourceforge.net>
4116
4117         * Makefile.in (CRT0S): Revert last change.
4118         * CRTfmode.c. Correct comment.
4119
4120 2007-06-13  Danny Smith  <dannysmith@users.sourceforge.net>
4121
4122         * Makefile.in (CRT0S): Add back CRTfmode.o.
4123
4124 2007-06-13  Danny Smith  <dannysmith@users.sourceforge.net>
4125
4126         * include/stdlib.h: Don't include stdint.h. Conditionally define intptr_t.
4127         * include/io.h: Likewise.
4128
4129 2007-06-11  Danny Smith  <dannysmith@users.sourceforge.net>
4130
4131         * crt1.c (__mingw_CRTStartup): Add explicit call to gcc's __main.
4132
4133 2007-05-08  Danny Smith  <dannysmith@users.sourceforge.net>
4134
4135         * include/stdint.h (intptr_t): Fix typo.
4136         Thanks to Charles Wilson for report.
4137
4138 2007-05-07  Danny Smith  <dannysmith@users.sourceforge.net>
4139
4140         * include/stdint.h (intptr_t): Protect with _INTPTR_T_DEFINED.
4141          Condition on _WIN64.
4142         (uintptr_t): Protect with _UINTPTR_T_DEFINED. Condition on _WIN64.
4143         (INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX): Condition on _WIN64.
4144         (PTRDIFF_MIN): Define as INTPTR_MIN.
4145         (PTRDIFF_MAX): Define as INTPTR_MAX.
4146         (SIG_ATOMIC_MIN): Define as INTPTR_MIN.
4147         (SIG_ATOMIC_MAX): Define as INTPTR_MAX.
4148
4149 2007-04-07  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4150
4151         * Makefile.in: Removed mansuffix variable. Changed mansection to support
4152         Cygwin man page location.
4153
4154 2007-04-05  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4155
4156         * Makefile.in: Added mansection and mansuffix variables. Changed mandir to
4157         support Cygwin man page location.
4158
4159 2007-03-25  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4160
4161         * Include/_mingw.h: Increment version to 3.12.
4162
4163 2007-03-22  Brian Ripley  <ripleybd@users.sourceforge.net>
4164
4165         * include/_mingw.h (__CRT_INLINE): Make conditional on __GNUC_STDC_INLINE__.
4166
4167 2007-03-20  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4168
4169         * Makefile.in: Tweak srcdist to fix build issue.
4170
4171 2007-03-20  Keith Marshall  <keithmarshall@users.sourceforge.net>
4172
4173         Add --enable-mingw-manpage-transform configure option.
4174
4175         * aclocal.m4 (MINGW_AC_MANPAGE_TRANSFORM): New macro.
4176         * configure.in, Makefile.in: Use it.
4177         * configure: Regenerated.
4178
4179 2007-03-18  Danny Smith  <dannysmith@users.sourceforge.net>
4180
4181         * include/_mingw.h (__CRT_INLINE): Use __gnu_inline__ for gcc 4.2.x too.
4182
4183 2007-03-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
4184
4185         Add manpages for dirname and basename functions.
4186
4187         * man: New directory.
4188         * man/dirname.man: New file; it sources both manpages.
4189         * Makefile.in: Add provisional rules to distribute them.
4190
4191 2007-03-08  Keith Marshall  <keithmarshall@users.sourceforge.net>
4192
4193         * mingwex/basename.c: Make it work with path names containing
4194         multibyte character strings.
4195         * mingwex/dirname.c: Likewise.
4196
4197 2007-03-05  Danny Smith  <dannysmith@users.sourceforge.net>
4198
4199         * include/io.h (__mingw_access): New static inline wrapper to restore
4200         pre-Vista 'access (fname, X_OK)' behaviour.
4201         (__USE_MINGW_ACCESS): Use to map access() to __mingw_access().
4202
4203 2007-03-05  Danny Smith  <dannysmith@users.sourceforge.net>
4204
4205         * mingwex/fesetround.c (fesetround): Use unsigned int as operand
4206         to stmxcsr.
4207         Thanks to Alexey Kuznetsov <ring0_mipt at users dot sf dot net>
4208
4209 2007-02-27  Thorsten Dahlheimer  <tdahlheim@gmx.net>
4210
4211         * include/stdio.h (_unlink, unlink): Add prototypes.
4212
4213 2007-02-18  Aurimas Cernius  <aurisc4@gmail.com>
4214
4215         * include/excpt.h: Replace "_try1" in comments with "__try1".
4216
4217 2007-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
4218
4219         * Makefile.in (ALL_CFLAGS): Put W32API_INCLUDE after INCLUDES.
4220         (ALL_CXXFLAGS): Likewise.
4221         * mingwex/Makefile.in (ALL_CFLAGS): Put W32API_INCLUDE after INCLUDES.
4222         (ALL_CXXFLAGS): Likewise.
4223         * profile/Makefile.in (ALL_CFLAGS): Put W32API_INCLUDE after INCLUDES.
4224         (ALL_CXXFLAGS): Likewise.
4225
4226 2007-02-08  Danny Smith  <dannysmith@users.sourceforge.net>
4227
4228         * include/io.h (X_OK): Revert 2007-01-24 change, but leave comment.
4229
4230 2007-01-27  Danny Smith  <dannysmith@users.sourceforge.net>
4231
4232         Expose some more msvcr80.dll functions.
4233         * include/stdio.h (_fseek_nolock. _ftell_nolock, _fseeki64,
4234         _ftelli64, _fseeki64_nolock, _ftelli64_nolock) Add prototypes
4235         * msvcrt.def.in (_fseek_nolock. _ftell_nolock, _fseeki64,
4236         _ftelli64, _fseeki64_nolock, _ftelli64_nolock) Add stubs.
4237
4238 2007-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
4239
4240         Expose some msvcr80.dll functions.
4241         * include/stdlib.h (_set_abort_behavior): Add prototype.
4242         (_WRITE_ABORT_MSG, _CALL_REPORTFAULT): Add defines for
4243         _set_abort_behavior mask argument.
4244         (_invalid_parameter_handler): Add typedef.
4245         (_set_invalid_parameter_handler): Add prototype.
4246         * include/stdio.h (_get_printf_count_output): Add prototype.
4247         (_set_printf_count_output): Add prototype.
4248         * msvcrt.def.in (_get_printf_count_output,_set_printf_count_output,
4249         _set_abort_behavior, _set_invalid_parameter_handler): Add stubs.
4250
4251 2007-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
4252
4253         * include/_mingw.h (CRT_INLINE): Correct typo.
4254
4255 2007-01-24  Danny Smith  <dannysmith@users.sourceforge.net>
4256
4257         * include/io.h (X_OK): Define to F_OK.
4258
4259 2007-01-19  Danny Smith  <dannysmith@users.sourceforge.net>
4260
4261         * include/stdio.h (SEEK_SET, SEEK_CUR, SEEK_END): Define
4262         unconditionally. Change comment.
4263         * include/unistd.h (SEEK_SET, SEEK_CUR, SEEK_END): Define
4264         here too.
4265         * include/io.h (rename): Declare.
4266         (remove): Declare.
4267
4268 2006-12-31  Keith Marshall  <keithmarshall@users.sourceforge.net>
4269
4270         * include/libgen.h: New file; required by...
4271         * mingwex/basename.c, mingwex/dirname.c: New files.
4272         * mingwex/Makefile.in (DISTFILES): Add them...
4273         (POSIX_OBJS): ...with corresponding basename.o, dirname.o
4274         (Dependencies): Typo; s/Dependancies/Dependencies/
4275
4276 2006-11-25  Keith Marshall  <keithmarshall@users.sourceforge.net>
4277
4278         * Makefile.in (VERSION): Let configure define it.
4279
4280         * aclocal.m4 (MINGW_AC_CONFIG_SRCDIR): New macro.
4281         * configure.in: Use it.
4282         Correct quoting of autoconf macro arguments throughout.
4283         (AC_INIT, AC_OUTPUT): Update to autoconf 2.5x preferred syntax.
4284         (AR, AS, RANLIB, LD, DLLTOOL, DLLWRAP): Don't need AC_SUBST.
4285         (AC_ALLOCA): Invalid after GCC_NO_EXECUTABLES; removed.
4286         (AC_CONFIG_FILES): Add, to generate Makefile.
4287
4288         * configure: Regenerated.
4289
4290 2006-11-21  Danny Smith  <dannysmith@users.sourceforge.net>
4291
4292         * Makefile.in: Add aclocal.m4 to source release.
4293         * mingwex/Makefile.in: Ditto.
4294         * profile/Makefile.in: Ditto.
4295
4296 2006-11-18  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4297
4298         * Include/_mingw.h: Increment version to 3.11.
4299         * Makefile.in: Ditto.
4300
4301 2006-11-09  Danny Smith  <dannysmith@users.sourceforge.net>
4302
4303         [ mingw-Bugs-1590623 ]
4304         * include/_mingw.h (__CRT_INLINE): Use __gnu_inline__ attribute
4305         in C99 mode.
4306
4307 2006-10-04  Corinna Vinschen  <corinna@vinschen.de>
4308
4309         * Makefile.in: Semi-revert semi-reversion of 2006-08-30 change, now
4310         correctly parenthesized.
4311
4312 2006-09-19  Danny Smith  <dannysmith@users.sourceforge.net>
4313
4314         * mingwex/mb_wc_common.h (get_codepage): Get it
4315         from __lc_codepage.
4316
4317 2006-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
4318
4319         * mingwex/gdtoa/g_xfmt.c (g_xfmt): Fix representation of infinity.
4320         Use fpclassify.
4321         * mingwex/gdtoa/strtopx (__strtopx): Avoid cast of long double* to
4322         void*.
4323         * mingwex/gdtoa/gdtoa.h (__g_fmt): Make declaration consistent with
4324         others.
4325
4326 2006-09-16  Danny Smith  <dannysmith@users.sourceforge.net>
4327
4328         * mingwex/gdtoa/strtopx.c (strtopx): Fix long double representation
4329         of infinity.
4330
4331 2006-09-11  Christopher Faylor  <cgf@timesys.com>
4332
4333         * Makefile.in: Semi-revert 2006-08-30 change.
4334
4335 2006-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
4336
4337         * include/_mingw.h (__MINGW_ATTRIB_DEPRECATED): Define.
4338         (__MINGW_IMPORT): Ansify.
4339         * include/stdlib.h (_sleep, _beep, _seterrormode): Add
4340         __MINGW_ATTRIB_DEPRECATED.
4341
4342 2006-09-10  Keith Marshall  <keithmarshall@users.sourceforge.net>
4343
4344         * aclocal.m4 (LIB_AC_PROG_CC, LIB_AC_PROG_CC_GNU, LIB_AC_PROG_CXX):
4345         Redundant macros; deleted.
4346
4347         * configure.in (LIB_AC_PROG_CC): Replaced by...
4348         (AC_PROG_CC): ...this.
4349
4350         * configure: Regenerated.
4351
4352 2006-09-06  Danny Smith  <dannysmith@users.sourceforge.net>
4353
4354         * mingwex/gdtoa/misc.c (pow5mult): Restore original code.
4355         * mingwex/gdtoa/gdtoa.h. Add comment that files have been modified.
4356         * mingwex/gdtoa/gdtoaimp.h: Include system headers with <> brackets.
4357
4358 2006-09-01  Danny Smith  <dannysmith@users.sourceforge.net>
4359
4360         * mingwex/gdtoa/(arithchk.c, dmisc.c, dtoa.c, g__fmt.c, g_dfmt.c,
4361         g_ffmt.c, g_xfmt.c, gd_arith.h, gd_qnan.h, gdtoa.c, gdtoa.h,
4362         gdtoaimp.h, gethex.c, gmisc.c, hd_init.c, hexnan.c, misc.c, qnan.c,
4363         README, smisc.c, strtodg.c, strtodnrp.c, strtof.c, strtopx.c, sum.c,
4364         ulp.c): New files.
4365         * mingwex/(strtof.c, strtold.c, ldtoa.c): Remove files.
4366         * mingwex/math/(cephes-emath.c, cephes-emath.h): Remove files.
4367         * mingwex/mb_wc_common.h (get_cp_from_locale); Rename to get_codepage().
4368         * mingwex/(btowc.c, wctob.c, mbrtowc.c, wcrtomb.c): Adjust call to get_codepage().
4369         * mingwex/wcstold.c: Avoid using strtold internals.
4370         * mingwex/wcstof.c: Rewrite.
4371         * mingwex/Makefile.in (GDTOA_DISTFILES): Add to distribution.
4372         (GDTOA_OBJS): Add to library.
4373         (DISTFILES): Remove strtof.c strtold.c ldtoa.c cephes-emath.c cephes-emath.h.
4374         (STDLIB_OBJS): Remove.
4375         (STDLIB_STUB_OBJS): Remove strtof.o wcstof,o.
4376         (Q8_OBJS): Add wcstof.o wcstold.o.
4377         * include/stdlib.h (strtof): Remove inline definition.
4378         (wcstof): Likewise.
4379         * include/wchar.h (wcstof): Remove inline definition.
4380
4381 2006-08-30  Corinna Vinschen  <corinna@vinschen.de>
4382
4383         * Makefile.in: Add with_cross_host to allow more granular checks.
4384         Set installation directories accordingly. Override CC setting only
4385         if building a Cygwin target.
4386         * aclocal.m4: Regenerate.
4387         * configure.in: Move AC_CANONICAL_SYSTEM check up. Add
4388         GCC_NO_EXECUTABLES. Substitute with_cross_host in depending files.
4389         Test AC_ALLOCA only if building on a native system.
4390         * configure: Regenerate.
4391
4392 2006-08-27  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4393
4394         * include/ctype.h: Fix typo.
4395
4396 2006-08-25  Danny Smith  <dannysmith@users.sourceforge.net>
4397
4398         * include/ctype.h: Expose iswblank if __cplusplus.
4399         * include/wctype.h: Expose iswblank if __cplusplus.
4400
4401 2006-08-03  Danny Smith  <dannysmith@users.sourceforge.net>
4402
4403         * include/ctype.h: Remove stray ')';
4404
4405 2006-08-03  Danny Smith  <dannysmith@users.sourceforge.net>
4406
4407         * include/ctype.h (_BLANK): Expand comment.
4408         (isblank): Add prototype and inline definition.
4409         (iswblank): Add prototype and inline definition.
4410         * include/wctype.h (iswblank): Add prototype and inline definition.
4411         * mingwex/isblank.c: New file.
4412         * mingwex/iswblank.c: New file.
4413         * mingwex/Makefile.in: Add isblank, iswblank to libmingwex.a
4414
4415 2006-07-06  Danny Smith  <dannysmith@users.sourceforge.net>
4416
4417         * include/math.h (__INFF,__INFL): Remove '#'.
4418
4419 2006-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
4420
4421         * mingwex/Makefile.in: Add -I$(srcdir)/.. to INCLUDES.
4422
4423 2006-07-03  Danny Smith  <dannysmith@users.sourceforge.net>
4424
4425         Support SSE float environment in fenv.h functions.
4426         * cpu_features.c: New file.
4427         * cpu_features.h: New file.
4428         * crt1.c: Include "cpu_features.h".
4429         (__mingw_CRTStartup): Call cpu_features_init().
4430         * Makefile.in (MING_OBJS): Add cpu_features.c.
4431         (SRCDIST_FILES): Add cpu_features.c, cpu_features.h.
4432         * include/fenv,h ( fenv_t;): Append __mxcsr field.
4433         (__MXCSR_EXCEPT_FLAG_SHIFT): New define.
4434         (__MXCSR_EXCEPT_MASK_SHIFT): New define.
4435         (__MXCSR_ROUND_FLAG_SHIFT): New define.
4436         * mingwex/feclearexcept.c: Include "cpu_features.h".
4437         Handle SSE environment.
4438         * mingwex/fegetenv.c: Likewise.
4439         * mingwex/feholdexcept.c: Likewise.
4440         * mingwex/fesetenv.c: Likewise.
4441         * mingwex/fesetexceptflag.c: Likewise.
4442         * mingwex/fesetround.c: Likewise.
4443         * mingwex/fetestexcept.c: Likewise.
4444         * mingwex/feupdateenv.c: Likewise.
4445         * mingwex/fegetround.c: Add comment.
4446
4447 2006-06-25  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4448
4449         * Include/_mingw.h: Increment version to 3.10.
4450         * Makefile.in: Ditto.
4451
4452 2006-06-26  Danny Smith  <dannysmith@users.sourceforge.net>
4453
4454         * mingwex/math/tgamma.c (SQTPI): Add braces.
4455
4456 2006-06-26  Danny Smith  <dannysmith@users.sourceforge.net>
4457
4458         * mingwex/wcrtomb.c (wcsrtombs): Fix src end-pointer thinko.
4459         * mingwex/math/lgamma.c: (LOGPI) Avoid type punning.
4460         (LS2PI): Likewise.
4461         * mingwex/math/sf_erf.c (erff): Initialize z.
4462         (erfcf): Likewise.
4463         * mingwex/math/tgamma.c (SQTPI): Avoid type punning.
4464
4465 2006-06-25  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4466
4467         * Include/_mingw.h: Increment version to 3.10.
4468         * Makefile.in: Ditto.
4469
4470 2006-06-23  Danny Smith  <dannysmith@users.sourceforge.net>
4471
4472         * include/sys/time.h (struct timezone): Define.
4473         * include/time.h: Correct comment about timezone.
4474
4475 2006-06-18  Danny Smith  <dannysmith@users.sourceforge.net>
4476
4477         * configure.in (AC_CONFIG_AUX_DIR): Remove.
4478         * configure: Regenerate.
4479
4480 2006-06-18  Chris Sutcliffe  <ir0n3h4d@users.sourceforge.net>
4481
4482         * configure: add srcdir as a possible location for install-sh.
4483
4484 2006-06-18  Danny Smith  <dannysmith@users.sourceforge.net>
4485
4486         * mingwex/dirent.c (_tGetFileAttributes): New helper function.
4487         (_topendir): Use it.
4488
4489 2006-06-18  Danny Smith  <dannysmith@users.sourceforge.net>
4490
4491         * include/sys/time.h: Add header guard. Add extern "C" bracketing
4492         for __cplusplus.
4493         (gettimeofday): Add prototype.
4494         * mingwex/gettimeofday.c: New file.
4495         * mingwex/makefile.in: Add gettimeofday source and object.
4496
4497 2006-06-13  Danny Smith  <dannysmith@users.sourceforge.net>
4498
4499         * include/math.h (HUGE_VAL): Define as builtin if __GNUC__ >= 3.3,
4500         else global library variable.
4501         (HUGEVALF): Likewise.
4502         (HUGEVALL): Likewise.
4503         (INFINITY): Likewise.
4504         (NAN): LiKewise.
4505
4506 2006-06-13  Danny Smith  <dannysmith@users.sourceforge.net>
4507
4508         * mingwex/wcrtomb.c (wcrtomb_cp): Correct typo.
4509
4510 2006-06-13  Danny Smith  <dannysmith@users.sourceforge.net>
4511
4512         * Makefile.in (SUBDIRS): Change to lowercase for autoconf 2.59.
4513
4514 2006-05-24  Christopher Faylor  <cgf@timesys.com>
4515
4516         * configure.in: Update to newer autoconf.
4517         (thanks to Steve Ellcey)
4518         * mingwex/configure.in: Ditto.
4519         * profile/configure.in: Ditto.
4520         * configure: Regenerate.
4521         * mingwex/configure: Ditto.
4522         * profile/configure: Ditto.
4523         * aclocal.m4: New file.
4524         * mingwex/aclocal.m4: Ditto.
4525         * profile/aclocal.m4: Ditto.
4526
4527 2006-05-17  Danny Smith  <dannysmith@users.sourceforge.net>
4528
4529         * mingwex/wcrtomb.c (wcrtomb_cp): Test (wc > 255) only if C locale.
4530         Use supplied codepage as arg to WideCharToMultiByte.
4531
4532 2006-02-13  Earnie Boyd  <earnie@users.sf.net>
4533
4534         * Makefile.in (libmsvcr80.a): Add import lib.
4535         (libmsvcr80d.a): Ditto.
4536
4537 2006-01-18  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4538
4539         * Makefile.in: Bump cygwin build number.
4540
4541 2005-10-27  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4542
4543         * Include/_mingw.h: Increment version to 3.9.
4544         * Makefile.in: Ditto.
4545
4546 2005-10-14  Danny Smith  <dannysmith@users.sourceforge.net>
4547
4548         * include/limits.h (SSIZE_MAX): Define.
4549         (LLONG_MAX, LLONG_MIN, ULLONG_MAX): Separate from non-ISO names.
4550
4551 2005-10-13  Wu Yongwei  <adah@users.sourceforge.net>
4552
4553         * include/tchar.h: Include <wchar.h> when _UNICODE is defined.
4554         (_TEOF): New macro definition for _UNICODE and non_UNICODE cases.
4555
4556 2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
4557
4558         * include/stddef.h: Remove.
4559         * include/stdarg.h: Remove.
4560
4561 2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
4562
4563         * mingwex/complex/csqrt.c (csqrt): The sign of real part
4564         of result is positive when real part of arg == 0;
4565         * mingwex/complex/csqrtf.c (csqrtf): Ditto.
4566         * mingwex/complex/csqrtl.c (csqrtl): Ditto.
4567
4568 2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
4569
4570         * include/time.h (_time64): Correct prototype.
4571
4572 2005-10-08  Danny Smith  <dannysmith@users.sourceforge.net>
4573
4574         * mingwex/fegetenv.c (fegetenv): Restore exception masks.
4575         * mingwex/feholdexcept.c (feholdexcept): Don't set exceptions
4576         to non-stop. Use "fnclex" to clear exception flags.
4577
4578 2005-09-24  Danny Smith  <dannysmith@users.sourceforge.net>
4579
4580         * include/math.h (HUGE_VALF, HUGE_VALL, INFINITY, NAN)
4581         Avoid raising FP exceptions.
4582
4583 2005-09-19  Danny Smith  <dannysmith@users.sourceforge.net>
4584
4585         * include/stdlib.h (strtof): Add prototype. Uglify
4586         parameter names in inline definition.
4587         (wcstof): Likewise.
4588         (_Exit): Uglify parameter names in inline definition.
4589         (llabs): Add prototype.
4590         (_set_error_mode): Add prototype and input defines.
4591
4592 2005-08-25  Danny Smith  <dannysmith@users.sourceforge.net>
4593
4594         * mingwex/fe*.c: Revert previous changes.
4595         * include/fenv.h: Revert previous changes.
4596
4597 2005-08-25  Danny Smith  <dannysmith@users.sourceforge.net>
4598
4599         * mingwex/feclearexcept.c (feclearexcept): Change declaration.
4600         Do not return a value.
4601         * mingwex/fegetexceptflag.c (fegetexceptflag): Likewise.
4602         * mingwex/feraiseexcept.c (feraiseexcept): Likewise.
4603         * mingwex/fesetexceptflag.c (fesetexceptflag): Likewise.
4604         * mingwex/fegetenv.c (fegetenv): Likewise.
4605         * mingwex/fesetenv.c (fesetenv): Likewise.
4606         * mingwex/feupdateenv.c (feupdateenv): Likewise.
4607         * include/fenv.h (feclearexcept, fegetexceptflag, feraiseexcept,
4608         fesetexceptflag, fegetenv, fesetenv, feupdateenv): Correct
4609         prototypes.
4610
4611 2005-08-25  Danny Smith  <dannysmith@users.sourceforge.net>
4612
4613         * mingwex/stdio/fseeko64.c (fseeko64): Flush stream before
4614         getting filelength for SEEK_END.
4615
4616 2005-08-13  Chris Sutcliffe  <ir0nh34d@users.sourceforge.net>
4617
4618         * Include/_mingw.h: Increment version to 3.8.
4619         * Makefile.in: Ditto.
4620
4621 2005-08-10  Danny Smith  <dannysmith@users.sourceforge.net>
4622
4623         * include/wctype.h (towupper, towlower): Change arg and return value
4624         types to wint_t.
4625         * include/ctype.h (towupper, towlower): Likewise.
4626
4627 2005-08-10  Danny Smith  <dannysmith@users.sourceforge.net>
4628
4629         * mthr_stub.c (__mingwthr_key_dtor): Replace assert(0) with
4630         a diagnostic, guarded by #ifdef DEBUG.
4631         (__mingwthr_remove_key_dtor): Likewise.
4632
4633 2005-08-08  Danny Smith  <dannysmith@users.sourceforge.net>
4634
4635         * moldname.def.in (sleep, beep, seterrormode): Remove.
4636
4637 2005-06-16  Danny Smith  <dannysmith@users.sourceforge.net>
4638
4639         * profile/profile.h (_MCOUNT_CALL): Define as regparm(2)
4640         (_MCOUNT_DECL): Use it.
4641         (MCOUNT): Save and restore eax, ecx, edx registers.
4642         * profile/mcount.c (_mcount): ANSI-fy.
4643
4644 2005-06-16  Danny Smith  <dannysmith@users.sourceforge.net>
4645
4646         * include/_mingw.h (__MINGW_GNUC_PREREQ): Define. Use to
4647         guard __MINGW_ATTRIB macro definitions.
4648         * include/math.h (logb[fl]): Don't define inlines for
4649         GCC-4.0+ && __FAST_MATH__.
4650         (rint[fl], lrint[fl], llrint[fl]); Likewise. Clean up
4651         line-continuation backslashes.
4652
4653 2005-06-06  Danny Smith  <dannysmith@users.sourceforge.net>
4654
4655         * include/_mingw.h (__MINGW_ATTRIBUTE_NONNULL): Fix typo
4656         in GNUC version guard.
4657
4658 2005-05-20  Danny Smith  <dannysmith@users.sourceforge.net>
4659
4660         * crt1.c (_gnu_exception_handler): Handle illegal instruction
4661         OS exception as a signal if user has defined a SIGILL handler.
4662
4663 2005-05-10  Danny Smith  <dannysmith@users.sourceforge.net>
4664
4665         * mingwex/math/nexttoward.c: New file.
4666         * mingwex/math/nexttowardf.c: New file.
4667         * mingwex/math/nextafterl.c: Add nexttowardl alias.
4668         * mingwex/Makefile.in (MATH_DISTFILES): Add nexttoward.c,
4669         mexttowardf.c,
4670         (MATH_OBJS): Add nexttoward.o,  nexttowardf.o,
4671         * include/math.h (nexttoward, nextowardf, nexttowardl): Add
4672         prototypes.
4673
4674 2005-05-09  Danny Smith  <dannysmith@users.sourceforge.net>
4675
4676         * mingwex/math/nextafterf.c (nextafterf): Correct
4677         handling of -0.0.
4678         * mingwex/math/nextafterl.c: New file.
4679         * mingwex/Makefile.in (MATH_DISTFILES): Add nextafterl.c.
4680         (MATH_OBJS): Add nextafterl.o.
4681         * include/math.h (nextafterl): Uncomment prototype.
4682
4683 2005-05-08  Danny Smith  <dannysmith@users.sourceforge.net>
4684
4685         * mingwex/math/erfl.c: New file.
4686         * mingwex/Makefile.in (MATH_DISTFILES): Add erfl.c.
4687         (MATH_OBJS): Add erfl.o.
4688         * include/math.h (erfl, erfcl): Uncomment prototypes.
4689
4690 2005-05-04  Danny Smith  <dannysmith@users.sourceforge.net>
4691
4692         * include/wchar.h (WCHAR_MAX): Define as 0xffff, so preprocessor
4693         #if (WCHAR_MAX <= WCHAR_MIN) is false.
4694         * include/stdint.h (WCHAR_MAX): Likewise.
4695         (WINT_MAX): Likewise.
4696
4697 2005-05-03  Danny Smith  <dannysmith@users.sourceforge.net>
4698
4699         * mingwex/math/signbit.c (__signbit): Make return value
4700         consistent with GCC's __builtin_signbit.
4701         * mingwex/math/signbitf.c (__signbitf): Likewise.
4702         * mingwex/math/signbitf.c (__signbitl): Likewise.
4703         * include/math.h (__signbit, __signbitf, __signbitl): Likewise
4704         for inlines.
4705
4706 2005-05-02  Danny Smith  <dannysmith@users.sourceforge.net>
4707
4708         * include/_mingw.h (__MINGW_ATTRIB_NONNULL): Don't define as
4709         variadic macro.
4710         * mingwex/mbrtowc.c (__mbrtowc_cp): Use __MINGW_ATTRIB_NONNULL.
4711         Remove unused MBTOWC_FLAGS define.
4712
4713 2005-04-23  Danny Smith  <dannysmith@users.sourceforge.net>
4714
4715         * mingwex/mbrtowc.c: New file.
4716         * mingwex/wcrtomb.c: New file.
4717         * mingwex/btowc.c: New file.
4718         * mingwex/wctob.c: New file.
4719         * mingwex/mb_wc_common.h: New file.
4720         * mingwex/Makefile.in (DISTFILES): Add new files.
4721         (Q8_OBJS): Add new objects.
4722         * include/wchar.h: Adjust comment about mbrtowc() and related
4723         funcions. Add __restrict__ to pointer params in prototypes.
4724         (wmemset. wmemchr, wmemcpy, wmemmove, wcstoll, wcstoull): Remove
4725         arg names from protototypes.
4726
4727 2005-04-23  Wu Yongwei  <adah@sh163.net>
4728
4729         * mingwex/dirent.c: Formatting changes.
4730         * mingwex/dirent.c (_topendir): Make the end-of-path slash check
4731         MBCS-safe.
4732
4733 2005-03-31  Danny Smith  <dannysmith@users.sourceforge.net>
4734
4735         * include/_mingw.h (__MINGW_ATTRIB_NONNULL): Define.
4736
4737 2005-03-24  Danny Smith  <dannysmith@users.sourceforge.net>
4738
4739         * include/stdio.h (__mingw_fwrite): Change return value to
4740         size_t.
4741         * mingwex/mingw-fseek.c (__mingw_fwrite): Likewise.
4742
4743 2005-03-15  Hans Leidekker  <hans@it.vu.nl>
4744
4745         * include/malloc.h (_FREEENTRY, _USEDENTRY): Correct defines.
4746
4747 2005-02-25  Danny Smith  <dannysmith@users.sourceforge.net>
4748
4749         * include/wctype.h (wctrans): Remove _CRTIMP.
4750         (towctrans): Likewise.
4751         (wctype): Likewise,
4752
4753 2005-02-25  Danny Smith  <dannysmith@users.sourceforge.net>
4754
4755         * include/wctype.h: Add comment on wctrans, towctrans, wctype.
4756
4757 2005-02-25  Danny Smith  <dannysmith@users.sourceforge.net>
4758
4759         * mingwex/wctype.c: New file.
4760         * mingwex/wctrans.c: New file.
4761         * mingwex/Makefile.in (DISTFILES): Add wctype.c, wctrans.c.
4762         * mingwex/Makefile.in (Q8_OBJS): Add wctype.o, wctrans.o.
4763
4764 2005-02-11  Danny Smith  <dannysmith@users.sourceforge.net>
4765
4766         * include/tchar.h (_tstat64, _tstati64): Add Unicode/ANSI mappings.
4767
4768 2005-02-11  Danny Smith  <dannysmith@users.sourceforge.net>
4769
4770         * include/assert.h: Remove header guard. #undef assert macro.
4771         (_assert): Use __MINGW_ATTRIB_NORETURN define.
4772
4773 2005-02-11  Gregory W. Chicares  <chicares@cox.net>
4774
4775         * include/math.h (expm1, expm1f, expm1l): Add prototypes.
4776         * mingwex/Makefile.in (MATH_DISTFILES): Add expm1.c,
4777         expm1f.c, expm1l.c.
4778         (MATH_OBJS): Add expm1.o, expm1f.o, expm1l.o.
4779         * mingwex/math/expm1.c: New file.
4780         * mingwex/math/expm1f.c: New file.
4781         * mingwex/math/expm1l.c: New file.
4782
4783 2005-02-07  Danny Smith  <dannysmith@users.sourceforge.net>
4784
4785         * include/sys/stat.h (struct stat): Guard with _NO_OLDNAMES.
4786         * include/wchar.h (struct stat): Likewise.
4787         Bug reported to Debian by Anand Kumria <wildfire@progsoc.org>
4788
4789         * include/sys/stat.h: Remove empty __STRICT_ANSI__ guard.
4790
4791 2005-02-01  Danny Smith  <dannysmith@users.sourceforge.net>
4792
4793         * mingwex/strtold.c (__asctoe64): Set endptr to 'e' if exponent
4794         string is not valid.
4795
4796 2005-01-26  Oliver Stoeneberg  <oliverst@online.de>
4797
4798         * include/malloc.h: Add missing return code defines for
4799         _heapwalk()
4800
4801 2005-01-17  Danny Smith  <dannysmith@users.sourceforge.net>
4802
4803         * include/sys/stat.h (struct __stat64): Change st_size type to
4804          __int64.
4805         * include/wchar.h (struct __stat64): Change st_size type to __int64.
4806
4807 2005-01-13  Earnie Boyd  <earnie@users.sf.net>
4808
4809         * include/sys/stat.h (_S_IFLNK, S_IFLNK, _S_ISLNK, S_ISLNK, _lstat,
4810         lstat): Remove.
4811         * include/errno.h (ELOOP): Ditto.
4812         * include/_mingw.h: Increment version to 3.7.
4813         * Makefile.in: Ditto.
4814
4815 2005-01-11  Danny Smith  <dannysmith@users.sourceforge.net>
4816
4817         * include/tchar.h (_tfreopen): Add UNICODE mappings.
4818
4819 2005-01-11  Earnie Boyd  <earnie@users.sf.net>
4820
4821         * include/sys/stat.h (_S_IFLNK, S_IFLNK, _S_ISLNK, S_ISLNK, _lstat,
4822         lstat): Conditionalize defines for __STRICT_ANSI__.
4823
4824 2005-01-10  Earnie Boyd  <earnie@users.sf.net>
4825
4826         * include/errno.h (ELOOP): Add definition.
4827
4828 2005-01-10  Danny Smith  <dannysmith@users.sourceforge.net>
4829
4830         * mingwex/complex/(cabsl.c cacosl.c cacoshl.c cargl.c casinl.c
4831         casinhl.c catanl.c catanhl.c ccosl.c ccoshl.c cexpl.c cimagl.c
4832         clogl.c cpowl.c cprojl.c creall.c csinl.c csinhl.c csqrtl.c
4833         ctanl.c ctanhl.c): New files.
4834         * mingwex/Makefile.in (COMPLEX_DISTFILES): Adjust.
4835         (COMPLEX_OBJS): Adjust.
4836         * include/complex.h (cabsl, cacosl, cacoshl, cargl, casinf.
4837         casinhl, catanl, catanhl, ccosl, ccoshl, cexpl, cimagl, clogl,
4838         cpowl, cprojl, creall, csinl, csinhl, csqrtl, ctanl, ctanhl):
4839         Declare.
4840
4841 2005-01-06  Danny Smith  <dannysmith@users.sourceforge.net>
4842
4843         * include/_mingw.h (__int16): Define as short.
4844         Thanks to: Leo Yuriev <leoyuriev at users dot sf dot net>
4845
4846 2005-01-06  Danny Smith  <dannysmith@users.sourceforge.net>
4847
4848         * include/stdio.h (P_tmpdir): Add define.
4849
4850 2005-01-03  Earnie Boyd  <earnie@users.sf.net>
4851
4852         * Makefile.in (inst_docdir): For Cygwin target set to share/doc/.
4853
4854 2005-01-02  Earnie Boyd  <earnie@users.sf.net>
4855
4856         * include/_mingw.h: Increment version to 3.6
4857         * Makefile.in: Ditto
4858
4859 2004-12-26  Danny Smith  <dannysmith@users.sourceforge.net>
4860
4861         * mingwex/complex/(cabsf.c cacosf.c cacoshf.c cargf.c casinf.c
4862         casinhf.c catanf.c catanhf.c ccosf.c ccoshf.c cexpf.c cimagf.c
4863         clogf.c cpowf.c cprojf.c crealf.c csinf.c csinhf.c csqrtf.c
4864         ctanf.c ctanhf.c): New files.
4865         * mingwex/Makefile.in (COMPLEX_DISTFILES): Adjust.
4866         (COMPLEX_OBJS): Adjust.
4867         * include/complex.h (cabsf, cacosf, cacoshf, cargf, casinf.
4868         casinhf, catanf, catanhf, ccosf, ccoshf, cexpf, cimagf, clogf,
4869         cpowf, cprojf, crealf, csinf, csinhf, csqrtf, ctanf, ctanhf):
4870         Declare.
4871
4872 2004-12-20  Danny Smith  <dannysmith@users.sourceforge.net>
4873
4874         * include/wchar.h (wcsdup): Correct prototype.
4875         * include/string.h (wcsdup): Correct prototype.
4876
4877 2004-10-14  Danny Smith  <dannysmith@users.sourceforge.net>
4878
4879         * include/sys/stat.h: Make S_ISLNK comment comply with ISO C90.
4880
4881 2004-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
4882
4883         * mingwex/math/fastmath.h: New file.
4884         * mingwex/math/asinh.c: New file.
4885         * mingwex/math/asinhf.c: New file.
4886         * mingwex/math/asinhl.c: New file.
4887         * mingwex/math/acosh.c: New file.
4888         * mingwex/math/acoshf.c: New file.
4889         * mingwex/math/acoshl.c: New file.
4890         * mingwex/math/atanh.c: New file.
4891         * mingwex/math/atanhf.c: New file.
4892         * include/math.h (asinh, asinhf, asinhl, acosh, acoshf, acoshl,
4893         atanh, atanhf, atanhl): Add prototypes.
4894         * mingwex/Makefile.in (MATH_OBJS): Add objects for above to list.
4895         (MATH_DISTFILES): Add sources for above and fastmath.h to list.
4896         Specify dependency on fastmath.h for new objects.
4897
4898 2004-09-08  Earnie Boyd  <earnie@users.sf.net>
4899
4900         * include/sys/stat.h (_S_IFLNK): Add definition.
4901         (S_IFLNK) Ditto.
4902         (_lstat) Ditto.
4903         (lstat) Ditto.
4904         (_S_ISLNK) Recode.
4905         (S_ISLNK) Ditto.
4906
4907 2004-09-08  Earnie Boyd  <earnie@users.sf.net>
4908
4909         * include/sys/stat.h (_S_ISLNK): Add definition.
4910         (S_ISLNK): Ditto.
4911
4912 2004-09-05  Earnie Boyd  <earnie@users.sf.net>
4913
4914         * include/_mingw.h: Increment minor version for 3.5 release.
4915         * Makefile.in: Ditto.
4916         * mingwex/Makefile.in: Correct typo in list of DISTFILES.
4917
4918 2004-08-24  Danny Smith  <dannysmith@users.sourceforge.net>
4919
4920         * include/malloc.h (__mingw_aligned_offset_malloc,
4921         __mingw_aligned_offset_realloc, __mingw_aligned_malloc,
4922         __mingw_aligned_realloc, __mingw_aligned_free): Add
4923         prototypes.
4924         * mingwex/Makefile.in (DISTFILES): Add mingw-aligned-malloc.c,
4925         tst-aligned-malloc.c.
4926         (REPLACE_OBJS): Add mingw-aligned-malloc.o.
4927
4928 2004-08-24  Steven G. Johnson  <stevenj@alum.mit.edu>
4929
4930         * mingwex/mingw-aligned-malloc.c: New file.
4931         * mingwex/tst-aligned-malloc.c: New file.
4932
4933 2004-08-24  Danny Smith  <dannysmith@users.sourceforge.net>
4934
4935         * crt1.c: (__mingw_CRTStartup): Change return to void. Add
4936         noreturn attribute. Align stack to 16 bytes before passing args
4937         to main.
4938         (mainCRTStartup): Change return to void.
4939         (WinMainCRTStartup): Likewise.
4940
4941 2004-08-15  Danny Smith  <dannysmith@users.sourceforge.net>
4942
4943         * profile/COPYING: New file.
4944         * profile/CYGWIN_LICENSE: New file.
4945         * profile/Makefile.in (DISTFILES): Add COPYING, CYGWIN_LICENSE.
4946
4947 2004-08-15  Danny Smith  <dannysmith@users.sourceforge.net>
4948
4949         * mingwex/fopen64.c: Move.
4950         * mingwex/fseeko64.c: Move.
4951         * mingwex/ftello64.c: Move.
4952         * mingwex/lseek64.c: Move.
4953         * mingwex/stdio/fopen64.c: To here.
4954         * mingwex/stdio/fseeko64.c: To here.
4955         * mingwex/stdio/ftello64.c: To here.
4956         * mingwex/stdio/lseek64.c: To here.
4957
4958 2004-08-15  Danny Smith  <dannysmith@users.sourceforge.net>
4959
4960         * profile/gmon.c [__MINGW32__]: Include string.h for
4961         memset prototype.
4962
4963 2004-08-08  Christopher Faylor  <cgf@timesys.com>
4964
4965         * mingwex/stdio/vwscanf.c: Add stdio.h needed after 2004-08-07 change.
4966
4967 2004-08-07  Danny Smith  <dannysmith@users.sourceforge.net>
4968
4969         * include/complex.h: Remove __attribute__ ((const)) from
4970         transcendantal and trig functions. Replace __attribute__ ((const))
4971         with __MINGW_ATTRIB_CONST on other declarations.
4972
4973 2004-08-07  Danny Smith  <dannysmith@users.sourceforge.net>
4974
4975         * include/wchar.h: Reorganize, avoid including other headers.
4976
4977 2004-08-07  Danny Smith  <dannysmith@users.sourceforge.net>
4978
4979         * include/string.h (memchr, memcmp, strchr, strcmp, strcspn)
4980         (strlen, strncmp, strpbrk, strrchr, strspn, strstr): Add pure
4981         attribute.
4982
4983 2004-07-30  Danny Smith  <dannysmith@users.sourceforge.net>
4984
4985         * include/dirent.h (struct _wdirent): Remove obsolete comment.
4986
4987 2004-07-30  Danny Smith  <dannysmith@users.sourceforge.net>
4988
4989         * include/string.h: Revert 2004-07-26 additions of
4990         __ATTRIBUTE_PURE.
4991
4992 2004-07-28  Danny Smith  <dannysmith@users.sourceforge.net>
4993
4994         * mingwex/math/powl.c (powl): Revert change of 2004-02-01.
4995         (__convert_inf_to_maxnum): New.static inline.
4996         (reducl): Use it to protect against Inf - Inf.
4997         (__fast_ldexpl): New function. Use in lieu of ldexpl.
4998
4999 2004-07-27  Danny Smith  <dannysmith@users.sourceforge.net>
5000
5001         * mingwex/math/expl.c (expl): Move body of code to new static
5002         function __expl, removing tests for +/-Inf. Extern function
5003         expl calls __expl after testing for max, min log thresholds.
5004
5005 2004-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
5006
5007         * mingwex/stdio/vsscanf.c: Add "edi" to registers-modified field
5008         * mingwex/stdio/vfscanf.c: Likewise.
5009         * mingwex/stdio/vswscanf.c: Likewise.
5010         * mingwex/stdio/vfwscanf.c: Likewise.
5011
5012 2004-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
5013
5014         * include/_mingw.h: Use only two underscores to uglify
5015         __MINGW_ATTRIB_* macros.
5016         * include/stdlib.h: Adjust __MINGW_ATTRIB_* tokens.
5017         * include/setjmp.h: Likewise.
5018
5019         * include/sting.h: Add __MINGW_ATTRIB_PURE to locale-independent
5020         string functions.
5021         (_strdup, strdup): Add __MINGW_ATTRIB_MALLOC.
5022
5023 2004-07-25  Danny Smith  <dannysmith@users.sourceforge.net>
5024
5025         * include/string.h: Group wide string functions together,
5026         and protect with _WSTRING_DEFINED.
5027
5028 2004-07-25  Danny Smith  <dannysmith@users.sourceforge.net>
5029
5030         * include/_mingw.h (__MINGW_ATTR_*): Replace with
5031         __MINGW_ATTRIB_*.
5032         * include/stdlib.h (_ATTRIB_NORETURN): Replace with
5033         __MINGW_ATTRIB_NORETURN, throughout.
5034         (malloc): Declare with __MINGW_ATTRIB_MALLOC.
5035         (calloc): Likewise.
5036         (abs): Declare with __MINGW_ATTRIB_CONST.
5037         (labs): Likewise.
5038         (div): Likewise.
5039         (ldiv): Likewise.
5040         (lldiv): Likewise.
5041         (_rotl): Likewise.
5042         (_rotr): Likewise.
5043         (_lrotl): Likewise.
5044         (_lrotr): Likewise.
5045         * include/setjmp.h (longjmp): Add __MINGW_ATTRIB_NORETURN.
5046
5047 2004-07-21  Danny Smith  <dannysmith@users.sourceforge.net>
5048
5049         * include/_mingw.h: Undefine __attribute__.
5050         (__MINGW_ATTR_NORETURN): New define.
5051         (__MINGW_ATTR_CONST): New define.
5052         (__MINGW_ATTR_MALLOC): New define.
5053         (__MINGW_ATTR_PURE): New define.
5054         (_CRTIMP, __cdecl, __stdcall, __UNUSED_PARAM): Ansi-fy
5055         expansions.
5056
5057 2004-07-19  Danny Smith  <dannysmith@users.sourceforge.net>
5058
5059         * include/time.h (__time64_t): Add missing ';'.
5060
5061 2004-07-17  Danny Smith  <dannysmith@users.sourceforge.net>
5062
5063         * include/time.h (wcsftime): Move out of !__STRICT_ANSI__ block.
5064         (struct tm): Protect with _TM_DEFINED.
5065
5066 2004-07-17  Christopher Faylor  <cgf@timesys.com>
5067
5068         * Makefile.in (CC): Strip inappropriate include file settings from any
5069         passed-in CC.
5070
5071 2004-07-15  "dgun"  <dgun@umpire.com>
5072
5073         * include/complex.h (conj): Correct typo in prototype.
5074
5075 2004-07-15  Danny Smith  <dannysmith@users.sourceforge.net>
5076
5077         * include/math.h: Add pragma GCC system_header.
5078
5079 2004-07-15  Danny Smith  <dannysmith@users.sourceforge.net>
5080
5081         * mingwex/complex/carg.c: New file.
5082         * mingwex/Makefile.in: Really add carg.o to libmingwex.a.
5083
5084 2004-07-15  Corinna Vinschen  <corinna@vinschen.de>
5085
5086         * Makefile.in (INCLUDES): Temporarily revert previous change.
5087         * mingwex/Makefile,in (INCLUDES): Ditto.
5088         * profile/Makefile,in (INCLUDES): Ditto.
5089         * mingwex/Makefile,in: Drop carg.o dependency.
5090
5091 2004-07-14  Christopher Faylor  <cgf@timesys.com>
5092
5093         * mingwex/fwide.c: Include <stdio.h> to resolve FILE usage.
5094
5095 2004-07-14  Danny Smith  <dannysmith@users.sourceforge.net>
5096
5097         * Makefile.in (INCLUDES): Designate $(srcdir)/../include as a
5098         system dir.
5099         * mingwex/Makefile,in (INCLUDES): Ditto.
5100         * profile/Makefile,in (INCLUDES): Ditto.
5101
5102         * mingwex/Makefile,in: Add carg.o to libmingwex.a.
5103
5104 2004-07-13  Earnie Boyd  <earnie@users.sourcefourge.net>
5105
5106         * Makefile.in: Move use of --nostdinc++ as GCC3.4 warns to use it
5107         for C modules.
5108         * mingwex/Makefile.in: Ditto.
5109         * profile/Makefile.in: Ditto.
5110         * include/limits.h: Change to new file header preamble.
5111         * include/_mingw.h: Increment minor version for 3.4 release.
5112         * Makefile.in: Ditto.
5113
5114 2004-07-12  Danny Smith  <dannysmith@users.sourceforge.net>
5115
5116         * mingwex/math/cephes_emath.h (__etens): Remove declaration.
5117
5118 2004-07-11  Danny Smith  <dannysmith@users.sourceforge.net>
5119
5120         * include/unistd.h (ftruncate): Add inline definition.
5121         * mingwex/ftruncate.c: New file.
5122         * mingwex/Makefile.in: Add ftruncate.o to libmingwex.a.
5123
5124 2004-07-10  Danny Smith  <dannysmith@users.sourceforge.net>
5125
5126         * include/time.h: Do not include sys/types.h.
5127
5128 2004-07-02  Danny Smith  <dannysmith@users.sourceforge.net>
5129
5130         * mingwex/Makefile.in (MATH_DISTFILES): Remove pow.c,
5131         (MATH_OBJS): Remove pow,o.
5132         * include/math.h (pow): Declare with _CRTIMP.
5133         Add comment on how to avoid excess precision problems.
5134
5135 2004-06-30  Danny Smith  <dannysmith@users.sourceforge.net>
5136
5137         * include/stdio.h (__mingw_fseeko64): Add prototype.
5138         * mingwex/mingw-fseek.c (__mingw_fseeko64): Add definition.
5139         (__mingw_fwrite): Handle huge files.
5140
5141 2004-06-30  Kees Zeelenberg  <kzlg@users.sourceforge.net>
5142           Danny Smith <dannysmith@users.sourceforge.net>
5143
5144         * include/stdio.h (fopen64): Add inline function.
5145         (fseeko64): Add prototype.
5146         (ftello64): Add inline function.
5147         * include/io.h (lseek64): Add inline function.
5148         * include/sys/types (off64_t): Add typedef.
5149         (fpos64_t): Add typedef.
5150         * mingwex/fopen64.c: New file.
5151         * mingwex/fseeko64.c: New file.
5152         * mingwex/ftello64.c: New file.
5153         * mingwex/lseek64.c: New file.
5154         * mingwex/Makefile.in (STDIO_DISTFILES): Add fopen64.c,
5155         fseeko.64.c, ftello64.c, lseek64.c.
5156         (STDIO_OBJS): Add fopen64.o, fseeko.64.o, ftello64.o, lseek64.o.
5157
5158 2004-04-24  Luke Dunstan  <infidel@users.sourceforge.net>
5159
5160         * include/limits.h (_I64_MIN, _I64_MAX, _UI64_MAX): Add defines.
5161
5162 2004-04-22  Earnie Boyd  <earnie@users.sf.net>
5163
5164         * DISCLAIMER: Add words about "free to use".
5165         * README: Modify "Win32 runtime" to "Microsoft C Runtime".
5166         * Makefile.in (SRCDIST_FILES): Add DISCLAIMER and CONTRIBUTORS.
5167         (inst_docdir): New variable.
5168         (INSTDOCS): Ditto.
5169         (FLAGS_TO_PASS): Include inst_docdir.
5170         (install-dirs): Add inst_docdir.
5171         (install): Add loop for INSTDOCS.
5172         * strncasecmp.c: Reword copyright and disclaimer. Move Contributors
5173         section to CONTRIBUTORS file. Remove RCS tags.
5174
5175 2004-04-22  Danny Smith  <dannysmith@users.sourceforge.net>
5176
5177         * mingwex/math/lround.c: Rewrite.
5178         * mingwex/math/lroundf.c: Rewrite.
5179         * mingwex/math/lroundl.c: Rewrite.
5180         * mingwex/math/llround.c: Rewrite.
5181         * mingwex/math/llroundf.c: Rewrite.
5182         * mingwex/math/llroundl.c: Rewrite.
5183
5184 2004-04-20  Earnie Boyd  <earnie@users.sf.net>
5185
5186         * CONTRIBUTORS: New file.
5187         * DISCLAIMER: Ditto.
5188         * CRT_noglob.c: Reword copyright and disclaimer. Move Contributors
5189         section to CONTRIBUTORS file. Remove RCS tags.
5190         * CRTFmode.c: Ditto.
5191         * CRTglob.c: Ditto.
5192         * CRTinit.c: Ditto.
5193         * crt1.c: Ditto.
5194         * crtdll.dev: Ditto.
5195         * dllcrt1.c: Ditto.
5196         * dllmain.c: Ditto.
5197         * gccmain.c: Ditto.
5198         * init.c: Ditto.
5199         * isascii.c: Ditto.
5200         * iscsym.c: Ditto.
5201         * iscsymf.c: Ditto.
5202         * jamfile: Ditto.
5203         * main.c: Ditto.
5204         * msvcrt.def.in: Ditto.
5205         * strcasecmp.c: Ditto.
5206         * toascii.c: Ditto.
5207         * wcscmpi.c: Ditto.
5208         * include/assert.h: Ditto.
5209         * include/conio.h: Ditto.
5210         * include/ctype.h: Ditto.
5211         * include/direct.h: Ditto.
5212         * include/dirent.h: Ditto.
5213         * include/dos.h: Ditto.
5214         * include/errno.h: Ditto.
5215         * include/excpt.h: Ditto.
5216         * include/fcntl.h: Ditto.
5217         * include/float.h: Ditto.
5218         * include/io.h: Ditto.
5219         * include/locale.h: Ditto.
5220         * include/malloc.h: Ditto.
5221         * include/math.h: Ditto.
5222         * include/process.h: Ditto.
5223         * include/setjmp.h: Ditto.
5224         * include/share.h: Ditto.
5225         * include/signal.h: Ditto.
5226         * include/stdio.h: Ditto.
5227         * include/stdlib.h: Ditto.
5228         * include/string.h: Ditto.
5229         * include/tchar.h: Ditto.
5230         * include/time.h: Ditto.
5231         * include/wchar.h: Ditto.
5232         * include/sys/locking.h: Ditto.
5233         * include/sys/param.h: Ditto.
5234         * include/sys/stat.h: Ditto.
5235         * include/sys/timeb.h: Ditto.
5236         * include/sys/types.h: Ditto.
5237         * include/sys/utime.h: Ditto.
5238         * mingwex/dirent.c: Ditto.
5239
5240 2004-04-19  Earnie Boyd  <earnie@users.sf.net>
5241
5242         * include/_mingw.h: Revert to primary release 3 and increment minor
5243         release to 3.
5244         * Makefile.in (VERSION): Ditto.
5245
5246 2004-04-01  Danny Smith  <dannysmith@users.sourceforge.net>
5247
5248         * crt1.c (_mingw32_init_fmode): Set *_imp___fmode_dll to
5249         _fmode if not __MSVCRT__.
5250
5251 2004-03-30  Danny Smith  <dannysmith@users.sourceforge.net>
5252
5253         * include/io.h: (_findfirst): Correct prototype.
5254
5255 2004-03-30  Hans Leidekker  <hans@it.vu.nl>
5256
5257         * include/io.h: (_findnext, _findclose): Correct prototype.
5258
5259 2004-03-28  Hans Leidekker  <hans@it.vu.nl>
5260
5261         * include/math.h (FP_*): Add defines.
5262
5263 2004-03-29  Danny Smith  <dannysmith@users.sourceforge.net>
5264
5265         * mingwex/math/round.c: Rewrite.
5266         * mingwex/math/roundf.c: Rewrite.
5267         * mingwex/math/roundl.c: Rewrite.
5268
5269 2004-03-25  Danny Smith  <dannysmith@users.sourceforge.net>
5270
5271         * include/_mingw.h (__MSVCRT_VERSION__): Define default as 0x0600.
5272         * include/time.h (__time64_t): Add typedef.
5273         (_mktime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
5274         (_ctime64): Likewise.
5275         (_wctime64): Likewise.
5276         (_gmtime64): Likewise.
5277         (_localtime64): Likewise.
5278         (wcsftime): Move into _WTIME_DEFINED block.
5279         Regroup non-ANSI prototypes.
5280         * include/io.h: Include <stdint.h>.
5281         (__finddata64_t): Add struct definition.
5282         (__wfinddata64_t): Likewise.
5283         (_findfirst64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
5284         (_findnext64): Likewise.
5285         (_wfindfirst64): Likewise.
5286         (_wfindnext64): Likewise.
5287         * include/sys/timeb.h (__timeb64): Add struct definition.
5288         (_ftime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
5289         * include/sys/utime.h (__utimbuf64): Add struct definition.
5290         (_utime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
5291         (_futime64): Likewise.
5292         (_wutime64): Likewise.
5293         * include/sys/stat.h (__stat64): Add struct definition.
5294         (_fstat64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
5295         (_stat64): Likewise.
5296         (_wstat64): Likewise.
5297         * include/sys/types.h (__time64_t): Add typedef.
5298         * include/wchar.h (__wfinddata64_t): Add structure definition.
5299         (__stat64): Likewise.
5300         (_wctime64): Add prototype for __MSVCRT_VERSION__ >= 0x0601.
5301         (_wfindfirst64): Likewise.
5302         (_wfindnext64): Likewise.
5303         (_wutime64): Likewise.
5304         (_wstat64): Likewise.
5305         * include/malloc.h (_aligned_free): Add prototype for
5306         __MSVCRT_VERSION__ >= 0x0700.
5307         (_aligned_malloc): Likewise.
5308         (_aligned_offset_malloc): Likewise.
5309         (_aligned_offset_realloc): Likewise.
5310         (_aligned_realloc): Likewise.
5311         * include/string.h (_wcserror): Add prototype for
5312         __MSVCRT_VERSION__ >= 0x0700.
5313         (__wcserror): Likewise.
5314         * include/math.h (_set_SSE2_enable): Add prototype for
5315         __MSVCRT_VERSION__ >= 0x0701.
5316
5317 2004-03-25  Danny Smith  <dannysmith@users.sourceforge.net>
5318
5319         * include/stdio.h (_fsopen): Add prototype.
5320         * include/tchar.h (_tfsopen): Add defines.
5321         Thanks to "Gerik" <gerikr at users dot sourceforge dot net>
5322
5323 2004-03-19  Danny Smith  <dannysmith@users.sourceforge.net>
5324
5325         * msvcrt.def.in: Add stubs for msvcrt.dll (version 6.10),
5326         msvcr70.dll, and msvcr71.dll.
5327         * Makefile.in (msvcr*.def): Define preprocessor __msvcr*__ constant
5328         using basename of output def file.
5329
5330 2004-03-13  Danny Smith  <dannysmith@users.sourceforge.net>
5331
5332         * include/malloc.h: Remove __STRICT_ANSI__ guard.
5333
5334 2004-03-11  Brian Keener  <bkeener@thesoftwaresource.com>
5335
5336         * include/process.h: Remove the #endif associated with removal of
5337         __STRICT_ANSI__ guard from non-ANSI header.
5338
5339 2004-03-10  Danny Smith  <dannysmith@users.sourceforge.net>
5340
5341         * include/conio.h: Remove __STRICT_ANSI__ guard from non-ANSI header.
5342         * include/direct.h: Ditto.
5343         * include/dirent.h: Ditto.
5344         * include/dos.h: Ditto.
5345         * include/excpt.h: Ditto.
5346         * inlude/fcntl,h
5347         * include/io.h: Ditto.
5348         * inlude/mem.h: Ditto.
5349         * include/memory.h: Ditto.
5350         * include/process.h: Ditto.
5351         * inlude/search.h: Ditto.
5352         * include/share.h: Ditto.
5353         * include/unistd.h: Ditto.
5354         * include/sys/fcntl.h: Ditto.
5355         * include/file.h: Ditto.
5356         * include/sys/locking.h: Ditto.
5357         * include/sys/param.h: Ditto.
5358         * include/sys/stat,h
5359         * include/sys/time.h: Ditto.
5360         * include/sys/timeb.h: Ditto.
5361         * include/sys/types.h: Ditto.
5362         * include/sys/unistd.h: Ditto.
5363         * include/sys/utime.h: Ditto.
5364
5365 2004-02-21  Danny Smith  <dannysmith@users.sourceforge.net>
5366
5367         * include/_mingw.h (__UNUSED_PARAM): Define macro.
5368         * include/wchar.h (fwide): Use it.
5369         (mbsinit): Ditto.
5370
5371 2004-02-05  Danny Smith  <dannysmith@users.sourceforge.net>
5372
5373         * mingwex/getopt.c: Define IS_POSIXLY_CORRECT as per
5374         NetBSD getopt_long.c.
5375
5376 2004-02-05  Danny Smith  <dannysmith@users.sourceforge.net>
5377
5378         * mingwex/strtold.c (__asctoe64) Reorganise. Fix setting error
5379         codes and handling of special chars.
5380
5381 2004-02-02  Danny Smith  <dannysmith@users.sourceforge.net>
5382
5383         * include/stdio.h (feof): Add inlined definition.
5384         (ferror): Ditto.
5385
5386 2004-02-01  Danny Smith  <dannysmith@users.sourceforge.net>
5387
5388         * mingwex/math/ldexpl.c (ldexpl): Call __asm__("fscale")
5389         directly, rather than via scabnl.
5390
5391 2004-02-01  Danny Smith  <dannysmith@users.sourceforge.net>
5392
5393         * mingwex/math/powl.c (powl): Return infinity if
5394         extended precision multiplication of x by log2(y)
5395         overflows.
5396
5397 2004-01-31  Danny Smith  <dannysmith@users.sourceforge.net>
5398
5399         * mingwex/math/cephes_emath.h (__enan_64): Fix thinko.
5400         (__enan_NI16): Fix another one.
5401         (__enan_NBITS): Tidy.
5402
5403 2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
5404
5405         * include/stdint.h [__STDC_CONSTANT_MACROS]: Fix for 8 and 16 bit
5406         types. (Thanks to John Maddock for report.)
5407
5408 2004-01-14  Greg Chicares  <chicares@users.sourceforge.net>
5409
5410         * include/tchar.h (_puttchar): Define.
5411
5412 2003-12-13  Danny Smith  <dannysmith@users.sourceforge.net>
5413
5414         * include/stdio.h:(_fileno): Define macro version after both
5415         fileno and _fileno functions declared.
5416
5417         * include/stdio.h (_rmtmp, rmtmp): Add prototypes.
5418         * moldnames.def.in (rmtmp) Add stub.
5419
5420 2003-11-27  Dimitry Sibiryakov  <aafemt@users.sourceforge.net>
5421
5422         * include/signal.h (SIG_SGE, SIG_ACK): Add defines.
5423
5424 2003-10-27  Danny Smith  <dannysmith@users.sourceforge.net>
5425
5426         * include/math.h: Guard ISO C99 additions with __cplusplus
5427         not __GLIBCPP__.
5428
5429 2003-10-21  Danny Smith  <dannysmith@users.sourceforge.net>
5430
5431         * include/_mingw.h: Define __attribute__((x)) to nothing
5432         if not __GNUC__.
5433
5434 2003-10-21  Danny Smith  <dannysmith@users.sourceforge.net>
5435
5436         * include/complex.h: New file.
5437         * mingwex/complex: New directory.
5438         * mingwex/complex/cabs.c: New file.
5439         * mingwex/complex/cacos.c: New file.
5440         * mingwex/complex/cacosh.c: New file.
5441         * mingwex/complex/casin.c: New file.
5442         * mingwex/complex/casinh.c: New file.
5443         * mingwex/complex/catan.c: New file.
5444         * mingwex/complex/catanh.c: New file.
5445         * mingwex/complex/ccos.c: New file.
5446         * mingwex/complex/ccosh.c: New file.
5447         * mingwex/complex/cexp.c: New file.
5448         * mingwex/complex/cimag.c: New file.
5449         * mingwex/complex/clog.c: New file.
5450         * mingwex/complex/cpow.c: New file.
5451         * mingwex/complex/cproj.c: New file.
5452         * mingwex/complex/creal.c: New file.
5453         * mingwex/complex/csin.c: New file.
5454         * mingwex/complex/csinh.c: New file.
5455         * mingwex/complex/csqrt.c: New file.
5456         * mingwex/complex/ctan.c: New file.
5457         * mingwex/complex/ctanh.c: New file.
5458         * mingwex/Makefile.in (COMPLEX_DISTFILES): New list of
5459         files.
5460         (dist): Use it.
5461         (COMPLEX_OBJS): New list of objects.
5462         (LIB_OBJS): Include it in the library.
5463
5464 2003-10-21  Danny Smith  <dannysmith@users.sourceforge.net>
5465
5466         * include/math.h (cabs): Remove non-ISO prototype.
5467
5468 2003-10-21  Danny Smith  <dannysmith@users.sourceforge.net>
5469
5470         * mingwex/math/cephes_mconf.h (NAN, NANF, NANL):
5471         Use GCC __builtin's if available.
5472         (INFINITY, INFINITYF, INFINITYL): Likewise.
5473
5474 2003-10-21  Danny Smith  <dannysmith@users.sourceforge.net>
5475
5476         * mingwex/math/s_erf.c (erf): Set errno to ERANGE if
5477         beyond approximation limit.
5478         * mingwex/math/sf_erf.c (erff): Likewise.
5479
5480 2003-10-17  Danny Smith  <dannysmith@users.sourceforge.net>
5481
5482         * include/stdio.h (getc): Cast result to unsigned char before
5483         return.
5484         (putc): Likewise
5485         (getchar): Likewise.
5486         (putchar): Likewise.
5487         Thanks to M.Fujii <boochang@m4.kcn.ne.jp>
5488
5489 2003-10-10  Earnie Boyd  <earnie@users.sf.net>
5490
5491         * include/_mingw.h: Increment version to 3.2.
5492         * Makefile.in: Ditto.
5493
5494 2003-10-10  Earnie Boyd  <earnie@users.sourceforge.net>
5495
5496         * include/sys/types.h: Revert last change.
5497
5498 2003-10-10  Earnie Boyd  <earnie@users.sourceforge.net>
5499
5500         * include/sys/types.h (ssize_t): Correct the definition.
5501
5502 2003-10-03  Danny Smith  <dannysmith@users.sourceforge.net>
5503
5504         * include/stdio.h (_filbuf): Add prototype.
5505         (_flsbuf): Add prototype.
5506         (getc): Add inline version.
5507         (putc): Likewise.
5508         (getchar): Likewise.
5509         (putchar): Likewise.
5510
5511 2003-10-03  Danny Smith  <dannysmith@users.sourceforge.net>
5512
5513         * mingwex/dirent.c (_treaddir): Reset errno to 0 if end
5514         of directory.
5515
5516 2003-09-29  Danny Smith  <dannysmith@users.sourceforge.net>
5517
5518         * include/stdlib.h: Guard non-ISO functions with
5519         !__STRICT_ANSI__, throughout.
5520
5521 2003-09-24  Danny Smith  <dannysmith@users.sourceforge.net>
5522
5523         * include/io.h (_fileno): Remove prototype.
5524         (fileno): Likewise.
5525         (FILENAME_MAX): Define, if needed.
5526         Don't include <stdio.h>.
5527         * include/stdio.h (FILENAME_MAX): Protect against
5528         prior definition.
5529         (_fileno): Define macro implementation.
5530         (fileno): Likewise.
5531
5532 2003-09-24  Danny Smith  <dannysmith@users.sourceforge.net>
5533
5534         * include/inttypes.h: Include _mingw.h.
5535
5536 2003-09-24  Danny Smith  <dannysmith@users.sourceforge.net>
5537
5538         * include/_mingw.h (__CRT_INLINE): Define.
5539         * include/ctype.h: Replace 'extern inline' with __CRT_INLINE,
5540         throughout
5541         * include/inttypes.h: Likewise.
5542         * include/math.h: Likewise.
5543         * include/stdio.h: Likewise.
5544         * include/stdlib.h: Likewise.
5545         * include/string.h: Likewise.
5546         * include/wchar.h: Likewise.
5547         * include/wctype.h: Likewise.
5548
5549 2003-09-22  Roland Schwingel  <rolandschwingel@users.sourceforge.net>
5550
5551         * mingwex/dirent.c (_topendir): Allocate enough memory for
5552         DIR struct in UNICODE case too.
5553
5554 2003-09-15  Earnie Boyd  <earnie@users.sf.net>
5555
5556         * include/_mingw.h: Increment version to 3.2.
5557         * Makefile.in: Ditto.
5558
5559 2003-07-03  Earnie Boyd  <earnie@users.sf.net>
5560
5561         * config.guess, config.sub: Update with versions from ftp.gnu.org.
5562
5563 2003-07-03  Danny Smith  <dannysmith@users.sourceforge.net>
5564
5565         * mingwex/math/trunc.c (trunc): Provide lvalue for memory input constraint.
5566         * mingwex/math/truncf.c (truncf): Likewise.
5567         * mingwex/math/truncl.c (truncl): Likewise.
5568         * mingwex/math/modff.c (modff): Likewise.
5569         * mingwex/math/modfl.c (modfl): Likewise.
5570
5571 2003-07-03  Danny Smith  <dannysmith@users.sourceforge.net>
5572
5573         * include/search.h: New file.
5574         * include/stdlib.h: Add comment about qsort, bsearch in
5575         search.h.
5576         * test_headers.c: Include search.h.
5577         * moldname.def.in (lfind, lsearch): Add.
5578
5579 2003-07-03  Danny Smith  <dannysmith@users.sourceforge.net>
5580
5581         * include/process.h (_execv, _execvp, _spawnv, _spawnvp, _execve,
5582         _execvpe, _spawnve, _spawnvpe, execv, execvp, spawnv, spawnvp,
5583         execve, execvpe, spawnve, spawnvpe): Const-ify all the char params.
5584
5585 2003-07-01  Earnie Boyd  <earnie@users.sf.net>
5586
5587         * include/_mingw.h (small, hyper): Change to __small and __hyper to
5588         avoid user space name conflicts.
5589
5590 2003-07-01  Earnie Boyd  <earnie@users.sf.net>
5591
5592         * include/_mingw.h (__int32, __int16, __int8, small, hyper): Define.
5593         Note: Also added to w32api/include/basetyps.h.
5594         * mingwex/math/tgamma.c, tgammaf.c, tgammal.c (small):
5595         Rename to Small (case difference).
5596
5597 2003-06-18  Earnie Boyd  <earnie@users.sf.net>
5598
5599         * include/dirent.h (dirent): Make d_name and array instead of a pointer.
5600         * mingwex/dirent.c: Modifications througout to fill d_name array.
5601         * Makefile.in (LIBS): Add new MSVCRT libraries libmsvcr70 and
5602         libmsvcr71, including debug versions.
5603         (msvcr70.def, msvcr70d.def, msvcr71.def, msvcr71.def): New targets.
5604
5605 2003-06-17  Danny Smith  <dannysmith@users.sourceforge.net>
5606
5607         * msvcrt.def.in (__badioinfo, __lc_codepage, __lc_handle,
5608         __pioinfo, __setlc_active, _unguarded_readlc_active, _dstbias):
5609         Mark as DATA.
5610         Thanks to: Aaron W LaFramboise  <AWLaFramboise@aol.com>
5611
5612 2003-05-30  Sascha Sommer  <saschasommer@freenet.de>
5613
5614         * include/sys/types.h (_ssize_t, ssize_t): Add typedefs.
5615
5616 2003-05-15  Danny Smith  <dannysmith@users.sourceforge.net>
5617
5618         * include/stdlib.h (_Exit): Move out of __STRICT_ANSI__ block,
5619         but still protect inline definition with __STRICT_ANSI__.
5620
5621 2003-05-14  Danny Smith  <dannysmith@users.sourceforge.net>
5622
5623         * string_old.c: Remove, splitting into...
5624         * strcasecmp.c: New file.
5625         * strncasecmp.c: New file.
5626         * wscmpi.c : New file.
5627         * ctype_old.c: Remove, splitting into...
5628         * isascii.c: New file.
5629         * iscsym.c: New file.
5630         * iscsymf.c: New file.
5631         * toascii.c: New file.
5632         * Makefile.in (MOLD_OBJS): Adjust.
5633         (SRCDIST_FILES): Adjust.
5634
5635 2003-05-13  Danny Smith  <dannysmith@users.sourceforge.net>
5636
5637         * include/math.h (fabs) : Remove inline definition.
5638         (fabsf): Likewise.
5639         (fabsl): Likewise.
5640
5641 2003-05-06  Earnie Boyd  <earnie@users.sf.net>
5642
5643         * include/_mingw.h: Change version to 3.0
5644         * Makefile.in: Ditto.
5645
5646 2003-05-06  Earnie Boyd  <earnie@users.sf.net>
5647
5648         * configure.in (W32API_INCLUDE): Need the -I switch in the value.
5649         * mingwex/configure.in (W32API_INCLUDE): Ditto.
5650         * profile/configure.in (W32API_INCLUDE): Ditto.
5651
5652 2003-05-06  Earnie Boyd  <earnie@users.sf.net>
5653
5654         * configure.in (CFLAGS): Remove -D__USE_CRTIMP=1 due to possibilites
5655         of multiply defined symbols if the symbols is defined locally. E.G.:
5656         A local definition of malloc causes this problem.
5657         * configure: Regenerate.
5658         * profile/Makefile.in (W32API_INCLUDE): New variable.
5659         (ALL_CFLAGS): Use W32API_INCLUDE value.
5660         (ALL_CXXFLAGS): Ditto.
5661         (gcrt0.o gcrt1.o gcrt2.o): Use ALL_CFLAGS instead of CFLAGS.
5662         Thanks to Jeff Bonggren <jbon@users.sf.net>.
5663         * profile/configure.in (W32API_INCLUDE): Set default value.
5664         * profile/configure: Regenerate.
5665         * mingwex/Makefile.in (W32API_INCLUDE): New variable.
5666         (ALL_CFLAGS): Use W32API-INCLUDE value.
5667         (ALL_CXXFLAGS): Ditto.
5668         * mingwex/configure.in (W32API_INCLUDE): Set default value.
5669         * mingwex/configure: Regenerate.
5670
5671 2003-05-05  Earnie Boyd  <earnie@users.sf.net>
5672
5673         * Makefile.in (W32API_INCLUDE): New variable.
5674         (ALL_CFLAGS): Use W32API_INCLUDE value.
5675         (ALL_CXXFLAGS): Ditto.
5676         * configure.in (CFLAGS): Add -D__USE_CRTIMP=1 to default values.
5677         (W32API_INCLUDE): Set default value.
5678         * configure: Regenerate.
5679
5680 2003-04-11  Earnie Boyd  <earnie@users.sf.net>
5681
5682         * configure.in (LIBM_A): Define for cygwin target.
5683         * configure (LIBM_A): Ditto.
5684
5685 2003-04-07  Danny Smith  <dannysmith@users.sourceforge.net>
5686
5687         * include/time.h (strftime): Remove duplicate declaration.
5688
5689 2003-04-01  Danny Smith  <dannysmith@users.sourceforge.net>
5690
5691         * include/_mingw.h (_CRTIMP): Make conditional on __USE_CRTIMP.
5692
5693 2003-03-16  Danny Smith  <dannysmith@users.sourceforge.net>
5694
5695         * mingwex/dirent.c (_topendir): Eliminate signed/unsigned warning.
5696         * mingwex/strtoimax.c (strtoimax): Likewise.
5697         * mingwex/wcstoimax.c (wcstoimax): Likewise.
5698         * mingwex/wtoll.c (wtoll): Remove unnecessary ';'
5699         * mingwex/fesentenv.c: Include float.h.
5700         * mingwex/math/powl.c: Eliminate type punning/strict aliasing
5701         warning.
5702         * mingwex/math/tanhl.c: Eliminate signed/unsigned warning in
5703         constants.
5704         * mingwex/math/tgammal.c: Likewise.
5705
5706 2003-03-16  Danny Smith  <dannysmith@users.sourceforge.net>
5707
5708         * include/utime.h: New file, forwarding to sys/utime.h.
5709
5710 2003-03-16  Danny Smith  <dannysmith@users.sourceforge.net>
5711
5712         * include/sys/param.h (MAXPATHLEN): Define.
5713
5714 2003-03-16  Danny Smith  <dannysmith@users.sourceforge.net>
5715
5716         * include/tchar.h: Ansi-fy a comment.
5717
5718 2003-03-16  Danny Smith  <dannysmith@users.sourceforge.net>
5719
5720         * profile/profile.h (mcount): Use __builtin_return_address
5721         rather than inline __asm statements.
5722         * profile/Makefile.in: Remove special rule for mcount.o
5723         Specify dependencies for mcount.o profil.o gmon.o.
5724
5725 2003-03-10  Danny Smith  <dannysmith@users.sourceforge.net>
5726
5727         * include/stdlib.h (qsort): Remove const from first parm.
5728         Thanks to: Tien-Ren Chen <trchen@sourceforge.users.net>
5729
5730 2003-03-03  Christopher Faylor  <cgf@redhat.com>
5731
5732         * mingwex/getopt.c: Refresh from NetBSD sources.
5733
5734 2003-03-03  Danny Smith  <dannysmith@users.sourceforge.net>
5735
5736         * mingwex/getopt.c: New file, copied from cygwin srcs.
5737         * include/getopt.h: New file, copied from cygwin srcs.
5738         * include/unistd.h: Include getopt.h.
5739         * mingwex/Makefile.in (DISTFILES): Add getopt.c.
5740         (POSIX_OBJS): Add getopt.o.
5741
5742 2003-03-02  Danny Smith  <dannysmith@users.sourceforge.net>
5743
5744         * include/stdio.h (vscanf): Add prototype.
5745         (vfscanf): Ditto.
5746         (vsscanf): Ditto.
5747         (vwscanf): Ditto.
5748         (vfwscanf): Ditto.
5749         (vswscanf): Ditto.
5750         * include/wchar.h (vwscanf): Add prototype.
5751         (vfwscanf): Ditto.
5752         (vswscanf): Ditto.
5753         * mingwex/snprintf.c: Move to mingwex/stdio.
5754         * mingwex/vsnprintf.c: Ditto.
5755         * mingwex/snwprintf.c: Ditto.
5756         * mingwex/vsnwprintf.c: Ditto.
5757         * mingwex/Makefile.in (VPATH): Add $(srcdir)/stdio
5758         (STDIO_DISTFILES): Add.
5759         (DISTFILES): Adjust.
5760         (STDIO_STUB_OBJS): Rename to STDIO_OBJS and add v*scanf objects.
5761         (LIB_OBJS): Adjust.
5762         (dist): Adjust.
5763
5764 2003-03-02  Aaron W LaFramboise  <AWLaFramboise@aol.com>
5765
5766         * mingwex/stdio: New directory
5767         * mingwex/stdio/vfscanf.c: New file.
5768         * mingwex/stdio/vfwscanf.c: New file.
5769         * mingwex/stdio/vscanf.c: New file.
5770         * mingwex/stdio/vsscanf.c: New file.
5771         * mingwex/stdio/vswscanf.c: New file.
5772         * mingwex/stdio/vwscanf.c: New file.
5773
5774 2003-02-25  Earnie Boyd  <earnie@users.sf.net>
5775
5776         * Makefile.in (libmsvcrt20.a): Remove target and dependencies.
5777         (libmsvcrt40.a): Ditto.
5778
5779 2003-02-21  Earnie Boyd  <earnie@users.sf.net>
5780
5781         Thanks to David Frasier <davidf@sjsoft.com> who inspired portions of
5782         this patch.
5783         * Makefile.in (libmsvcrtd.a): Add target library.
5784         (libmoldnamed.a): Ditto.
5785         (msvcrt.def, msvcrtd.def, msvcrt20.def, msvcrt40.def): Use msvcrt.def.in
5786         template to create.
5787         ($(srcdir)): Remove explicit reference for depencies of object targets.
5788         * moldname.def, moldname-msvcrt.def, moldname-crtdll.def, msvcrt.def,
5789         msvcrt20.def, msvcrt40.def: Remove.
5790         * msvcrt.def.in: New file (Copy of previous msvcrt.def).
5791
5792 2003-02-20  Corinna Vinschen  <corinna@vinschen.de>
5793
5794         * Makefile.in: Make sure libmingwex.a from current build tree is used.
5795
5796 2003-02-14  Christopher Faylor  <cgf@redhat.com>
5797
5798         * profile/Makefile.in (mcount.o): Use ALL_CFLAGS for compilation to
5799         ensure -mno-cygwin where appropriate. Filter out -O2.
5800
5801 2003-02-13  Danny Smith  <dannysmith@users.sourceforge.net>
5802
5803         * profile/Makefile.in (mcount.o): Use -O1 optimization
5804         switch to compile.
5805
5806 2003-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
5807
5808         * include/math.h: Remove _CRTIMP from pow() prototype,
5809         unless __NO_ISOCEXT.
5810
5811 2003-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
5812
5813         * mingwex/math/cephes_emath.h: Don't redefine INFINITY.
5814
5815 2003-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
5816
5817         * include/_mingw.h (_CRTIMP): Define for __GNUC__ if
5818         __declspec(dllimport) supported.
5819         (__cdecl): Define if not already defined.
5820         (__stdcall): Likewise.
5821         * include/dirent.h: Qualify fuctions with __cdecl.
5822         * include/fenv.h: Likewise.
5823         * include/inttypes.h: Likewise.
5824         * include/assert.h: Qualify fuctions with __cdecl. Qualify
5825         CRT dll imports with _CRTIMP.
5826         * include/conio.h: Likewise.
5827         * include/ctype.h: Likewise.
5828         * include/direct.h: Likewise.
5829         * include/dos.h: Likewise.
5830         * include/errno.h: Likewise.
5831         * include/float.h: Likewise.
5832         * include/io.h: Likewise.
5833         * include/locale.h: Likewise.
5834         * include/malloc.h: Likewise.
5835         * include/math.h: Likewise.
5836         * include/mbctype.h: Likewise.
5837         * include/mbstring.h: Likewise.
5838         * include/process.h: Likewise.
5839         * include/setjmp.h: Likewise.
5840         * include/signal.h: Likewise.
5841         * include/stdio.h: Likewise.
5842         * include/stdlib.h: Likewise.
5843         * include/string.h: Likewise.
5844         * include/time.h: Likewise.
5845         * include/wchar.h: Likewise.
5846         * include/wctype.h: Likewise.
5847         * include/sys/stat.h: Likewise.
5848         * include/sys/timeb.h: Likewise.
5849         * include/sys/utime.h: Likewise.
5850
5851         * include/ctype.h: Guard ctype inlines with __NO_INLINE__.
5852         * include/wctype.h: Guard wctype inlines with __NO_INLINE__.
5853
5854         * include/stdio.h (__VALIST): Guard against prior definition.
5855
5856 2003-02-08  Earnie Boyd  <earnie@users.sf.net>
5857
5858         * include/_mingw.h: Change version to 3.0
5859         * Makefile.in: Ditto.
5860
5861 2003-02-08  Earnie Boyd  <earnie@users.sf.net>
5862
5863         * include/stdlib.h: Make words after #endif a comment.
5864
5865 2003-02-07  Danny Smith  <dannysmith@users.sourceforge.net>
5866
5867         * include/locale.h: Include stddef.h for definition of NULL.
5868
5869 2003-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
5870
5871         * include/math.h (tgamma): Correct typo in comment.
5872
5873 2003-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
5874
5875         * mingwex/mingw-fseek.c (INLINE): Remove define.
5876         (__mingw_is_win9x): Remove static inline function.
5877         (_mingw_fwrite): Use _osver instead of __mingw_is_win9x.
5878
5879 2003-01-11  Danny Smith  <dannysmith@users.sourceforge.net>
5880
5881         * mingwex/math/llround.c: Correct function name and
5882         change return value to long long.
5883
5884 2003-01-07  Danny Smith  <dannysmith@users.sourceforge.net>
5885
5886         * include/ctype.h (__isascii): Don't cast arg to unsigned.
5887         (iswascii): Likewise. Correct mask.
5888         * include/wctype.h (iswascii): Don't cast arg to unsigned.
5889         Correct mask
5890
5891 2003-01-03  Danny Smith  <dannysmith@users.sourceforge.net>
5892
5893         * include/stdlib.h (_osver, _winver, _winmajor,
5894         _winminor): Declare as direct imports from dll if
5895         __DECLSPEC_SUPPORTED.
5896
5897 2003-01-01  Danny Smith  <dannysmith@users.sourceforge.net>
5898
5899         * pseudo-reloc.c (do_pseudo_reloc): Make static.
5900         * pseudo-reloc-list.c: New file.
5901         * crt1.c (_pei386_runtime_relocator): Declare.
5902         (__mingw_CRTStartup): Call it.
5903         * dllcrt1.c (_pei386_runtime_relocator): Declare.
5904         (DllMainCRTStartup): Call it.
5905         * Makefile.in: Add pseudo-reloc.o pseude-reloc-list.o to
5906         libmingw32.a.
5907
5908 2003-01-01  Egor Duda  <deo@logos-m.ru>
5909
5910         * pseudo-reloc.c: New file.
5911
5912 2002-12-20  Earnie Boyd  <earnie@users.sf.net>
5913
5914         * include/_mingw.h: Increment version to 2.4.
5915         Makefile.in: Ditto.
5916
5917 2002-12-12  Earnie Boyd  <earnie@users.sf.net>
5918
5919         * include/malloc.h (_alloca): Add definition.
5920         (alloca): Ditto.
5921
5922 2002-12-08  Danny Smith  <dannysmith@users.sourceforge.net>
5923
5924         * mingwex/math/s_erf.c: New file.
5925         * mingwex/math/sf_erf.c: New file.
5926         * mingwex/Makefile.in (MATH_DISTFILES): Add new files.
5927         (MATH_OBJS): Add new objects.
5928         * include/math.h (erf[f]): Add prototypes.
5929         (erfc[f]): Add prototypes.
5930
5931 2002-12-07  Danny Smith  <dannysmith@users.sourceforge.net>
5932
5933         * include/math.h: Add traditional/XOPEN math constants.
5934
5935 2002-11-27  Danny Smith  <dannysmith@users.sourceforge.net>
5936
5937         * mingwex/math/lgamma.c: New file.
5938         * mingwex/math/lgammaf.c: New file.
5939         * mingwex/math/lgammal.c: New file.
5940         * mingwex/math/tgamma.c: New file.
5941         * mingwex/math/tgammaf.c: New file.
5942         * mingwex/math/tgammal.c: New file.
5943         * mingwex/math/cephes_mconf (polevlf): Add float version.
5944         (p1evlf): Likewise.
5945         Define _CEPHES_USE_ERRNO.
5946         * mingwex/Makefile.in (MATH_DISTFILES): Add new files.
5947         (MATH_OBJS): Add new objects.
5948         * include/math.h (lgamma[fl]): Add prototypes.
5949         (tgamma[fl]): Add prototypes.
5950
5951 2002-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
5952
5953         * mingwex/strtold.c: New file.
5954         * mingwex/wcstold.c: New file.
5955         * mingwex/ldtoa.c: New file.
5956         * mingwex/math/cephes_emath.h: New file.
5957         * mingwex/math/cephes_emath.c: New file.
5958         * mingwex/Makefile.in (DISTFILES): Add new files.
5959         (MATH_DISTFILES): Ditto.
5960         (STDLIB_OBJS): New. Define as strtold.c wcstold.c.
5961         (MATH_OBJS): Add cephes_emath.o.
5962         (LIB_OBJS): Add $(STDLIB_OBJS).
5963         * include/stdlib.h (strtold, wcstold): Add prototypes.
5964         * include/wchar.h (wcstold): Add prototype.
5965
5966 2002-11-09  Danny Smith  <dannysmith@users.sourceforge.net>
5967
5968         * include/math.h (sqrt): Remove inline definition.
5969         (sqrtf): Replace inline definition with prototype.
5970         (sqrtl): Likewise.
5971         * mingwex/math/sqrtf.c (sqrtf): Set domain error if
5972         argument less than zero.
5973         * mingwex/math/sqrtf.c (sqrtl): Likewise.
5974
5975 2002-10-30  Guido Serassio  <serassio@libero.it>
5976
5977         * include/stdio.h (_getmaxstdio): Add prototype.
5978          (_setmaxstdio): Likewise.
5979
5980 2002-10-19  Kang Li  <rubylith@users.sourceforge.net>
5981
5982         * include/fcntl.h (O_SEQUENTIAL): Correct typo.
5983
5984 2002-10-19  Danny Smith  <dannysmith@users.sourceforge.net>
5985
5986         * crt1.c: Define new macro __IN_MINGW_RUNTIME before including
5987         stdlib.h.
5988         Define WIN32_MEAN_AND_LEAN before including windows.h
5989         * include/stdlib.h (_fmode): Protect declaration as dllimported
5990         variable with __IN_MINGW_RUNTIME.
5991
5992 2002-10-19  Igor Pechtchanski  <pechtcha@cs.nyu.edu>
5993
5994         * crt1.c: Include stdlib.h.
5995
5996 2002-10-19  Danny Smith  <dannysmith@users.sourceforge.net>
5997
5998         * Makefile.in (CRT0S): Add txtmode.o binmode.o.
5999         (MINGW_OBJS): Add txtmode.o.
6000         (SRCDIST_FILES): Add txtmode.c binmode.c.
6001         crt1.c: Don't include fcntrl.h, stdlib.h.
6002         (_fmode): Declare, without dllimport attribute.
6003         (__p__fmode): Declare access function for dll's _fmode.
6004         (_mingw32_init_fmode): Sync dll _fmode with staticly linked
6005         _fmode for app.
6006         * txtmode.c: New file.
6007         * binmode.c: New file.
6008         * samples/fmode/test2.c: New file.
6009         * samples/fmode/jamfile: Add test2.exe target.
6010
6011 2002-10-11  Danny Smith  <dannysmith@users.sourceforge.net>
6012
6013         * include/stdint.h (INT64_C, UINT64_C ): Append suffix to let
6014         macros work with C89.
6015         (INTMAX_C, UINTMAX_C): Likewise.
6016
6017 2002-10-11  Danny Smith  <dannysmith@users.sourceforge.net>
6018
6019         * include/string.h (strcasecmp): Make extern __inline__.
6020         (strncasecmp): Likewise.
6021         (wcscmpi): Likewise.
6022
6023 2002-10-08  Heiko Gerdau  <hg@technosis.de>
6024
6025         * include/tchar.h (_tchdir. _tgetcwd, _tgetdcwd.
6026         _tmkdir, _trmdir, _tstat): Add ASCII and UNICODE
6027         mappings.
6028
6029 2002-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
6030
6031         * mingwex/math/powil.c: Rename powil to __powil.
6032         * mingwex/math/powl.c: Adjust declaration and call
6033         to __powil. Remove comment on powil.
6034         * mingwex/math/powi.c: New file.
6035         * mingwex/math/powif.c: New file.
6036         * mingwex/math/pow.c: New file.
6037         * mingwex/math/cephes_mconf.h. Add double and float
6038         versions of constants.
6039         (polevl): Add double precision function.
6040         (p1evl): Likewise.
6041         * mingwex/Makefile.in (MATH_DISTFILES): Add pow.c,
6042         powi.c, powif.c.
6043         (MATH_OBJS): Add pow.o, powi.o, powif.o.
6044
6045 2002-10-03  Danny Smith  <dannysmith@users.sourceforge.net>
6046
6047         * include/cytpe.h (_imp____mbcur_max): Add missing ';'.
6048         (_imp____mbcur_max_dll): Likewise.
6049
6050 2002-10-03  Danny Smith  <dannysmith@users.sourceforge.net>
6051
6052         * include/fcntl.h (_fmode): Remove declarations and
6053         compatibility defines.
6054         (_setmode, setmode): Remove prototypes.
6055         * include/stdlib (_fmode): Add declarations and
6056         compatibility defines. Change type to int.
6057         * include/io.h (_setmode, setmode): Add prototypes.
6058         * samples/fmode/all.c: Adjust includes.
6059         * samples/fmode/test.c: Likewise.
6060         * crt1.c (_CRT_fmode): Declare as int.
6061         * CRTfmode.c (_CRT_fmode): Likewise.
6062
6063         * include/stdlib: Remove comment about MB_CUR_MAX.
6064
6065 2002-10-02  Danny Smith  <dannysmith@users.sourceforge.net>
6066
6067         * include/stdlib.h (_imp____mbcur_max): Add missing ';'.
6068         (_imp____mbcur_max_dll): Likewise.
6069
6070 2002-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
6071
6072         * mingwex/math/files.txt: Remove inadvertantly added file.
6073
6074 2002-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
6075
6076         * include/string.h (_strerror): Move into #ifndef
6077         __STRICT_ANSI__ block.
6078
6079 2002-09-17  Danny Smith  <dannysmith@users.sourceforge.net>
6080
6081         * include/time.h (__need_NULL): Define before including
6082         stddef.h. Thanks to: Rüdiger Dehmel <de@lmnet.de>.
6083
6084 2002-09-16  Ranjit Matthew  <rmathew@hotmail.com>
6085
6086         * include/stdio.h: Correct comment about directory separator.
6087
6088 2002-09-12  Danny Smith  <dannysmith@users.sourceforge.net>
6089
6090         * include/sys/time.h (timeval): Add struct definition and
6091         associated macros (copied from w32api/include/winsock.h).
6092
6093 2002-09-05  Earnie Boyd  <earnie@users.sf.net>
6094
6095         * include/_mingw.h: Increment version to 2.3.
6096         Makefile.in: Ditto.
6097
6098 2002-09-05  Earnie Boyd  <earnie@users.sf.net>
6099
6100         * mingwex/fegetenv.c: Change to \n line endings.
6101         * mingwex/vsnprintf.c: Ditto.
6102         * mingwex/vsnwprintf.c: Ditto.
6103
6104 2002-09-02  Danny Smith  <dannysmith@users.sourceforge.net>
6105
6106         * mingwex/math/hypotl.c: Replace with version based on cephes
6107         library.
6108
6109 2002-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
6110
6111         * include/sys/param.h: Add ENDIAN defines.
6112         * test_headers.c: Include sys/param.h.
6113
6114 2002-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
6115
6116         * test_headers.c: Don't include varargs.h.
6117         * Makefile.in (test_headers): Don't use -std=xx
6118         with -xc++.
6119
6120 2002-08-21  Earnie Boyd  <earnie@users.sf.net>
6121
6122         * include/sys/param.h: New File.
6123
6124 2002-08-21  Danny Smith  <dannysmith@users.sourceforge.net>
6125
6126         * include/math.h (asm): Change to __asm__ throughout.
6127         Expose ISO C99 functions if __GLIPCPP__.
6128         (hypotf): Use hypot, not _hypot in stub.
6129
6130 2002-08-20  Danny Smith  <dannysmith@users.sourceforge.net>
6131
6132         * include/tchar.h: Ansi-fy another comment.
6133
6134 2002-08-20  Danny Smith  <dannysmith@users.sourceforge.net>
6135
6136         * include/tchar.h: Ansi-fy comment.
6137
6138 2002-08-20  Danny Smith  <dannysmith@users.sourceforge.net>
6139
6140         * test_headers.c : New file.
6141         * Makefile.in (test_headers): New target, using it,
6142         (SRCDIST_FILES): Distribute it.
6143
6144 2002-08-20  Earnie Boyd  <earnie@users.sf.net>
6145
6146         * include/_mingw.h: Increment version to 2.2.
6147         Makefile.in: Ditto.
6148
6149 2002-08-14  Earnie Boyd  <earnie@users.sf.net>
6150
6151         * include/unistd.h: Add include of process.h.
6152
6153 2002-08-03  Danny Smith  <dannysmith@users.sourceforge.net>
6154
6155         * include/stdio.h (_fcloseall): Add prototype.
6156
6157 2002-07-29  Danny Smith  <dannysmith@users.sourceforge.net>
6158
6159         * include/tchar.h (_tfdopen): Correct typo.
6160
6161 2002-07-29  Danny Smith  <dannysmith@users.sourceforge.net>
6162
6163         * moldname.def.in (chgsign,scalb,finite,fpclass,logb,
6164         nextafter): Add non-underscored stubs.
6165         * moldname-msvcrt.def: Regenerate.
6166         * moldname-crtdll.def: Regenerate.
6167         * mingwex/math: New directory.
6168         * mingwex/rint.c: Move to mingwex/math.
6169         * mingwex/rintf.c: Ditto.
6170         * mingwex/rintl.c: Ditto.
6171         * mingwex/round.c: Ditto.
6172         * mingwex/roundf.c: Ditto.
6173         * mingwex/roundl.c: Ditto.
6174         * mingwex/rint.c: Ditto.
6175         * mingwex/rintf.c: Ditto.
6176         * mingwex/rintl.c: Ditto.
6177         * mingwex/trunc.c: Ditto.
6178         * mingwex/truncf.c: Ditto.
6179         * mingwex/truncl.c: Ditto.
6180         * mingwex/signbit.c: Ditto.
6181         * mingwex/signbitf.c: Ditto.
6182         * mingwex/signbitl.c: Ditto.
6183         * mingwex/copysignl.S: Ditto.
6184         * mingwex/fdim.c: Ditto.
6185         * mingwex/fdimf.c: Ditto.
6186         * mingwex/fdiml.c: Ditto.
6187         * mingwex/fmin.c: Ditto.
6188         * mingwex/fminf.c: Ditto.
6189         * mingwex/fminl.c: Ditto.
6190         * mingwex/fmax.c: Ditto.
6191         * mingwex/fmaxf.c: Ditto.
6192         * mingwex/fmaxl.c: Ditto.
6193         * mingwex/fma.c: Ditto.
6194         * mingwex/fmaf.c: Ditto.
6195         * mingwex/fmal.c: Ditto.
6196         * mingwex/fpclassify.c: Ditto.
6197         * mingwex/fpclassifyl.c: Ditto.
6198         * mingwex/fpclassifyl.c: Ditto.
6199         * mingwex/isnan.c: Ditto.
6200         * mingwex/isnanf.c: Ditto.
6201         * mingwex/isnanl.c: Ditto.
6202         * mingwex/fucom.c: Ditto.
6203         * mingwex/fp_consts.c: Ditto. Split out float and long double
6204         definitions.
6205         * mingwex/math_stubs.c: Remove.
6206         * mingwex/log2.c: Remove. Replaced by math/log2.S
6207         * mingwex/log2f.c: Remove. Replaced by math/log2f.S
6208         * mingwex/log2l.c: Remove. Replaced by math/log2l.S
6209         * mingwex/math/acosf.c : New file.
6210         * mingwex/math/acosl.c: New file.
6211         * mingwex/math/asinf.c: New file.
6212         * mingwex/math/asinl.c: New file.
6213         * mingwex/math/atan2f.c: New file.
6214         * mingwex/math/atan2l.c: New file.
6215         * mingwex/math/atanf.c: New file.
6216         * mingwex/math/atanl.c: New file.
6217         * mingwex/math/cbrt.c: New file.
6218         * mingwex/math/cbrtf.c: New file.
6219         * mingwex/math/cbrtl.c: New file.
6220         * mingwex/math/ceilf.S: New file.
6221         * mingwex/math/ceill.S: New file.
6222         * mingwex/math/cephes_ld.h: New file.
6223         * mingwex/math/copysign.S: New file.
6224         * mingwex/math/copysignf.S: New file.
6225         * mingwex/math/cosf.S: New file.
6226         * mingwex/math/coshf.c: New file.
6227         * mingwex/math/coshl.c: New file.
6228         * mingwex/math/cosl.S: New file.
6229         * mingwex/math/exp2.S: New file.
6230         * mingwex/math/exp2f.S: New file.
6231         * mingwex/math/exp2l.S: New file.
6232         * mingwex/math/expf.c: New file.
6233         * mingwex/math/expl.c: New file.
6234         * mingwex/math/fabs.c: New file.
6235         * mingwex/math/fabsf.c: New file.
6236         * mingwex/math/fabsl.c: New file.
6237         * mingwex/math/floorf.S: New file.
6238         * mingwex/math/floorl.S: New file.
6239         * mingwex/math/fmodf.c: New file.
6240         * mingwex/math/fmodl.c: New file.
6241         * mingwex/math/fp_consts.h: Ditto.
6242         * mingwex/math/fp_constsf.c: Ditto.
6243         * mingwex/math/fp_constsl.c: Ditto.
6244         * mingwex/math/frexpf.c: New file.
6245         * mingwex/math/frexpl.S: New file.
6246         * mingwex/math/hypotf.c: New file.
6247         * mingwex/math/hypotl.c: New file.
6248         * mingwex/math/ilogb.S: New file.
6249         * mingwex/math/ilogbf.S: New file.
6250         * mingwex/math/ilogbl.S: New file.
6251         * mingwex/math/ldexpf.c: New file.
6252         * mingwex/math/ldexpl.c: New file.
6253         * mingwex/math/llrint.c: New file.
6254         * mingwex/math/llrintf.c: New file.
6255         * mingwex/math/llrintl.c: New file.
6256         * mingwex/math/llround.c: New file.
6257         * mingwex/math/llroundf.c: New file.
6258         * mingwex/math/llroundl.c: New file.
6259         * mingwex/math/log10f.S: New file.
6260         * mingwex/math/log10l.S: New file.
6261         * mingwex/math/log1p.S: New file.
6262         * mingwex/math/log1pf.S: New file.
6263         * mingwex/math/log1pl.S: New file.
6264         * mingwex/math/log2.S: New file.
6265         * mingwex/math/log2f.S: New file.
6266         * mingwex/math/log2l.S: New file.
6267         * mingwex/math/logb.c: New file.
6268         * mingwex/math/logbf.c: New file.
6269         * mingwex/math/logbl.c: New file.
6270         * mingwex/math/logf.S: New file.
6271         * mingwex/math/logl.S: New file.
6272         * mingwex/math/lrint.c: New file.
6273         * mingwex/math/lrintf.c: New file.
6274         * mingwex/math/lrintl.c: New file.
6275         * mingwex/math/lround.c: New file.
6276         * mingwex/math/lroundf.c: New file.
6277         * mingwex/math/lroundl.c: New file.
6278         * mingwex/math/modff.c: New file.
6279         * mingwex/math/modfl.c: New file.
6280         * mingwex/math/nearbyint.S: New file.
6281         * mingwex/math/nearbyintf.S: New file.
6282         * mingwex/math/nearbyintl.S: New file.
6283         * mingwex/math/nextafterf.c: New file.
6284         * mingwex/math/powf.c: New file.
6285         * mingwex/math/powl.c: New file.
6286         * mingwex/math/powil.c: New file.
6287         * mingwex/math/remainder.S: New file.
6288         * mingwex/math/remainderf.S: New file.
6289         * mingwex/math/remainderl.S: New file.
6290         * mingwex/math/remquo.S: New file.
6291         * mingwex/math/remquof.S: New file.
6292         * mingwex/math/remquol.S: New file.
6293         * mingwex/math/scalbn.S: New file.
6294         * mingwex/math/scalbnf.S: New file.
6295         * mingwex/math/scalbnl.S: New file.
6296         * mingwex/math/sinf.S: New file.
6297         * mingwex/math/sinhf.c: New file.
6298         * mingwex/math/sinhl.c: New file.
6299         * mingwex/math/sinl.S: New file.
6300         * mingwex/math/sqrt.c: New file.
6301         * mingwex/math/sqrtf.c: New file.
6302         * mingwex/math/sqrtl.c: New file.
6303         * mingwex/math/tanf.S: New file.
6304         * mingwex/math/tanhf.c: New file.
6305         * mingwex/math/tanhl.c: New file.
6306         * mingwex/math/tanl.S: New file.
6307         * mingwex/Makefile.in: Adjust VPATH for source files in
6308         mingwex/math.
6309         Adjust MATH_OBJS.
6310         Add MATH_DISTFILES and use it to build source distro.
6311         * include/math.h: Add protypes for new functions and
6312         reorganise to reflect ANSI,C99 status.
6313
6314 2002-06-19  Danny Smith  <dannysmith@users.sourceforge.net>
6315
6316         * include/tchar.h (_getts): Define as _getws for _UNICODE.
6317         (_putts): Define as _putws for _UNICODE.
6318         Thanks to: Tomasz Pona <cochisek@poczta.onet.pl> for report.
6319
6320 2002-06-18  Danny Smith  <dannysmith@users.sourceforge.net>
6321
6322         * include/float.h: #include_next<float.h> before header guard.
6323
6324 2002-06-18  Casper S. Hornstrup  <chorns@users.sourceforge.net>
6325
6326         * include/_mingw.h (__MINGW_IMPORT): Check for prior definition before
6327         defining.
6328         * include/excpt.h (): Include windef.h not windows.h.
6329         * include/fcntl.h (_O_SHORT_LIVED): Add define.
6330         (_chmod): Add prototype.
6331         (_creat): Correct prototype.
6332         (SH_DENY*): Rename defines to _SH_DENY*.
6333         (SH_DENY*): Add Non-ANSI names for _SH_DENY*.
6334         include/stdio.h (_IOMYBUF, _IOEOF, _IOERR, _IOSTRG,
6335         _IOAPPEND): Add defines.
6336         (_wfindfirst): Correct prototype.
6337         (_wfdopen): Add prototype.
6338         * include/stdlib.h (_rotl, _rotr, _lrotl, _lrotr): Add
6339         prototypes.
6340         * include/string.h (_mbschr, _mbstok, _mbsncat): Remove
6341          prototypes.
6342         (_wcsdup): Correct prototype.
6343         * include/mbstring.h: Remove comments about _mbschr, _mbstok,
6344          _mbsncat being in string.h.
6345         * include/wchar.h (_wfindfirst): Correct prototype.
6346         * include/tchar.h (_tfdopen): Add _UNICODE mappings.
6347
6348 2002-06-15  Earnie Boyd  <earnie@users.sf.net>
6349
6350         * include/_mingw.h: Increment to version 2.1.
6351         * Makefile.in: Ditto.
6352
6353 2002-06-15  Earnie Boyd  <earnie@users.sf.net>
6354
6355         * Makefile.in (conf_prefix): New variable.
6356         (dist_prefix): Ditto. Conditionally set to $(conf_prefix).
6357         (bindist): Use dist_prefix.
6358
6359 2002-06-13  Danny Smith  <dannysmith@users.sourceforge.net>
6360
6361         * include/_mingw.h: Increment version to 2.0.
6362         * Makefile.in: Ditto.
6363
6364         Merge in mingwex branch.
6365
6366 2002-06-11  Danny Smith  <dannysmith@users.sourceforge.net>
6367
6368         * include/math.h (fdim, fdimf, fdiml): Add prototypes.
6369         * mingwex/fdim.c: New file.
6370         * mingwex/fdimf.c: New file.
6371         * mingwex/fdiml.c: New file.
6372         * mingwex/Makefile.in (DISTFILES): Add fdim.c, fdimf.c,
6373         fdiml.c.
6374         (MATHOBJS):Add fdim.o, fdimf.o. fdiml.o.
6375
6376 2002-05-23  Danny Smith  <dannysmith@users.sourceforge.net>
6377
6378         * mingwex/Makefile.in (DISTFILES): Add truncf.c, truncl.c.
6379
6380 2002-05-22  Danny Smith  <dannysmith@users.sourceforge.net>
6381
6382         * mingwex/isnanl.c: New file.
6383
6384 2002-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
6385
6386         * include/stdint.h: Include <stddef.h> to get wchar_t and wint_t.
6387         (WINT_MAX): Define to ((wint_t)-1).
6388
6389 2002-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
6390
6391         * include/wctype.h: Replace 'inline' with '__inline__'.
6392         * include/inttypes.h: Likewise.
6393
6394 2002-05-16  Danny Smith  <dannysmith@users.sourceforge.net>
6395
6396         * include/_mingw.h (__MINGW_IMPORT): Put extern at start
6397         to avoid warnings. Thanks to: Oscar Fuentes <ofv@wanadoo.es>.
6398
6399 2002-05-16  Danny Smith  <dannysmith@users.sourceforge.net>
6400
6401         * mingwex/snprintf.c: Split out vsnprintf to....
6402         * mingwex/vsnprintf.c: New file.
6403         * mingwex/snwprintf.c: Split out vsnwprintf to...
6404         * mingwex/vsnwprintf.c: New file.
6405         * mingwex/Makefile.in: Adjust DISTFILES and STDIO_STUB_OBJS.
6406
6407 2002-05-15  Pascal Obry  <obry@gnat.com>
6408
6409         * include/dirent.h (DIR): Change dd_stat type to int.
6410         (_WDIR): Likewise.
6411
6412 2002-05-07  Danny Smith  <dannysmith@users.sourceforge.net>
6413
6414         * include/stdio.h (vsnprintf): Change inline to __inline__;
6415         (vsnwprintf): Likewise.
6416         * include/wchar.h (vsnwprintf): Likewise.
6417         (wcstof): Likewise.
6418         (fwide): Likewise.
6419         (mbsinit): Likewise.
6420
6421 2002-04-29  Danny Smith  <dannysmith@users.sourceforge.net>
6422
6423         Change FP default precison from 53 to 64-bit mantissa.
6424
6425         * Makefile.in (CRT0S): Add CRT_fp8.o.
6426         (MINGW_OBJS): Replace CRT_fp8.o with CRT_fp10.o.
6427         * include/float.h: Replace standard float.h defines with
6428         #include_next<float.h> to use GCC's defines. Adjust comments
6429         to reflect change.
6430
6431 2002-04-26  Danny Smith  <dannysmith@users.sourceforge.net>
6432
6433         * include/dos.h: Change prefix "__imp_" to "_imp__" for
6434         __GNUC__ without __DECLSPEC_SUPPORTED.
6435         * include/fnctl.h: Likewise.
6436         * include/math.h: Likewise.
6437         * include/stdio.h: Likewise.
6438         * include/stdlib.h: Likewise.
6439         * include/time.h: Likewise.
6440         * include/wctype.h: Likewise.
6441         * include/ctype.h: Likewise.
6442
6443 2002-04-26  Danny Smith  <dannysmith@users.sourceforge.net>
6444
6445         Add atexit support for dlls.
6446         * crt1.c (atexit): Force thunk to _imp__atexit.
6447         (_onexit): Force thunk to _imp___onexit.
6448         * dllcrt1.c (DllMainCRTStartup): Initialise private atexit
6449         table on DLL_PROCESS_ATTACH, clean it up on DLL_PROCESS_DETACH.
6450         (__dll_exit): New function to run atexit-registered functions
6451          and flush output buffers on DLL_PROCESS_DETACH or failed
6452         DLL_PROCESS_ATTACH.
6453         (atexit): Force use of private atexit table via _dllonexit,
6454         (_onexit): New function. Force use of private atexit table via
6455         _dllonexit,
6456         * msvcrt.def (atexit, _onexit): Add DATA keyword so that only
6457         _imp_<_symbol> is visible in import lib.
6458         * msvcrt20.def: Likewise.
6459         * msvcrt40.def: Likewise.
6460         * crtdll.def: Likewise.
6461
6462 2002-04-26  Danny Smith  <dannysmith@users.sourceforge.net>
6463
6464         * include/fenv.h: Change header guard macro to _FENV_H_.
6465         (fenv_t, fexcept_t): Move into block protected by
6466         #ifndef RC_INVOKED.
6467         Cleanup some whitespace.
6468         * include/inttypes.h: Change header guard macro to
6469         _INTTYPES_H_.
6470
6471 2002-04-26  Danny Smith  <dannysmith@users.sourceforge.net>
6472
6473         * include/math.h (copysignl): Declare.
6474         * mingwex/Makefile.in (DISTFILES): Add copysignl.S.
6475         (MATHOBJS):Add copysignl.o.
6476
6477 2002-04-24  Danny Smith  <dannysmith@users.sourceforge.net>
6478
6479         * include/math.h (__signbitl, __isnanl): Declare.
6480
6481 2002-04-24  Danny Smith  <dannysmith@users.sourceforge.net>
6482
6483         * include/math.h (nanl, __fpcassifyl, fminl, fmaxl, rintl,
6484         roundl, truncl, fmal, log2l): Declare.
6485         Protect C99 declarations with _STDC_VERSION__ >= 199901L)
6486         || !defined __STRICT_ANSI__.
6487         * mingwex/fmax.c (fmax): Call __isnan, not _isnan.
6488         * mingwex/fmin.c (fmin): Likewise.
6489         * mingwex/fmaxf.c (fmaxf): Call __isnanf, not _isnan.
6490         * mingwex/fminf.c (fminf): Likewise.
6491         * mingwex/fmaxl.c: New file.
6492         * mingwex/fminl.c: New file.
6493         * mingwex/fpclassify.c (__fpclassifyf): Split out to ...
6494         * mingwex/fpclassifyf.c: New file.
6495         * mingwex/fpclassifyl.c: New file.
6496         * mingwex/rint.c (rintf): Split out to...
6497         * mingwex/rintf.c: New file.
6498         * mingwex/rintl.c: New file.
6499         * mingwex/round.c (roundf): Split out to...
6500         * mingwex/roundf.c: New file.
6501         * mingwex/roundl.c: New file.
6502         * mingwex/trunc.c (truncf): Split out to...
6503         * mingwex/truncf.c: New file.
6504         * mingwex/truncl.c: New file.
6505         * mingwex/signbit.c (signbitf): Split out to...
6506         * mingwex/signbitf.c: New file.
6507         * mingwex/signbitl.c: New file.
6508         * mingwex/fmal.c: New file.
6509         * mingwex/copysignl.S: New file.
6510         * mingwex/log2l.c: New file.
6511         * mingwex/fp_consts.c: Add nanl definition.
6512         Comment out unused constants.
6513         * mingwex/Makefile.in (DISTFILES): Add fmaxl.c, fminl.c,
6514         fpclassifyf.c, fpclassifyl.c, rintf.c, rintl.c, roundf.c,
6515         roundl.c, truncf.c truncl.c, signbitf.c signbitl.c,
6516         fmal.c, log2l.c
6517         (MATHOBJS): Add fmaxl.o, fminl.o, fpclassifyf.o,
6518         fpclassifyl.o, rintf.o, rintl.o, roundf.o, roundl.o,
6519         truncf.o truncl.o, signbitf.o signbitl.o, fmal.o,
6520         log2l.o.
6521         * mingwex/snwprintf.c (snwprintf, vsnwprintf): Correct typo.
6522
6523 2002-04-23  Danny Smith  <dannysmith@users.sourceforge.net>
6524
6525         Make wide char versions of opendir and friends.
6526
6527         * include/dirent.h (_wdirent, _WDIR): Define wide versions of
6528         struct dirent, DIR.
6529         (_wopendir,_wreaddir,_wclosedir,_wrewinddir,_wtelldir,
6530         _wseekdir): Add prototypes for wide versions of corresponding
6531         standard functions.
6532         * include/tchar.h; Add _UNICODE mappings for dirent.h
6533         structures and functions.
6534         * mingwex/dirent.c: Make _UNICODE neutral.
6535         * mingwex/wdirent.c: New file to define _UNICODE before
6536         including dirent.c.
6537         * mingwex/Makefile.in (DISTFILES): Add wdirent.c.
6538         (POSIX_OBJS): Add wdirent.o.
6539         (wdirent.o): Specify dependency on dirent.c as well as
6540         wdirent.c.
6541         * samples/dirent/wtest.c: New file, wide version of test.c.
6542
6543 2002-04-17  Danny Smith  <dannysmith@users.sourceforge.net>
6544
6545         * Makefile.in (INCLUDES): Add "-iwithprefixbefore include" to
6546         ensure gcc include dir is searched despite -nostdinc.
6547         * profile/Makefile.in (INCLUDES): Likewise.
6548         * mingwex/Makefile.in (INCLUDES): Likewise.
6549         * include/stdarg.h: Replace with stub that just guards the
6550         real gcc system header with #ifndef RC_INVOKED
6551         * include/varargs.h: Likewise.
6552         * include/stddef.h: Likewise.
6553         * include/stdio.h: Include stdarg.h after defining
6554          __need___va_list.
6555         (__VALIST): Define as __gnuc_va_list if __GNUC__, else char*.
6556         Replace va_list with __VALIST throughout.
6557
6558 2002-04-17  Danny Smith  <dannysmith@users.sourceforge.net>
6559
6560         * crt1.c: Revert changes of 2002-04-16. Use _fpreset again.
6561         * msvcrt.def (_fpreset): Mark as DATA so that only
6562         _imp___fpreset is exported.
6563         * msvcrt20.def (_fpreset): Likewise.
6564         * msvcrt40.def (_fpreset): Likewise.
6565         * crtdll.def (_fpreset): Likewise.
6566         * CRT_fp10.c (_fpreset): Overide library _fpreset with one
6567         that calls fninit.
6568         (fpreset): Add alias.
6569         (__CRT_PC): Delete definition. _fpreset does it now.
6570         * CRT_fp8.c (_fpreset): Force use of library _imp___fpreset.
6571         (fpreset): Add alias.
6572         (__CRT_PC): Delete definition.
6573         * moldname.def.in: Comment out fpreset.
6574         * moldname-msvcrt.def: Regenerate.
6575         * moldname-crtdll.def: Regenerate.
6576         * include/fenv.h (FE_DFL_ENV): Define as (fenv_t*)0.
6577         * mingwex/fesetenv.c (FE_DFL_ENV): Use it to set environment
6578         with the _fpreset determined by startup CRT_fp object.
6579
6580 2002-04-16  Danny Smith  <dannysmith@users.sourceforge.net>
6581
6582         * CRT_fp8.c: New file.
6583         * CRT_fp10.c: New file.
6584         * crt1.c (__CRT_PC) Declare.
6585         (__CRT_fesetenv): New static function, using _CRT_PC.
6586         (__mingw_CRTStartup):Use __CRT_fesetenv instead of _fpreset.
6587         (_gnu_exception_handler): Likewise.
6588         * Makefile.in (CRT0S): Add CRT_fp10.o.
6589         (MINGW_OBJS): Add CRT_fp8.o.
6590         (SRCDIST_FILES): Add CRT_fp8.c, CRT_fp10.c.
6591         Add CRT_fp8.o, CRT_fp10.o dependancies.
6592         * include/float.h (_fpreset): Expand comment.
6593         * include/fenv.h (FE_PC64_ENV): New define for Intel x87
6594         (extended precison) environmemt.
6595         (FE_PC53_ENV): New define for MSVCRT default environmemt.
6596         (FE_DFL_ENV): Define as FE_PC53_ENV.
6597         * mingwex/fesetenv.c: Use FE_PC53_ENV, FE_PC64_ENV to determine
6598         precision control for default environment.
6599
6600         * include/math.h: Fix long comment line.
6601         * profile/configure.in (CRT0S): Set to both gcrt1.o and gcrt2.o
6602         for mingw.
6603         * profile/configure: Regenerate.
6604
6605 2002-04-12  Danny Smith  <dannysmith@users.sourceforge.net>
6606
6607         * mingwex/Makefile.in (DISTFILES): Add suffix to wcstof.c.
6608
6609 2002-04-10  Danny Smith  <dannysmith@users.sourceforge.net>
6610
6611         * mingwex/mingw-fseek.c: New file, based on 1999-11-07 mingw-local
6612         patch to binutils, by Mumit Khan <khan@nanotech.wisc.edu>; provide...
6613         (__mingw_fseek): New function to work around Win9x f/lseek bug.
6614         (__mingw_fwrite): Likewise.
6615         (__mingw_is_win9x): New helper function.
6616
6617         * include/stdio.h (__USE_MINGW_FSEEK): New define,guarding...
6618         (__mingw_fseek): New prototype and define to replace fseek.
6619         (__mingw_fwrite): New prototype and define to replace fwrite.
6620         * mingwex/Makefile.in: Add mingw-fseek.o to libmingwex.a.
6621         * moldname-crtdll.def: Remove CR from end of line.
6622         * moldname-msvcrt.def: Ditto.
6623
6624 2002-04-09  Danny Smith  <dannysmith@users.sourceforge.net>
6625
6626         * profile/configure.in (CRT0S): Configure name of gcrt?.o
6627         based on target, building gcrt0.o for cygwin -mno-cygwin.
6628         * profile/configure: Regenerate.
6629         * profile/Makefile.in (CRT0S): Use name from configure.
6630         (gcrt0.o): New rule.
6631         (ALL_CRT0S): New define, used to cleanup all gcrt?.o's.
6632
6633 2002-04-04  Danny Smith  <dannysmith@users.sourceforge.net>
6634
6635         * include/math.h (_controlfp, _control87, _clearfp, _statusfp, _fpreset,
6636         _fpecode): Remove prototypes copied from float.h.
6637         (nan, nanf): Move into block protected against RC_INVOKED
6638         and __cplusplus.
6639         * include/stdlib.h (_Exit): Change from static inline to
6640         extern inline.
6641         * mingwex/_Exit.c : New file.
6642         * mingwex/Makefile.in: Add _Exit.o to libmingwex.a.
6643
6644 2002-04-04  Danny Smith  <dannysmith@users.sourceforge.net>
6645
6646         Add libgmon.a and libmingwex.a for cygwin -mno-cygwin.
6647         * configure.in (SUBDIRS): Add profile and mingwex to cygwin target.
6648         (configdirs): Likewise.
6649         (LIBGMON_A): Define for cygwin target as well.
6650         * configure: Regenerate.
6651         * profile/configure.in (THREAD_DLL): Remove define.
6652         (LIBM_A): Remove define.
6653         (LIBGMON_A): Define for cygwin target as well.
6654         * profile/configure: Regenerate.
6655         * profile/makefile.in (install): Install to inst_libdir and
6656         inst_includedir.
6657         * mingwex/makefile.in (CFLAGS): Move -fomit-frame-pointer to...
6658         (OPTFLAGS): New define.
6659         (ALL_CFLAGS): Add $(OPTFLAGS).
6660         (ALL_CXXFLAGS): Same.
6661         (.c.o:): Remove ALL_CXXFLAGS.
6662
6663 2002-03-29  Danny Smith  <dannysmith@users.sourceforge.net>
6664
6665         * include/stdint.h: Add missing newline at eof.
6666         * include/stdio.h (snprintf): Add prototype.
6667         (vsnprintf): Add prototype and inline definition.
6668         (snwprintf): Add prototype.
6669         (vsnwprintf): Add prototype and inline definition.
6670         * include/wchar.h (snwprintf): Add prototype.
6671         (vsnwprintf): Add prototype and inline definition.
6672         * mingwex/Makefile.in: Add snprintf.o, snwprintf.o
6673         to libmingwex.a.
6674         * mingwex/snprintf.c: New file.
6675         * mingwex/snwprintf.c: New file.
6676
6677 2002-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
6678
6679         * configure.in: Add mingwex as SUBDIRS and configdirs.
6680         * configure: Regenerate.
6681         * Makefile.in (MINGW_OBJS): Remove dirent.o.
6682         (SRC_DIST_FILES): Remove dirent.c.
6683         * dirent.c: Remove.
6684         * include/stdlib.h (_Exit): Add static inline
6685         function.
6686         (struct lldiv_t): Define.
6687         (lldiv): Add prototype.
6688         (llabs): Add extern inline function.
6689         (strtoll,strtoull): Add prototypes.
6690         (wcstol, wcstoul, wcstod): Group together.
6691         (strtof, wcstof): Add extern inline definitions.
6692         (atoll,lltoa,ulltoa, wtoll, lltow ulltow): Add prototypes
6693         and extern inline definitions.
6694         * include/wchar.h (fwide, wcstoll,wcstoull, wmemchr
6695         wmemcmp, wmemcpy, wmemmove, wmemset. mbsinit): Add
6696         prototypes.
6697         (wcstol, wcstoul,wcstod): Copy prototypes from stdlib.h.
6698         (wcstof): Add extern inline definition.
6699         * include/math.h (nan, nanf): Add prototypes.
6700         (NAN, INFINITE): Define constants.
6701         (fpclassify, isnan ,signbit): Add macros and supporting float
6702         and double functions.
6703         (isfinite, isinf, isnormal): Add macros.
6704         (isgreater, isless, isgreaterequal, islessequal,islessgreater):
6705         Add macros.
6706         (rint, rintf, round, roundf, trunc. truncf, fmax, fmaxf,
6707         fmin, fminf, fma, fmaf, log2, log2f): Add prototypes.
6708         (copysign, logb, nextafter, scalb): Add prototypes and
6709         inline stubs for underscored versions in msvcrt.dll.
6710         * include/inttypes.h: New file.
6711         * include/fenv.h: New file
6712
6713         Add new mingwex subdir and files.
6714         * mingwex: New directory.
6715         * mingwex/Makefile.in: New file.
6716         * mingwex/configure.in: New file.
6717         * mingwex/configure: Generate.
6718         * mingwex/dirent.c: Moved here from parent dir.
6719         * mingwex/atoll.c: New file.
6720         * mingwex/feclearexcept.c: New file.
6721         * mingwex/fegetenv.c: New file.
6722         * mingwex/fegetexceptflag.c: New file.
6723         * mingwex/fegetround.c: New file.
6724         * mingwex/feholdexcept.c: New file.
6725         * mingwex/feraiseexcept.c: New file.
6726         * mingwex/fesetenv.c: New file.
6727         * mingwex/fesetexceptflag.c: New file.
6728         * mingwex/fesetround.o: New file.
6729         * mingwex/fetestexcept.c: New file.
6730         * mingwex/feupdateenv.c: New file.
6731         * mingwex/fma.S: New file.
6732         * mingwex/fmaf.S: New file.
6733         * mingwex/fmax.c: New file.
6734         * mingwex/fmaxf.c: New file.
6735         * mingwex/fmin.c: New file.
6736         * mingwex/fminf.c: New file.
6737         * mingwex/fp_consts.c: New file.
6738         * mingwex/fpclassify.c: New file.
6739         * mingwex/fucom.c: New file.
6740         * mingwex/fwide.c: New file.
6741         * mingwex/imaxabs.c: New file.
6742         * mingwex/imaxdiv.c: New file.
6743         * mingwex/isnan.c: New file.
6744         * mingwex/isnanf.c: New file.
6745         * mingwex/lltoa.c: New file.
6746         * mingwex/lltow.c: New file.
6747         * mingwex/log2.c: New file.
6748         * mingwex/log2f.c: New file.
6749         * mingwex/math_stubs.c: New file.
6750         * mingwex/mbsinit.c: New file.
6751         * mingwex/rint.c: New file.
6752         * mingwex/round.c: New file.
6753         * mingwex/signbit.c: New file.
6754         * mingwex/sitest.c: New file.
6755         * mingwex/strtof.c: New file.
6756         * mingwex/strtoimax.c: New file.
6757         * mingwex/strtoumax.c: New file.
6758         * mingwex/testwmem.c: New file.
6759         * mingwex/trunc.c: New file.
6760         * mingwex/ulltoa.c: New file.
6761         * mingwex/ulltow.c: New file.
6762         * mingwex/wcstof.c: New file.
6763         * mingwex/wcstoimax.c: New file.
6764         * mingwex/wcstoumax.c: New file.
6765         * mingwex/wmemchr.c: New file.
6766         * mingwex/wmemcmp.c: New file.
6767         * mingwex/wmemcpy.c: New file.
6768         * mingwex/wmemmove.c: New file.
6769         * mingwex/wmemset.c: New file.
6770         * mingwex/wtoll.c: New file.
6771
6772 2002-04-20  Danny Smith  <dannysmith@users.sourceforge.net>
6773
6774         * include/mbstring.h: New file.
6775         * include/mbctype.h: New file.
6776
6777 2002-04-20  Danny Smith  <dannysmith@users.sourceforge.net>
6778
6779         * include/tchar.h (__TEXT): Make same as define in
6780         w32api/include/winnt.h.
6781
6782 2002-04-20  Danny Smith  <dannysmith@users.sourceforge.net>
6783
6784         * include/tchar.h (_tputenv): Add UNICODE mappings.
6785         (_tsearchenv): Likewise.
6786         (_tmakepath): Likewise.
6787         (_tsplitpath): Likewise.
6788         (_tfullpath): Likewise.
6789
6790 2002-04-18  Pascal Obry  <obry@gnat.com>
6791
6792         * dirent.c (opendir): Convert given pathname to
6793         absolute pathname.
6794
6795 2002-04-09  Earnie Boyd  <earnie@users.sf.net>
6796
6797         * include/_mingw.h: Increment version.
6798         * Makefile.in: Ditto.
6799
6800 2002-04-09  Earnie Boyd  <earnie@users.sf.net>
6801
6802         * moldname-crtdll.def: Remove CR from end of line.
6803         * moldname-msvcrt.def: Ditto.
6804         * Makefile.in: Use bzip2 compression for Cygwin target.
6805
6806 2002-04-04  Danny Smith  <dannysmith@sourceforge.users.net>
6807
6808         * include/math.h (DOMAIN, SING, OVERFLOW, UNDERFLOW,
6809         TLOSS, PLOSS): Move oldname defines back, following
6810         the underscored names.
6811
6812 2002-03-29  Danny Smith  <dannysmith@sourceforge.users.net>
6813
6814         * include/stdio.h (_snwprintf): Correct spelling.
6815         (_vsnwprintf): Likewise.
6816         * include/wchar.h (_snwprintf): Correct spelling.
6817         (_vsnwprintf): Likewise.
6818
6819 2002-03-26  Danny Smith  <dannysmith@users.sourceforge.net>
6820
6821         * moldname.def.in (__MSVCRT__): Replace with !(__CRTDLL__).
6822         (wpopen): Add if !(__CRTDLL__).
6823         * Makefile.in (moldname-msvcrt.def rule): Use -C, not -c to
6824         preserve comments.
6825         (moldname-crtdll.def rule): Likewise.
6826         * moldname-msvcrt.def: Regenerate.
6827         * moldname-crtdll.def: Regenerate.
6828         * include/stdio.h (wpopen):Use prototype, not a define.
6829         (_swnprintf): Add prototype.
6830         (_vswnprintf): Likewise.
6831         Tidy up whitespace.
6832         * include/wchar.h (_swnprintf): Add prototype.
6833         (_vswnprintf): Likewise.
6834         Tidy up whitespace.
6835
6836 2002-01-28  Danny Smith  <dannysmith@users.sourceforge.net>
6837
6838         * include/malloc.h (_heapinfo): Correct structure definition.
6839         (_USEDENTRY,_FREEENTRY): Add defines.
6840         Add comment on platform support for _heap* functions.
6841         (_get_sbh_threshold): Add prototype.
6842         (_set_sbh_threshold): Likewise.
6843         (_expand): Likewise.
6844
6845 2002-01-25  Danny Smith  <dannysmith@users.sourceforge.net>
6846
6847         * profile/profil.c: Update copyright info.
6848         * profile/profil.h: Likewise.
6849         * profile/gcrt0.c: Likewise.
6850
6851 2002-01-25  Pascal Obry  <obry@gnat.com>
6852
6853         * profile/profil.h (PROFADDR): Cast idx to unsigned long long to
6854         avoid overflow.
6855         * profile/gmon.c: Define bzero as memset if mingw32.
6856         (monstartup): Use it.
6857
6858 2002-01-25  Danny Smith  <dannysmith@users.sourceforge.net>
6859
6860         * include/tchar.h (_TCHAR): Add missing ;.
6861
6862 2002-01-25  Danny Smith  <dannysmith@users.sourceforge.net>
6863
6864         * include/tchar.h (_TCHAR): Add typedefs.
6865
6866 2002-01-16  Danny Smith  <dannysmith@users.sourceforge.net>
6867
6868         * include/stdlib.h (_onexit_t): Add typedef.
6869         (_onexit): Add prototype.
6870
6871 2002-01-12  Danny Smith  <dannysmith@users.sourceforge.net>
6872
6873         * msvcrt.def: Revert accidental change.
6874         * include/stdlib.h: Ditto.
6875
6876 2001-12-07  Earnie Boyd  <earnie@users.sf.net>
6877
6878         * Makefile.in: Increment VERSION.
6879         * include/_mingw.h: Ditto.
6880
6881 2001-12-05  Earnie Boyd  <earnie@users.sf.net>
6882
6883         * include/strings.h: New File.
6884
6885 2001-12-02  Mumit Khan  <khan@nanotech.wisc.edu>
6886
6887         * include/math.h (_FPCLASS* ): Add defines from float.h.
6888         (IEEE recommended functions): Add declarations from float.h.
6889         * include/float.h (_FPCLASS* ): Protect against redefinition.
6890
6891 2001-11-29  Wu Yongwei  <adah@netstd.com>
6892
6893         * include/_mingw.h,assert.h,conio.h,ctype.h,dir.h,direct.h
6894         dirent.h,dos.h,errno.h,excpt.h,fcntl.h,float.h,io.h,
6895         limits.h,locale.h,malloc.h,math.h,process.h,setjmp.h,
6896         share.h,signal.h,stdarg.h,stddef.h,stdint.h,stdio.h,
6897         stdlib.h,string.h,tchar.h,time.h,varargs.h,wchar.h,
6898         wctype.h,sys/stat.h,sys/timeb.h,sys/types.h,sys/utime.h:
6899         Correct spelling of "disclaimed" in comments.
6900         * include/excpt.h: Another spelling correction.
6901
6902 2001-11-08  Robert Collins  <rbtcollins@hotmail.com>
6903
6904         * include/errno.h: Fix "errno is not a prototype" warning.
6905
6906 2001-11-07  Danny Smith  <dannysmith@users.sourceforge.net>
6907
6908         * include/ctype.h (tolower, toupper,_tolower,_toupper): Comment
6909         differences between ANSI and non-ANSI versions.
6910         (_ctype[],_pctype): Declare vars.
6911         (__ISCTYPE): New helper macro using _pctype.
6912         (is* ctype functions): Use __ISCTYPE to define inline versions.
6913         (_toupper, _tolower, __isascii, __toascii, __iscsym, __iscsymf):
6914         Inline definitions.
6915         (isw* ctype functions): Inline definitions.
6916         * include/wctype.h (_ctype[],_pctype): Declare vars.
6917         (isw* ctype functions): Inline definitions.
6918
6919
6920 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
6921
6922         * include/float.h (_clearfp, _statusfp, _fpreset, fpreset,
6923         __fpecode): Use __STDC__ prototypes.
6924
6925
6926 2001-11-06  Thomas Pfaff  <tpfaff@gmx.net>
6927
6928         * mthr_stub.c (__mingwthr_remove_key_dtor) New.
6929         * mthr_init.c (DllMain) Run dtors if a process terminates.
6930         * mthr.c (__mingwthr_add_key_dtor) Removed.
6931         (___mingwthr_add_key_dtor) New.
6932         (___mingwthr_remove_key_dtor) New.
6933         (__mingwthr_run_key_dtors) Complete rewrite.
6934         (__mingwthr_remove_key_dtor) New.
6935
6936 2001-11-05  Egor Duda  <deo@logos-m.ru>
6937
6938         * Makefile.in: Delete unused executable after creating base-files.
6939
6940 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
6941
6942         * include/errno.h (_errno): Use __STDC__ prototype.
6943         Thanks to: Jim Barton.
6944
6945 2001-11-04  "stefan"  <stefan@lkcc.org>
6946
6947         * include/sys/locking.h (_LK_UNLCK, LK_UNLCK): Correct names.
6948
6949 2001-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
6950
6951         * include/io.h (_commit): Add declaration.
6952         Thanks to: "stefan" <stefan@lkcc.org>
6953
6954 2001-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
6955
6956         * include/sys/stat.h: Make S_IS* macros safer.
6957
6958 2001-10-27  Danny Smith  <dannysmith@users.sourceforge.net>
6959
6960         * include/stdlib.h (EXIT_FAILURE): Change value to 1.
6961
6962 2001-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
6963
6964         * include/stdlib.h (__p__environ, __p__wenviron): Use
6965         __STDC__ prototypes.
6966
6967 2001-09-19  Earnie Boyd  <earnie@SF.net>
6968
6969         * Makefile.in: Remove the /usr from the install target.
6970         (VERSION): Increment.
6971         include/_mingw.h: Ditto.
6972
6973 2001-09-17  Earnie Boyd  <earnie@SF.net>
6974
6975         * Makefile.in: Increment version.
6976         * include/_mingw.h: Ditto.
6977
6978 2001-09-10  Earnie Boyd  <earnie@SF.net>
6979
6980         * dossh: Remove inadvertantly imported file.
6981
6982 2001-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
6983
6984         * dirent.c (opendir): Use GetFileAttributes rather than stat
6985         to determine if input arg is dir.
6986
6987 2001-08-29  Danny Smith  <dannysmith@users.sourceforge.net>
6988
6989         * include/stdarg.h (va_list): Typedef as __builtin_va_list if
6990         __GNUC__ >= 3.
6991         * include/varargs.h (va_list): Ditto.
6992         * include/stdio.h (va_list): Ditto.
6993
6994 2001-08-01  Danny Smith  <dannysmith@users.sourceforge.net>
6995
6996         * include/stdlib.h (_wpgmptr): Don't declare ifndef __MSVCRT__.
6997         * include/stdio.h (_IORW): Change constant to 0x0080.
6998         (TMP_MAX): Add new define.
6999         (_P_tmpdir): Ditto.
7000         (_wP_tmpdir): Ditto.
7001         (L_tmpnam): Change constant to 16.
7002
7003 2001-06-28  Danny Smith  <dannysmith@users.sourceforge.net>
7004
7005         * include/malloc.h: Fix non-ANSI comment after #endif.
7006
7007 2001-06-11  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7008
7009         * profile/configure.in: Make msvcrt.dll version default.
7010         * profile/makefile.in: Build both gcrt1.o and gcrt2.o.
7011         * provile/configure: Regenerate.
7012
7013 2001-06-11  Mattia Barbon  <mbarbon@dsi.unive.it>
7014
7015         * include/stdio.h (swscanf): Make first arugument const.
7016         * include/wchar.h (swscanf): Ditto.
7017         * include/tchar.h (_tfopen): New _UNICODE define.
7018         (_tgetenv): Ditto.
7019         (_tsetlocale): Ditto.
7020
7021 2001-06-04  Earnie Boyd  <earnie@users.sourceforge.net>
7022
7023         * profile/Makefile.in (mkinstalldirs): Correct relative path.
7024
7025 2001-06-04  Earnie Boyd  <earnie@users.sourceforge.net>
7026
7027         * include/_mingw.h: Change version to 1.0.
7028         Makefile.in: Ditto.
7029
7030 2000-02-21  Earnie Boyd  <earnie@users.sourceforge.net>
7031
7032         * include/tchar.h: (__TEXT): Remove undef.
7033         (_TEXT): Ditto.
7034         (_T): Ditto.
7035
7036 2001-02-02  Earnie Boyd  <earnie@users.sourceforge.net>
7037
7038         * include/tchar.h: (__TEXT): Add private macro.
7039         (_TEXT): Modify definition to use __TEXT.
7040         (_T): Ditto.
7041         This change allows the passing of a MACRO as an argument and have that
7042         MACRO resolved first.
7043         Thanks to: Eric PAIRE <eric.paire@ri.silicomp.com>
7044
7045 2001-01-31  Earnie Boyd  <earnie@users.sourceforge.net>
7046
7047         * Makefile.in: Increment version to 0.5
7048         * include/_mingw.h: Increment minor version
7049
7050 2001-01-30  Earnie Boyd  <earnie@users.sourceforge.net>
7051
7052         * include/assert.h: (assert): Remove ; from end of definition
7053         Thanks to: AJ Reins <tbisp@qwest.net>
7054
7055 2001-01-30  Earnie Boyd  <earnie@users.sourceforge.net>
7056
7057         * include/time.h (CLOCKS_PER_SEC): Type cast the constant.
7058         Thanks to: Cosmin Truta <cosmin@cs.toronto.edu>
7059
7060 2001-01-29  Earnie Boyd  <earnie@users.sourceforge.net>
7061
7062         * include/time.h (CLOCKS_PER_SEC): Change from FP to integer constant.
7063
7064 2001-01-28  Earnie Boyd  <earnie@users.sourceforge.net>
7065
7066         * include/wchar.h: The 2001.01.18 Change was incorrect. The functions
7067         are actually C functions. These functions are resolved via the
7068         -lmsvcp60 library and comments were placed in the header.
7069
7070 2001-01-28  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7071
7072         * include/stdlib.h (__p__pgmptr): add prototype.
7073         (__p__wpgmptr): likewise.
7074         (_pgmptr_dll): move declaration from dos.h.
7075         (_wpgmptr_dll): likewise.
7076         (_pgmptr): conditional define (MSVCT/CRTDLL).
7077         (_wpgmptr): likewise.
7078         * include/dos.h (_base*_dll variables): declare only for CRTDLL.
7079         (_os*_dll variables): likewise.
7080         (_pgmptr_dll): remove declaration and associated defines to stdlib.h.
7081         (_wpgmptr_dll): likewise.
7082
7083 2001-01-22  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7084
7085         * include/stdint.h: New file.
7086
7087 2001-01-18  Earnie Boyd  <earnie@users.sourceforge.net>
7088
7089         * include/wchar.h: Protect prototypes only declared in the C++ STL
7090         from being declared unless __cplusplus is defined.
7091
7092 2001-01-16  Earnie Boyd  <earnie@users.sourceforge.net>
7093
7094         * include/stdlib.h: Apply Danny Smith patch 102730
7095         2000-12-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7096         (_wgetenv) Correction to return type.
7097
7098 2001-01-16  Earnie Boyd  <earnie@users.sourceforge.net>
7099
7100         * include/locale.h: Apply Danny Smith patch 101834
7101         2000-11-23 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7102         (LC_MIN) Add definition.
7103         (LC_MAX) ditto.
7104         (_wsetlocale) Add prototype.
7105
7106 2000-11-29  Earnie Boyd  <earnie_boyd@yahoo.com>
7107
7108         * Makefile.in: eliminate the need for RUNTIME and CRT_ID.
7109         Always build crt1.o, dllcrt1.o, crt2.o and dllcrt2.o.
7110         Create a libcoldname.a for the oldname library for CRTDLL.
7111         Restrict libmoldname.a for the oldname library for MSVCRT.
7112         * configure.in: eliminate setting RUNTIME and CRT_ID variables.
7113         Restructure the $target_os case logic.
7114         Always name the MinGW thread dll helper mingwm.
7115         Change Cygwin's HEADER_SUBDIR value from mingw32 to mingw.
7116         * configure: regenerate.
7117
7118 2000-11-22  Earnie Boyd  <earnie_boyd@yahoo.com>
7119
7120         * Makefile.in: Fix bindist target to distribute the correct files.
7121         Remove the use of SNAPSHOT variable and test SNAPDATE instead.
7122         Set SNAPDATE within the snapshot target on recursive call to $(MAKE).
7123
7124 2000-11-21  Earnie Boyd  <earnie_boyd@yahoo.com>
7125
7126         * Makefile.in: Add missing line continuation `\' for $(SUBDIRS) target.
7127         Add variables and targets to control binary and source distributions.
7128         Add variables and targets to control snapshot distribution.
7129         * profile/gmon.h: Add missing #endif for #ifndef.
7130         * profile/ChangeLog: Merge entries here and remove.
7131         * profile/Makefile.in: Add variables and targets to control
7132         distribution.
7133         * README: Add.
7134         * TODO: ditto.
7135         * config.guess: ditto.
7136         * config.sub: ditto.
7137         * mkinstalldirs: ditto.
7138         * install-sh: ditto.
7139         * configure: regenerate.
7140         * profile/configure: ditto.
7141
7142 2000-11-20  Earnie Boyd  <earnie_boyd@yahoo.com>
7143
7144         * Merge in changes from
7145         2000-10-23 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7146         * include/direct.h: add guard around MSVCRT-only prototytpes
7147         * include/io.h: add __int64 struct definitions and function prototypes;
7148                  add guard for MSVCRT-only prototypes
7149         * include/limits.h: add ISO C9x macros LLONG_MIN, LLONG_MAX, ULLONG_MAX
7150         * include/stdio.h: add wchar function prototypes (__MSVCRT__);
7151                  put wchar functions together to make sync with wchar.h easier
7152         * include/stdlib.h: add wide char functions (__MSVCRT__)
7153         * include/string.h: add string collation functions ( __MSVCRT__)
7154         * include/sys/stat.h: add __int64 struct and function ( __MSVCRT__)
7155         * include/tchar.h: add macros and macro function definitions
7156         * include/wchar.h: add wide char function prototypes ( __MSVCRT__ );
7157                 enclose more functions in __MSVCRT__ guard;
7158                 some oldname wide char function prototypes #if (0)'d
7159         * profile/gmon.h: add guard around BSD-ish typedefs
7160
7161 2000-11-20  Christopher Faylor  <cgf@cygnus.com>
7162
7163         * Makefile.in: Use a different variable name for subdirectory since the
7164         previous one was used by the top level make.
7165
7166 2000-11-19  Christopher Faylor  <cgf@cygnus.com>
7167
7168         * Makefile.in: Install mingw stuff in a subdirectory if building under
7169         cygwin.
7170
7171 2000-06-17  Christopher Faylor  <cgf@cygnus.com>
7172
7173         * Makefile.in (subdirs): Eliminate for loop.
7174
7175 2000-06-17  Christopher Faylor  <cgf@cygnus.com>
7176
7177         * Makefile.in (subdirs): Previous change did not fix problem in
7178         broken shells.
7179
7180 2000-06-17  Christopher Faylor  <cgf@cygnus.com>
7181
7182         * Makefile.in: Avoid installing dll if we're cross building and the
7183         cross-host system isn't a Windows system.
7184         * configure.in: Detect cross-hosting situation and set appropriate
7185         variables in Makefile.in.
7186         * configure: Regenerate.
7187
7188 2000-04-19  Christopher Faylor  <cgf@cygnus.com>
7189
7190         * configure.in: Change HEADER_SUBDIR to mingw32.
7191         * configure: Regenerate.
7192
7193 2000-04-10  Christopher Faylor  <cgf@cygnus.com>
7194
7195         * include/string.h: Use proper prototype for _strerror.
7196
7197 2000-03-30  Mumit Khan  <khan@xraylith.wisc.edu>
7198
7199         * Makefile.in (subdirs): Workaround for broken shells.
7200
7201 2000-02-03  Mumit Khan  <khan@xraylith.wisc.edu>
7202
7203         * Snapshot 2000-02-03.
7204
7205         * include/{assert.h, conio.h, ctype.h, direct.h, dirent.h, fcntl.h,
7206         float.h, io.h, locale.h, malloc.h, math.h, process.h, signal.h,
7207         stdio.h, stdlib.h, string.h, time.h, wctype.h, sys/stat.h,
7208         sys/timeb.h, sys/utime.h}: Remove parameter names to avoid namespace
7209         pollution.
7210
7211         * Makefile.in (all): Build CRT0S first.
7212         (libmingwthrd.a): Remove thread support DLL from dependency.
7213
7214 2000-01-21  Mumit Khan  <khan@xraylith.wisc.edu>
7215
7216         * Snapshot 2000-01-21.
7217
7218 2000-01-20  Mumit Khan  <khan@xraylith.wisc.edu>
7219
7220         Merge in changes from Cygwin:
7221         * configure.in (HEADER_SUBDIRS): New variable. Substitute.
7222         (SUBDIRS): Likewise.
7223         * Makefile.in (HEADER_SUBDIRS): New variable.
7224         (install): Use to install Mingw headers to a subdirectory if building
7225         under Cygwin.
7226         (DLL_CC_STUFF): Add DLL entry point.
7227         * configure: Regenerate.
7228
7229 2000-01-19  Mumit Khan  <khan@xraylith.wisc.edu>
7230
7231         * include/stdio.h (fsetpos): Fix prototype.
7232         (fpos_t): Fix for MSVCRT.
7233         * include/float.h (fpreset): Add prototype.
7234         * include/limits.h: Define UINT_MAX, USHRT_MAX and ULONG_MAX with
7235         constant values.
7236         * include/time.h: Don't define tzname as a macro for CRTDLL, and
7237         export using libmoldname.a.
7238         * crtdll.def: Add DATA tags.
7239         * msvcrt.def: Likewise.
7240         * moldname.def.in: Likewise. Add fpreset. Export tzname for
7241         both MSVCRT and CRTDLL.
7242         * moldname-crtdll.def: Regenerate.
7243         * moldname-msvcrt.def: Regenerate.
7244
7245 1999-12-21  Mumit Khan  <khan@xraylith.wisc.edu>
7246
7247         * Snapshot 1999-12-21.
7248
7249         * include/wctype.h: New file.
7250         * include/ctype.h (MB_CUR_MAX): Define.
7251         (wctype_t): Guard.
7252         * include/stdlib.h (MB_CUR_MAX): Define.
7253         * include/wchar.h: Define stat, _stat structures here as well.
7254         * include/float.h: Add invalid subconditions (_SW) and floating
7255         point error (_FPE) macros.
7256         * include/time.h (_CLOCK_T): Rename macro to _CLOCK_T_DEFINED.
7257         (_TIME_T): Rename macro to _TIME_T_DEFINED.
7258         * include/sys/types.h: Likewise.
7259
7260 1999-11-18  Mumit Khan  <khan@xraylith.wisc.edu>
7261
7262         * profile/profil.c (profile_on): Set the profiler thread priority to
7263         be time critical. Thanks to Pascal Obry <pascal_obry@csi.com>.
7264         * Snapshot 1999-11-18.
7265
7266 1999-11-07  Mumit Khan  <khan@xraylith.wisc.edu>
7267
7268         Released 1999-11-07.
7269
7270         * Makefile.in (CRT0S): Add crtst.o.
7271         (install): Install in subdirs as well.
7272         * dirent.h (struct _stat): Rename from struct stat.
7273         * include/tchar.h: Add some new macros. Thanks to
7274         Eric Kohl <ekohl@abo.rhein-zeitung.de>.
7275         * profile/Makefile.in (install): Fix target.
7276
7277 1999-11-04  Mumit Khan  <khan@xraylith.wisc.edu>
7278
7279         * Makefile.in: Add support for profile directory.
7280         * configure.in: Likewise.
7281         * configure: Regenerate.
7282
7283         * profile: Imported profiling sources from winsup-19991026 snapshot.
7284         * profile/Makefile.in: New file.
7285         * profile/configure.in: New file.
7286         * profile/configure: Generate.
7287         * profile/gcrt0.c (u_char, u_short, u_int, u_long): typedef for Mingw.
7288         * profile/gmon.h (u_char, u_short, u_int, u_long): Likewise.
7289         * profile/gmon.c (unistd.h): Include conditionally.
7290         (sys/param.h): Likewise.
7291         * profile/mcount.c (sys/param.h): Likewise.
7292         * profile/profil.c (profile_on): thread id is DWORD, not int.
7293
7294
7295 1999-11-03  Mumit Khan  <khan@xraylith.wisc.edu>
7296
7297         * include/stdlib.h: Add wide character version of argv/environ.
7298         Formatting changes.
7299         * include/wchar.h: More wide character prototypes.
7300         * include/sys/stat.h: Likewise. Add struct stat as well as _stat.
7301
7302         * dllcrt1.c (init.c): Don't include.
7303         (DllMainCRTStartup): Don't call _mingw32_init_mainargs().
7304         * Makefile.in: Remove init.c from dllcrt{1,2}.c dependency lists.
7305
7306 1999-10-30  Mumit Khan  <khan@xraylith.wisc.edu>
7307
7308         * moldname.def: Remove file.
7309         * moldname.def.in: And add this.
7310         * moldname-msvcrt.def: Generate from moldname.def.in.
7311         * moldname-crtdll.def: Likewise.
7312
7313         * mthr.c: New file for -mthread (thread-safe C++ EH) support.
7314         * mthr_init.c: New file for -mthread (thread-safe C++ EH) support.
7315         * mthr_stub.c: New file for -mthread (thread-safe C++ EH) support.
7316
7317         * Makefile.in: Update.
7318         * configure.in: Likewise. Also add *cygwin* target for building
7319         under Cygwin winsup.
7320         * configure: Regenerate.
7321
7322 1999-10-01  Mumit Khan  <khan@xraylith.wisc.edu>
7323
7324         * include/_mingw.h: Add version macros.
7325         * include/direct.h (_diskfree_t, getdiskfree, getdrives): Add.
7326         Also add wide character versions shared with wchar.h.
7327         * include/dos.h (_diskfree_t, getdiskfree, getdrives): Add.
7328         * include/io.h (sopen, _sopen): Fix prototype.
7329         Add wide character prototypes.
7330         * include/wchar.h: Likewise.
7331         * include/stdlib.h (beep, seterrormode, sleep): Remove non-
7332         underscored versions. Potential incompatibility.
7333         * include/time.h (daylight, timezone, tzname): Fix MSVCRT cases.
7334         Add wide character prototypes.
7335         * include/sys/timeb.h (struct _timeb): Don't use macro, but real
7336         definition.
7337
7338 1999-08-18  Mumit Khan  <khan@xraylith.wisc.edu>
7339
7340         * configure.in (RUNTIME, CRT_ID): Add to differentiate between
7341         crtdll and msvcrt runtimes. Remove DLL_ENTRY and DEF_DLL_ENTRY
7342         macros.
7343         * configure: Rengerate.
7344         * Makefile.in (RUNTIME, CRT_ID): Use to generate the correct
7345         dll name and crt's. CRTDLL and MSVCRT are meant to created
7346         separately, so remove all the *-msvcrt* targets.
7347         (libmingwthr.a): New target. Dummy thread support archive.
7348         (LIBS): Add libmingwthr.a.
7349         (CRT0S): Use CRT_ID. Add crtmt.o.
7350         (MINGW_OBJS): Add crtst.o.
7351         * main.c (WinMain): Fix prototype.
7352         * crtmt.c: New file.
7353         * crtst.c: New file.
7354
7355         * include/process.h (_beginthreadex): Fix prototype.
7356         * include/_mingw.h (__int64): Define for __GNUC__.
7357         * include/tchar.h (_ttol): Add macro.
7358         * include/stdlib.h (_wtoi, _wtol, _i64toa, _ui64toa, _atoi64,
7359         _i64tow, _ui64tow, _wtoi64): Add prototypes.
7360
7361         Reported by Emanuele Aliberti <ea@iol.it>:
7362         * include/tchar.h (_ttoi): Add macro.
7363
7364         Reported by Ulf Moeller <3umoelle@informatik.uni-hamburg.de>:
7365         * include/stdio.h (_snprintf): Add prototype.
7366         (_vsnprintf): Likewise.
7367
7368 1999-08-07  Mumit Khan  <khan@xraylith.wisc.edu>
7369
7370         Reported by Tor Lillqvist <tml@iki.fi>:
7371         * include/stdlib.h (__p___argv): Fix return type.
7372
7373 1999-07-30  Mumit Khan  <khan@xraylith.wisc.edu>
7374
7375         Add UWIN support.
7376         * include/errno.h (errno): It's linked in from startup, not imported.
7377         * include/stdlib.h (errno): Likewise.
7378         * include/io.h: Guard against conflicting macros and prototypes in
7379         system headers.
7380         * include/stdlib.h: Likewise.
7381         * include/string.h: Likewise.
7382         * include/time.h: Likewise.
7383
7384 1999-07-30  Mumit Khan  <khan@xraylith.wisc.edu>
7385
7386         * include/io.h (X_OK): Fix definition. Thanks to Jan Nijtmans.
7387         * include/dos.h: Fix typo __MINGW_EXPORT->__MINGW_IMPORT.
7388         * Makefile.in (INCLUDES): Remove old windows32 include directory.
7389
7390         * crt1.c (_gnu_exception_handler): Fix prototype.
7391         (__mingw_CRTStartup): New function based on mainCRTStartup.
7392         (mainCRTStartup): Set the app type for MSVCRT and call
7393         __mingw_CRTStartup.
7394         (WinMainCRTStartup): Likewise.
7395         * init.c (_startupinfo): Define.
7396         (_getmainargs): Add 5th parameter.
7397         (_mingw32_init_mainargs): Use.
7398
7399         * ALL *.c files: Reformat according to GNU coding style.
7400
7401 1999-07-16  Mumit Khan  <khan@xraylith.wisc.edu>
7402
7403         * Makefile.in (INCLUDES): Add w32api include directory.
7404
7405         * include/_mingw.h: New file.
7406         * include/{assert.h,conio.h,ctype.h,direct.h,dirent.h,dos.h,
7407          errno.h,excpt.h,fcntl.h,float.h,io.h,limits.h,locale.h,malloc.h,
7408          math.h,process.h,setjmp.h,share.h,signal.h,stdarg.h,stdio.h,
7409          stdlib.h,string.h,tchar.h,time.h,varargs.h,sys/locking.h,
7410          sys/stat.h,sys/timeb.h,sys/types.h,sys/utime.h}: Include and
7411          use the macros __DECLSPEC_SUPPORTED and __MINGW_IMPORT.
7412
7413         * include/stdlib.h (atexit): Fix prototype.
7414
7415 1999-06-14  Mumit Khan  <khan@xraylith.wisc.edu>
7416
7417         * include/stdio.h (_tempnam): Fix prototype.
7418         (tempnam): Likewise.
7419         * include/stdlib.h: Replace with GCC's version, and guard
7420         with RC_INVOKED.
7421
7422         From Anders Norlander <anorland@hem2.passagen.se>:
7423         * include/stdlib.h (__argc): Declare.
7424         (__argv): Likewise.
7425
7426 1999-04-05  Mumit Khan  <khan@xraylith.wisc.edu>
7427
7428         * crt1.c (_gnu_exception_handler): Acknowledge Jacob Navia's
7429         contribution.
7430         * Makefile.in (_libm_dummy.o): New target.
7431         (libm.a): Use.
7432
7433 1999-03-16  Mumit Khan  <khan@xraylith.wisc.edu>
7434
7435         * Released 1999-03-16 along with egcs-1.1.2.
7436
7437 1999-02-17  Mumit Khan  <khan@xraylith.wisc.edu>
7438
7439         * Makefile.in (LIBS): Add libm.a.
7440         (libm.a): Dummy libm.a.
7441
7442         * Makefile.in: Update from winsup 1999-02-08 snapshot.
7443         Preserve local changes.
7444         (mkinstalldirs): In ../, not ../../.
7445         (INCLUDES): Point to local windows32api headers and use -nostdinc.
7446         (LIBGCC): Delete.
7447         (LIBS): Add libmoldname-msvc.a.
7448         (libmoldname-msvc.a): Add target.
7449         (distclean): Add target.
7450
7451 1999-02-09  Mumit Khan  <khan@xraylith.wisc.edu>
7452
7453         * include/dir.h: Reintroduce as an obsolescent header.
7454         * crt1.c (signal.h): Include.
7455         (_gnu_exception_handler): New function to properly handle win32
7456         asynchronous signals.
7457         (mainCRTStartup): Use.
7458
7459 1999-01-03  Mumit Khan  <khan@xraylith.wisc.edu>
7460
7461         * include/direct.h: Include io.h instead of dir.h
7462         * include/dirent.h: Likewise.
7463         * include/dos.h: Likewise.
7464         * include/stdio.h: Replace reference to dir.h with io.h.
7465
7466 1998-12-31  Mumit Khan  <khan@xraylith.wisc.edu>
7467
7468         * 1999-01-01 release bundled with egcs-1.1.1.
7469
7470         * include/io.h: Incorporate dir.h.
7471         * include/dir.h: Remove.
7472         * include/signal.h: Move RC_INVOKED up a bit.
7473
7474 1998-12-29  Mumit Khan  <khan@xraylith.wisc.edu>
7475
7476         * include/signal.h (sig_atomic_t): Define.
7477         (NSIG): Define.
7478         * include/malloc.h: Import defs from deprecated alloc.h.
7479         * include/alloc.h: Remove.
7480
7481         From "Daniel J. Rodriksson" <djr@dit.upm.es>:
7482         * include/sys/types.h (_dev_t): Should be unsigned int for MSVCRT.
7483         * include/sys/stat.h (struct stat): st_uid is of type short. Use
7484         _off_t instead of long for st_size.
7485
7486 1998-09-10  Mumit Khan  <khan@xraylith.wisc.edu>
7487
7488         * include/errno.h (sys_errlist, sys_nerr): Move from here ...
7489         * include/stdlib.h: Here.
7490
7491         * include/netdb.h: Remove.
7492         * include/arpa/inet.h: Remove.
7493         * include/netinet/in.h: Remove.
7494         * include/sys/socket.h: Remove.
7495
7496 1998-09-04  Mumit Khan  <khan@xraylith.wisc.edu>
7497
7498         * Release egcs-1.1.
7499
7500         * include/{ctype.h,dos.h,io.h,string.h,time.h,sys/types.h,
7501         sys/utime.h}: Protect stddef.h in RC_INVOKED macro.
7502
7503 1998-09-03  Mumit Khan  <khan@xraylith.wisc.edu>
7504
7505         * setjmp.h (_JBTYPE, _JBLEN): Define correctly.
7506         (jmpbuf): typedef using above.
7507         (setjmp, longjmp): Prototype using jmpbuf.
7508
7509         Merge with Colin Peters' 980701 snapshot. I've ignored changes to
7510         obsolescent imported names, ie., from __imp__ to _imp___.
7511
7512         Also ignored empty include/sys/param.h and incorrect
7513         include/sys/times.h.
7514
7515         * CRTinit.c: New file.
7516         * include/{errno.h,fcntl.h,math.h,process.h} (__MSVCRT__): Use #ifdef
7517         instead of #if.
7518         * include/io.h (umask): Fix prototype.
7519         * include/stdlib.h (OS constants): Replace with Colin's.
7520         * include/time.h (tzset, daylight, timezone): Replace with Colin's.
7521         * include/sys/state.h: Merge.
7522
7523 1998-09-03  Mumit Khan  <khan@xraylith.wisc.edu>
7524
7525         * include/assert.h (assert): Lose the trailing semicolon.
7526
7527 1998-07-30  Mumit Khan  <khan@xraylith.wisc.edu>
7528
7529         * include/math.h (matherr): Declare.
7530         * include/stdio.h (fileno, _fileno): Declare.
7531         * include/stdlib.h (environ, _environ): Fix to use runtime DLL.
7532
7533         From Earnie Boyd:
7534         * include/stdio.h (fdopen, _fdopen): Add const.
7535         (getw, putw): Declare.
7536         * include/stdlib.h (MAX_{DRIVE,DIR,FNAME,EXT}): Fix.
7537
7538 1998-06-13  Mumit Khan  <khan@xraylith.wisc.edu>
7539
7540         * include/time.h (_timezone): Undefine.
7541         * include/sys/timeb.h (struct timeb): Rename _timezone to timezone.
7542
7543         * include/time.h (_daylight, _timezone, _tzname, _tzset): Remove
7544         __cdecl for MSVCRT.
7545         * include/stdlib.h (environ): Use DLL version.
7546         * init.c (environ): Undefine it before use.
7547
7548 1998-03-22  Mumit Khan  <khan@xraylith.wisc.edu>
7549
7550         * Update to 980309 snapshot from Colin Peters.
7551
7552         * include/utime.h: remove
7553         * include/stdlib.h (__imp__osver_dll, __imp__winver_dll,
7554         __imp__winmajor_dll, __imp__winminor_dll): Apply Jan-Jaap's
7555         patches to define these.
7556         * include/time.h (CLK_TCK): Renamed from CLK_TICK.
7557         (_daylight, _timezone, _tzname, _tzset): Define.
7558
7559         * include/netdb.h: Add from Colin's windows32api changes.
7560         * include/sys/socket.h: Likewise.
7561         * include/arpa/inet.h: Likewise.
7562         * include/netinet/in.h: Likewise.
7563
7564 1998-02-04  Mumit Khan  <khan@xraylith.wisc.edu>
7565
7566         * Update to 980128 snapshot from Colin Peters.
7567
7568 1997-12-06  Mumit Khan  <khan@xraylith.wisc.edu>
7569
7570         * configure.in (AC_INIT): Use dllmain.c instead of defunct
7571         oldnames.c
7572         * configure: Regenerate.
7573
7574 1997-12-05  Mumit Khan  <khan@xraylith.wisc.edu>
7575
7576         * Update to 971205 snapshot from Colin Peters. Lots of changes.
7577         Files renamed and include hierarchy loses directories named
7578         nonansi.
7579
7580         * include/dos.h: from Jan-Jaap.
7581
7582 1997-12-04  Mumit Khan  <khan@xraylith.wisc.edu>
7583
7584         Changes to conform to FSF tree.
7585
7586         * crt1.c: Renamed from mcrt0.c.
7587         * dllcrt1.c: Renamed from dllcrt0.c.
7588         * Makefile.in: Update above. Also renamed libmoldnames.a to
7589         libmoldname.a.
7590
7591 1997-12-01  Mumit Khan  <khan@xraylith.wisc.edu>
7592
7593         * crtdll.def: Export all functions but the ones with funny names.
7594         * moldnames.def: Add fdopen since fileno is already there.
7595         * include/nonansi/dos.h: New file from Jan-Jaap.
7596         * include/errno.h: Add extern decl + various additions from JJ.
7597         * include/stdio.h: Likewise.
7598         * include/stdlib.h: Likewise.
7599         * include/nonansi/io.h: Likewise.
7600         * include/nonansi/process.h: Likewise.
7601         * include/sys/types.h: Likewise.
7602
7603 1997-11-04  Mumit Khan  <khan@xraylith.wisc.edu>
7604
7605         * include/time.h (CLK_TCK): Renamed from CLK_TICK.
7606         (CLK_TICK): Delete.
7607         * include/stdlib.h (free): Fix prototype to return void, not void*.
7608         * include/nonansi/process.h: Add P_* and WAIT_* defs.
7609
7610         * dllcrt0.c: Delete now-unneeded '.section .idata$3' asm hack.
7611         * mcrt0.c: Likewise.
7612
7613         * Makefile.in (LIBS): Delete moldnames.dll from target libs.
7614         (libmoldnames.a): Add explicit rule to create it.
7615
7616 1997-08-15  Rob Savoye  <rob@cygnus.com>
7617
7618         New directory for the minimalist cygwin environment.
7619
7620         * crtglob.c: New file. Turn on file globbing support.
7621         * crt_noglob.c: New file. Turn off file globbing support.
7622         * ctype_old.c: New file. Wrappers for functions that don't
7623         have an underscore.
7624         * dirent.c: New file. Directory routines readdir, opendir, closedir.
7625         * dllcrt0.c: New file. Initialization code to use crtdll.dll.
7626         * dllmain.c: New file. A stub DllMain function.
7627         * hugeval.c: New file. A gross hack to define HUGE_VAL.
7628         * init.c: New file. Common code to initialize standard file
7629         handles and command line arguments.
7630         * main.c: New file. A main for programs that only call WinMain.
7631         * mcrt0.c: New file. Default crt0 for mingw32.
7632         * oldnames.c: New File. Wrappers for functions that don't
7633         have an underscore.
7634         * string_old.c: New File.
7635         * include/{assert.h,ctype.h,errno.h,float.h,limits.h,locale.h
7636         math.h,nonansi,setjmp.h,signal.h,stdarg.h,stddef.h,stdio.h,stdlib.h
7637         string.h,tchar.h,time.h,wchar.h}: New header files for mingw.
7638         * include/sys/types.h: New header file for mingw.
7639         * include/nonansi/{alloc.h,conio.h,dir.h,direct.h,dirent.h
7640         fcntl.h,io.h,malloc.h,mem.h,memory.h,process.h,share.h,unistd.h
7641         utime.h,values.h,varargs.h}: New header files for mingw.
7642         * include/nonansi/sys/{fcntl.h,locking.h,stat.h,time.h
7643         timeb.h,unistd.h}: New header files for mingw.
7644         * Makefile.in,configure.in: Build and configure support.
7645         * configure: Generated from autoconf 2.12 with Cygnus patches.