OSDN Git Service

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