|
|
*************************************************************************** *************************************************************************** *** *** *** 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. *** *** *** *************************************************************************** ***************************************************************************
-----------------------------------------------------------------
|