OSDN Git Service

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