OSDN Git Service

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