OSDN Git Service

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