OSDN Git Service

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