OSDN Git Service

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