OSDN Git Service

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