OSDN Git Service

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