OSDN Git Service

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