599 lines
18 KiB
Plaintext
599 lines
18 KiB
Plaintext
***************************************************************************
|
|
***************************************************************************
|
|
*** ***
|
|
*** This file contains the change history for the MSVC++ v4.1 C/C++ ***
|
|
*** Run-Time Libraries (that is, modifications since since 4.0). ***
|
|
*** The file should always be edited at the top so that the most ***
|
|
*** recent changes are at the beginning of the file (immediately ***
|
|
*** after this comment) and the oldest changes are at the end. ***
|
|
*** ***
|
|
***************************************************************************
|
|
***************************************************************************
|
|
-----------------------------------------------------------------
|
|
|
|
Wed 21-Feb-96 (SteveSa)
|
|
|
|
crtw32\misc\dbgheap.c
|
|
Protected the call to HeapValidate() in _CrtIsValidHeapPtr(), so
|
|
that it is skipped on Win32s and Windows 95, which don't support
|
|
HeapValidate(). Previous fix (14-Feb) was for Win32s DLL only.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Mon 18-Feb-96 (SteveSa)
|
|
|
|
crtw32\lowio\osfinfo.c
|
|
Fixed error in file handle locking code that occurred on the
|
|
first file handle in a new block file handles. The wrong handle
|
|
was locked, which shows up dramatically in Windows NT v4.0.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Wed 14-Feb-96 (SteveSa)
|
|
|
|
crtw32\misc\dbgheap.c
|
|
Again removed call to HeapValidate() in _CrtIsValidHeapPtr(),
|
|
BUT ONLY for Win32s DLL. The call remains for Windows 95/NT.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Wed 31-Jan-96 (JamesMa)
|
|
|
|
fpw32\tran\i386\testfdiv.c
|
|
Now resets process affinity mask, not system affinity mask - at
|
|
the 'suggestion' of MarkL.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Mon 22-Jan-96 (SteveSa)
|
|
|
|
crtw32\misc\dbgheap.c
|
|
Restored call to HeapValidate() to _CrtIsValidHeapPtr(). This call
|
|
was commented out last summer because of problems with the Debug IDE
|
|
BVTs (tests). Those problems cannot be reproduced.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Fri 19-Jan-96 (GregF)
|
|
|
|
crtw32\time\tzset.c
|
|
Added bit of code to ensure the _tzname[] strings are terminated with
|
|
a null character. This was Speed bug 4552.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Wed 03-Jan-96 (JamesMa)
|
|
|
|
fpw32\tran\i386\87triga.asm
|
|
Atan2(0,0) now returns 0 (Speed bug 2176).
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 02-Jan-96 (JamesMa)
|
|
|
|
crtw32\misc\dbgdel.cpp
|
|
New file, split from dbgnew.cpp (Speed bug 3715).
|
|
|
|
crtw32\heap\setnewh.cpp
|
|
New file, split from handler.cpp (Speed bug 4130).
|
|
|
|
crtw32\misc\dbgnew.cpp, crtw32\heap\handler.cpp
|
|
|
|
makefile, makefile.inc, srcrel\pd-b, doc\copycrt.bat,
|
|
crtw32\misc\lsources, crtw32\heap\lsources
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Mon 01-Jan-96 (BryanT)
|
|
|
|
crtw32\h\limits.h
|
|
libw32\include\limits.h
|
|
Define LINK_MAX for POSIX
|
|
|
|
crtw32\h\wchar.h
|
|
libw32\include\wchar.h
|
|
Don't define some types for POSIX
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Thu 28-Dec-95 (GregF)
|
|
|
|
crt\crtw32\h\stdio.h
|
|
|
|
crt\crtw32\stdio\setmaxf.c, fflush.c
|
|
|
|
crt\libw32\msvcrt.src
|
|
|
|
crt\libw32\include\stdio.h
|
|
|
|
Fixed a rather badly broken _setmaxstdio() and a related bug in
|
|
flsall() (see fflush.c). Also added _getmaxstdio(). This fixes SPEED
|
|
bugs 2158 and 4327.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Thu 21-Dec-95 (JamesMa)
|
|
|
|
crt\crtw32\convert\gcvt.c
|
|
'.' was replaced by *__decimal_point (Speed bug 2145).
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Thu 21-Dec-95 (GregF)
|
|
|
|
crt\crtw32\string\i386\strncpy.asm
|
|
Much faster version from Intel.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 19-Dec-95 (JamesMa)
|
|
|
|
crtw32\h\*.h, crtw32\h\sys\*.h, libw32\include\*.h, libw32\include\sys\*.h
|
|
'#pragma once' removed from assert.h; all other occurrences
|
|
bracketed by '#if _MSC_VER > 1000/#endif'.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 19-Dec-95 (GregF)
|
|
|
|
crt\crtw32\string\i386\strncat.asm
|
|
Much faster version from Intel (with several bug fixes from me).
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Mon 18-Dec-95 (JamesMa)
|
|
|
|
crtw32\eh\typname.cpp
|
|
Debug version now allocates buffer as _CRT_BLOCK.
|
|
|
|
crtw32\startup\crt0dat.c
|
|
Doexit() can no longer recurse.
|
|
|
|
crtw32\h\*.h, crtw32\h\sys\*.h, libw32\include\*.h, libw32\include\sys\*.h
|
|
Add '#pragma once' to all headers.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Thu 14-Dec-95 (BryanT)
|
|
|
|
crtw32\eh\mips\trnsctrl.cpp, handlers.s, rtlmisc.s
|
|
Fix for new 64-bit CONTEXT structures.
|
|
|
|
crtw32\helper\ppc\dtou.s
|
|
Fix from ChuckL.
|
|
|
|
libw32\lib\dll\makefile.inc
|
|
Add dependency on msvcrt.src.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Wed 13-Dec-95 (SteveSa)
|
|
|
|
crt/fpw32/tran/i386/testfdiv.c -
|
|
Change call to LoadLibrary("kernel32") to GetModuleHandle(...)
|
|
since KERNEL32.DLL will ALWAYS be loaded.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Wed 13-Dec-95 (GregF)
|
|
|
|
crt\crtw32\time\time.c
|
|
Had gmt and gmt_cache switched in a key assigment, effectively
|
|
disabling my workaround for the slow NT API. Mistake found and
|
|
reported by Phil Lucido.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 12-Dec-95 (SteveSa)
|
|
|
|
crt/fpw32/tran/i386/testfdiv.c -
|
|
Reorganized the multi-processor check for a Pentium with the FDIV bug
|
|
so that the check is done only once on single-processor systems.
|
|
Previously the test was done twice on uni-processor systems -- once at
|
|
the beginning of the routine and once in the loop to check all CPUs.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Thu 07-Dec-95 (SteveSa)
|
|
|
|
crt/crtw32/convert/wctomb.c
|
|
crt/crtw32/convert/wcstombs.c
|
|
crt/crtw32/h/mtdll.h
|
|
crt/crtw32/stdio/_filbuf.c
|
|
crt/crtw32/stdio/_flsbuf.c
|
|
Fixed misspellings of _NTSUBSET_. It was only misspelled in comments
|
|
in the four files other than <mtdll.h>. But there it was in an #if.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Wed 06-Dec-95 (GregF)
|
|
|
|
crt\crtw32\string\i386\strstr.asm
|
|
Faster version from Intel.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 05-Dec-95 (SteveSa)
|
|
|
|
crt/crtw32/lowio/cgets.c
|
|
crt/crtw32/lowio/cputs.c
|
|
crt/crtw32/lowio/getch.c
|
|
crt/crtw32/lowio/putch.c
|
|
crt/crtw32/lowio/initcon.c
|
|
To improve DLL load time, the console I/O handles _confh and _coninpfh
|
|
are no longer initialized at CRTL start-up but rather are initialized
|
|
on demand. From initial tests, this seems to speed up the loading of
|
|
MSVCRT40.DLL by 4-20%.
|
|
|
|
Revised Fri 08-Dec-95 to work correctly under Win32s, and to save code.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Thu 30-Nov-95 (SteveSa)
|
|
|
|
crt/crtw32/misc/cmiscdat.c -
|
|
VC++ 4.1 (SPEED) bug 2188 - removed obsolete comments which were
|
|
relevant in the 16-bit world but are no longer. Updated copyright.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Thu 30-Nov-95 (GregF)
|
|
|
|
crt\crtw32\string\i386\strchr.asm, strlen.asm
|
|
The new strchr() is a much faster (also fatter) version from Intel.
|
|
The only change to strlen.asm was to align the main loop entry on
|
|
a 16-byte boundary (for 486 and P6).
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 28-Nov-95 (SteveSa)
|
|
|
|
crtw32/dos/stat.c -
|
|
Change special case code that handles root directories (such as
|
|
'C:/' or 'X:\') to also handle UNC names such as '//server/share/'
|
|
or '\\server\share\'. Note that Win32 requires the trailing slash.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Mon 27-Nov-95 (BryanT)
|
|
|
|
crtw32\h\stdlib.h
|
|
libw32\include\stdlib.h
|
|
Add __cdecl to _sleep/_beep/_seterrormode prototypes.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Sun 26-Nov-95 (BryanT)
|
|
|
|
crtw32\string\stricoll.c
|
|
libw32\msvcrt.src
|
|
Since stricmp() is merely a wrapper for strcmpi(), call strcmpi() directly
|
|
if possible.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Thu 16-Nov-95 (BryanT)
|
|
|
|
crtw32\crt32.nt
|
|
fpw32\fp32.nt
|
|
Define _WIN32 for ASM files (to get proper .586 designation)
|
|
|
|
crtw32\h\cruntime.inc
|
|
Fix POSIX build (it needs .586 also to compile string\strcat.asm)
|
|
|
|
crtw32\misc\dlllib\sources
|
|
crtw32\misc\i386\exsup.asm
|
|
Don't link global_unwind2 into each image... Import from the CRT dll instead
|
|
(this removes the last required reference to kernel32.dll)
|
|
|
|
crtw32\startup\mlock.c
|
|
#pragma optimiza("y", off) is only needed when you're going to run on the
|
|
checked version of NT 3.1... Since the NT libs never do that, no need to
|
|
disable it here.
|
|
|
|
fpw32\tran\i386\87fmod.asm
|
|
fpw32\tran\i386\87tran.asm
|
|
Remove more fdiv workarounds.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Wed 15-Nov-95 (GregF)
|
|
|
|
crtw32\time\tzset.c
|
|
|
|
Set the year fields of dststart and dstend to -1 to ensure they
|
|
are recomputed after a call to _tzset.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 14-Nov-95 (BryanT)
|
|
|
|
crtw32\misc\splitpat.c
|
|
Don't use MBCS on splitpath for NTSUBSET
|
|
|
|
crtw32\startup\nt\sources
|
|
Add crt0fp.c
|
|
|
|
fpw32\fp32.nt
|
|
fpw32\conv\fpinit.c
|
|
fpw32\tran\sources.nt
|
|
fpw32\tran\i386\87tran.asm
|
|
fpw32\tran\i386\87fmod.asm
|
|
Don't use CRT workaround for P5 FDIV problem. The NT run-times
|
|
will alway run on a system that handles it.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 14-Nov-95 (GregF)
|
|
|
|
crtw32\string\i386\stricmp.asm
|
|
|
|
Define/declare _strcmpi with a proc rather than a label directive.
|
|
This was the last bit required to fix 2108.
|
|
|
|
crtw32\string\i386\strcat.asm
|
|
|
|
Aligned strcat to a paragraph boundary.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Sun 12-Nov-95 (BryanT)
|
|
|
|
crtw32\string\wcsicmp.c
|
|
crtw32\string\wcsnicmp.c
|
|
crtw32\string\wcsxfrm.c
|
|
crtw32\string\strxfrm.c
|
|
crtw32\misc\dlllib\sources
|
|
crtw32\startup\dlllib\sources
|
|
|
|
NT build fixes
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Fri 10-Nov-95 (v-rogerl)
|
|
|
|
crt32\string\mips\strcpym.s
|
|
crt32\string\mips\strcatm.s
|
|
crt32\string\mips\memcpym.s
|
|
|
|
Replace ALTERNATE_ENTRY with .weakext for -Gy build.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Thu 09-Nov-95 (GregF)
|
|
|
|
crtw32\dllstuff\crtlib.c
|
|
|
|
Changed "ISTNT" to "IsTNT".
|
|
|
|
crtw32\string\i386\memcmp.asm
|
|
|
|
Checked in faster version from Intel. The last problem (i.e., the
|
|
reason I had to back this out several months ago) was edi and esi
|
|
were being pushed in the wrong order.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Wed 08-Nov-95 (GregF)
|
|
|
|
crtw32\time\tzset.c
|
|
|
|
Fixed typo in _isindst(). Second call to _mlock(_TIME_LOCK) should
|
|
have been _munlock(_TIME_LOCK).
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 31-Oct-95 (GregF)
|
|
|
|
crtw32\h\conio.h
|
|
|
|
Backed out last change. The inp* and outp* functions are intrinsics
|
|
so they cannot be _CRTIMP.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 31-Oct-95 (GregF)
|
|
|
|
crtw32\h\conio.h
|
|
libw32\msvcrt.src
|
|
Export inp*, outp* for x86 msvcr*.dll. This was Olympus0 10299 and
|
|
Olympus 1811.
|
|
|
|
crtw32\string\strcoll.c, stricoll.c, strncoll.c, strnicol.c, wcscoll.c
|
|
wcsicoll.c, wcsncoll.c, wcsnicol.c
|
|
|
|
Pass SORT_STRINGSORT flag to CompareString* API (actually, to our own
|
|
crtCompareString*, which then passes it on to the Win32 API) so that
|
|
characters such as the dash and apostrophe are not ignored in
|
|
comparisons. This was Olympus0 14755.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Fri 27-Oct-95 (v-rogerl)
|
|
|
|
fpw32\tran\mips\exptable.s
|
|
fpw32\tran\mips\logtable.s
|
|
fpw32\tran\mips\xsqrt.s
|
|
|
|
Fix bogus mips code. Align .rdata 8 bytes so tables that
|
|
are entered as words can work as double values.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Fri 27-Oct-95 (GregF)
|
|
|
|
crt\crtw32\stdio\fdopen.c
|
|
|
|
Added check (for both Win32 and Mac builds) that the file handle
|
|
passed to _fdopen() is open. This was Olympus0 10153.
|
|
|
|
crt\crtw32\h\stdlib.h
|
|
crt\libw32\include\stdlib.h
|
|
|
|
#ifdef-out toupper/tolower for ANSI builds. The decls cannot be
|
|
removed completely because they are documented (see the descripion
|
|
of tolower and toupper in the Runtime Library Reference). The doc
|
|
should be changed so that we may remove these decls in the future.
|
|
This was Olympus 1314.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 24-Oct-95 (GregF)
|
|
|
|
crt\crtw32\misc\searchen.c
|
|
|
|
Use an internal buffer to construct the full pathname from the
|
|
environment variable value and the file name. This was OLYMPUS0 9336.
|
|
|
|
|
|
crt\crtw32\time\time.c
|
|
|
|
Revised to minimize calls to GetTimeZoneInformation with used in a
|
|
loop by only updating the DST status on whole minutes. This was done
|
|
because GetTimeZoneInformation very expensive on NT 3.51.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 17-Oct-95 (SteveSa)
|
|
|
|
crtw32/eh/mac/pmac/lowhelpr.asm
|
|
crtw32/eh/mac/pmac/trnsctrl.cpp
|
|
Propogate GlennN's and APennell's final EH fix to the PowerMac CRTL
|
|
(after v4.0 for Intel X86 shipped).
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Tue 17-Oct-95 (GregF)
|
|
|
|
crtw32\convert\_mbslen.c, mbstowcs.c, mbtowc.c, tolower.c, toupper.c,
|
|
towlower.c, towupper.c
|
|
|
|
crtw32\h\ctype.h, mtdll.h
|
|
|
|
crtw32\misc\setlocal.c
|
|
|
|
crtw32\startup\mlock.c
|
|
|
|
crtw32\string\memicmp.c, strcoll.c, stricmp.c, stricoll.c, strlwr.c,
|
|
strncoll.c, strnicmp.c, strnicol.c, strupr.c, strxfrm.c, wcscoll.c,
|
|
wcsicmp.c, wcsicoll.c, wcslwr.c, wcsncoll.c, wcsnicmp.c, wcsnicol.c,
|
|
wcsupr.c, wcsxfrm.c
|
|
|
|
crtw32\string\i386\memicmp.asm, stricmp.asm, strnicmp.asm
|
|
|
|
crtw32\time\strftime.c
|
|
|
|
Package of changes implementing a more efficient scheme for 'locking'
|
|
locale references. The basic idea is access to locale data only has to
|
|
be serialized if at least one thread is executing setlocale().
|
|
|
|
Also, memicmp.asm contains a fix for Olympus 2196 (< and > returns
|
|
are reversed for non-C locales).
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Fri 06-Oct-95 (SteveSa)
|
|
|
|
crtw32\direct\findfile.c
|
|
crtw32\h\io.h
|
|
libw32\include\io.h
|
|
|
|
The filespec argument to _*findfirst should be CONST char *, not just
|
|
char *. Also added missing underscores to func names in the comments.
|
|
|
|
This was Olympus0 bug #13287.
|
|
|
|
|
|
crtw32\h\new.h -
|
|
updated so that when cleansed, it matches the new.h in libw32\include.
|
|
(added missing __cdecl in the prototype of new_handler).
|
|
|
|
crtw32\h\tchar.h -
|
|
Fix Olympus0 bug #1175 here as well as in libw32\include\tchar.h
|
|
(See Thu-05-Oct fixes)
|
|
|
|
libw32\include\time.h
|
|
updated for GregF's change today for crtw32\h\time.h
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Fri 06-Oct-95 (GregF)
|
|
|
|
crtw32\direct\findfile.c
|
|
|
|
crtw32\dos\stat.h
|
|
|
|
crtw32\h\internal.h
|
|
|
|
crtw32\lowio\fstat.h
|
|
|
|
crtw32\time\dtoxtime.c, time.c
|
|
|
|
Package of changes to properly handle the overlapping clock times
|
|
which occur at the transition from DST back to Standard Time.
|
|
|
|
This was Olympus 2128.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Fri 06-Oct-95 (GregF)
|
|
|
|
crtw32\dllstuff\crtlib.c
|
|
|
|
crtw32\h\time.h, win32s.h
|
|
|
|
crtw32\time\dtoxtime.c, mktime.c, localtim.c, timeset.c, tzset.c
|
|
|
|
libw32\msvcrt.src
|
|
|
|
Package of changes to fully support Win32 timezones. Main changes
|
|
were to fix _isindst() to work with non-USA transition rules and
|
|
to use _dstbias instead of a constant value (-3600) for the bias
|
|
in seconds.
|
|
|
|
This was Olympus0 3231.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
Thu 05-Oct-95 (SteveSa)
|
|
|
|
srcrel\mkfiles.sed
|
|
Remove stdio\maketabc.c from the list of files to be copied/cleansed.
|
|
This file should not have been released in MSVC++ v4.0. No big deal.
|
|
Also remove stdio\mac\initstd.c from that list. Same story. NBD.
|
|
|
|
srcrel\makefile
|
|
Change the rule to create pd-b to use the v4.1 source file server
|
|
(\\lang1\slmv4.1) instead of the v4.0 name (\\lang1\v3slm).
|
|
|
|
log.txt -> log_v40.txt
|
|
renamed the v4.0 history file and started a new one
|
|
|
|
crtw32\lowio\getch.c -- Olympus0 Bug #2193
|
|
removed two lines of debugging code that were commented out with //
|
|
|
|
libw32\include\tchar.h - Olympus0 Bug #1175
|
|
__far is #defined to nothing -- should be unnecessary in 32-bit code!
|
|
|
|
makefile -
|
|
Change the rules for the oldnames and tcmap and tcmapdll object file
|
|
directories so that oldnames.lib and tcmap.lib and tcmapdll.lib do
|
|
not get incorrectly rebuilt. This occurs due to a bug in Windows NT
|
|
v3.5x wherein sometimes a subdirectory has a creation time OLDER
|
|
than the creation time of its parent directory.
|
|
|
|
-----------------------------------------------------------------
|
|
|
|
***************************************************************************
|
|
***************************************************************************
|
|
*** ***
|
|
*** This file contains the history for MSVC++ v4.1 (relative to v4.0) ***
|
|
*** The file should always be edited at the top so that the most ***
|
|
*** recent changes are at the beginning of the file and the oldest ***
|
|
*** changes are at the end of the file. This comment marks the end. ***
|
|
*** ***
|
|
***************************************************************************
|
|
***************************************************************************
|
|
|
|
-----------------------------------------------------------------
|