Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

880 lines
33 KiB

***************************************************************************
***************************************************************************
*** ***
*** This file contains the change history for the MSVC++ v7.1 C/C++ ***
*** Run-Time Libraries (that is, modifications since since 7.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. ***
*** ***
***************************************************************************
***************************************************************************
-----------------------------------------------------------------
Tue 07-May-02 (Gautamb)
crtw32\string\wcscat.c wcscmp.c wcslen.c wcsset.c
Added #pragma function for wcscat, wcscmp, wcscpy, wcslen, wcsset
which are intrinsic on IA64.
-----------------------------------------------------------------
Mon 06-May-02 (Gautamb)
crtw32\time\strftime.c
Fix for VS7#513874. earlier strftime() truncated am/pm string to 2 char,
which was wrong e.g. in Mexican/Spanish locale.
-----------------------------------------------------------------
Mon 06-May-02 (Gautamb)
crtw32\h\ctype.h
crtw32\misc\ctype.c, nlsdata2.c
Fix for VS7#339660, by adding extra array of __newctype with 384
elements so that bbt can't break it up for static build. For DLL
build, things remain as they were, we will need to add KeepTogether
and KeepAlive for _ctype and __tmpctype.
-----------------------------------------------------------------
Fri 03-May-02 (Gautamb)
crtw32\misc\setenv.c
VS7#340665, Putting off prefast warnings.
-----------------------------------------------------------------
Thu 02-May-02 (Gautamb)
crtw32\rtc\init.cpp
VS7#339926, Wrapped all the locks, unlocks in try finally.
-----------------------------------------------------------------
Thu 02-May-02 (Gautamb)
crtw32/eh/typinfo.cpp typname.cpp
crtw32/h/mtdll.h
crtw32/iostream/mtlock.c
crtw32/lowio/cgets.c cgetws.c dup.c getch.c getwch.c osfinfo.c putch.c
crtw32/misc/dbgdel.cpp winsig.c
crtw32/startup/crt0dat.c mlock.c
crtw32/stdcpp/_tolower.c _toupper.c xmbtowc.c xstrcoll.c xstrxfrm.c xwcscoll.c xwcsxfrm.c xwctomb.c
crtw32/time/tzset.c
VS7#339926, Wrapped all the locks, unlocks in try finally fot MT version.
-----------------------------------------------------------------
Wed 01-May-02 (Gautamb)
crtw32\misc\initctype.c ctype.c setlocal.c
crtw32\string\ i386\_ctype.asm ia64\_ctype.s
crtw32\h\ctype.h, setlocal.h
srcrel\pd-b
makefile.inc
doc\copysource.bat
VS7#339660. Modified the way isupper or any isxx macro would look to _ctype
array. Previously there was no way to distinguish between EOF and 0xff. Now
we have moved _ctype to asm files so that _ctype points in middle of array
with first 127 elements ranging from 0x80 to 0xfe, element at _ctype (EOF) then
256 elements.
-----------------------------------------------------------------
Wed 01-May-02 (PhilipLu)
makefile
Add loadcfg.obj to the chelper.lib compiler helpers lib.
-----------------------------------------------------------------
Tue 30-Apr-02 (PhilipLu)
crtw32\convert\xtow.c
VS7#525627 Calling _itow with a radix of 2 will overrun an internal
buffer used to convert ANSI to Unicode.
crtw32\stdio\fdopen.c
VS7#526205 Passing an illegal mode string to _fdopen would hit an AV
that left a file critsec owned, leading to deadlocks.
crtw32\misc\dbgheap.c
VS7#530559 There's a potential deadlock between _HEAP_LOCK and
_SETLOCALE_LOCK when _CrtMemDumpAllObjectsSince calls isprint, if the
locale is being changed by another thread.
crtw32\heap\resetstk.c
VS7#530044 _resetstkoflw will put the guard page back too close to the
end of the stack allocation block, so the next stack overflow may not
have any stack available for exception handling of the overflow. The
guard page should be one page higher than currently.
crtw32\misc\i386\eh3valid.c
VS7#522476 The new SafeSEH _except_handler3 validation code calls
VirtualQuery, which takes a kernel trip and is thus much slower than the
old version. The URT had an EH-heavy test degrade by up to 400%.
Recover the perf by adding an LRU of recently-validated pages holding
scopetables, avoiding the VirtualQuery call.
libw32\msvcprt.src, sysprt.src, sysptr64.src
VS7#514769 The compiler is going to stop automatically issuing the
/export directives to supply the old name decorations for exported
template functions, so manually add them to the .def file for the
C++ Standard Library.
-----------------------------------------------------------------
Thu 05-Apr-02 (Gautamb)
crtw32\misc\setlocal.c
VS7#342716. Fixed buffer overrun bug in __lc_strloc function.
crtw32\startup\tidtable.c
crtw32\h\mtdll.h
VS7#508599. All the calls to Tls and Fls go through same function
pointers, this way we can have consistiency which avoids the kind of
problems that appverifier was running into.
-----------------------------------------------------------------
Thu 04-Apr-02 (PhilipLu)
crtw32\iostream\ostrptr.cpp
VSW#2505 Old iostream ostream::operator<<(const void *) has a buffer
overrun on 64-bit platforms.
libw32\msvcrt.src, syscrt.src, syscrt64.src
VSW#13883 Names defined in crtw32\misc\ia64\miscs.s need to be added
to the msvcr*.dll .def files so they are exported.
crtw32\stdhpp64\new
libw32\inc64\new
VSW#17046 The old VC6 version of <new> needs to pick up a fix from
the VC7 version, putting everything related to std::nothrow_t under
a "#ifndef __NOTHROW_T_DEFINED".
-----------------------------------------------------------------
Mon 01-Apr-02 (PhilipLu)
doc\copysrc.bat
Need to copy new files loadcfg.c and secchk.c for user rebuild of CRT.
-----------------------------------------------------------------
Wed 27-Mar-02 (PhilipLu)
crtw32\stdhpp64\xlocnum
libw32\inc64\xlocnum
VS98#68551 Fix buffer overrun in fixed-format floating point output
in the old 6.0 Std C++ Library sources.
-----------------------------------------------------------------
Tue 26-Mar-02 (PhilipLu)
crtw32\string\lsources, sources.nt,
crtw32\string\ia64\memcpy.s, memcpyi.s [NEW], memset.s, memseti.s [NEW],
srcrel\objects.mkf, pd-b,
makefile, makefile.inc,
Modify previous checkin of McKinley versions of memcpy & memset.
Rename the Itanium versions to _mem{cpy,set}_ita, with a leading
underscore for standards conformance. Split the Itanium versions out
into their own objects, so we don't drag them into an image all the
time. Intentionally do not export these Itanium versions from the
CRT DLLs, but just leave them as static link components of the implibs,
so we can drop support for them in the future.
-----------------------------------------------------------------
Wed 20-Mar-02 (PhilipLu)
crtw32\stdhpp\algorithm, iterator, xutility, yvals.h
crtw32\tools\win32\relinc.if
libw32\include\algorithm, iterator, xutility, yvals.h
(integrated from vs7evestage 112160, 112380, 113190)
Add part of the partial specialization changes from the latest
Dinkumware drop. Don't have time for a full integration right now,
but we need to get the changes dependent on iterator_trait partial
specializations in to unblock work on the front-end and at alpha test
sites.
-----------------------------------------------------------------
Wed 20-Mar-02 (PhilipLu)
All integrated from Everett:
crtw32\eh\i386\ehprolg2.c, trnsctrl.cpp
crtw32\h\exsup.inc
crtw32\misc\lsources
crtw32\misc\i386\eh3valid.c [NEW], exsup3.asm
crtw32\misc\dll\sources
crtw32\misc\dlllib\sources
crtw32\misc\mt\sources
crtw32\misc\nt\sources
crtw32\misc\psx\sources
crtw32\misc\st\sources
srcrel\objects.mkf, pd-b
makefile, makefile.inc
Safe exceptions work part 3. Protect all CRT exception handlers
against hacker attacks. Add several tests to validate the registration
node for _except_handler3. Prevent _except_handler3 from leaking
useful data in registers to exploit code. Add the random security
cookie into the internal handlers in trnsctrl.cpp to prevent spoofing.
crtw32\eh\special.mak
crtw32\misc\special.mak [NEW]
libw32\tools\i386\aliasobj.exe
libw32\tools\ia64\aliasobj.exe
srcrel\pd-b
makefile.sub
Safe exceptions work part 2. Using one-off build rules in special.mak,
add .sxdata for the 2 internal exception handlers in trnsctrl.cpp and
the 1 handler in exsup.asm, using the new 'sxgen' obj munging tool
(this is temporary until we get a new assembler directive to do this).
Globally add the new assembler switch /safeseh to put the @feat.00
symbol in all asm-built objs. Check in new versions of aliasobj.exe
which create the aliases with @feat.00 in them so they won't get in the
way of creating safe images.
crtw32\h\internal.h
crtw32\misc\lsources, secchk.c [NEW], seccinit.c, seccook.c
crtw32\misc\i386\loadcfg.c [NEW]
crtw32\misc\dll\sources
crtw32\misc\dlllib\sources
crtw32\misc\mt\sources
crtw32\misc\nt\sources
crtw32\misc\psx\sources
crtw32\misc\st\sources
srcrel\pd-b
makefile, makefile.inc
Safe exceptions work part 1. Add the default load config struct to
be pulled in by the linker when .sxdata is present. Split seccook.c
in two, putting most of the code in secchk.c, and leaving just the
definition of __security_cookie in seccook.c, so a build without /GS
but with .sxdata won't drag in all the /GS code due to the reference
to __security_cookie in the load config. Finally, don't reinitialize
__security_cookie if it has already been initialized (generally, by
the OS loader).
-----------------------------------------------------------------
Wed 20-Mar-02 (PhilipLu)
crtw32\stdcpp\locale.cpp, locale0.cpp, wlocale.cpp
crtw32\stdhpp\fstream
libw32\include\fstream
(integrated from 03-Mar-02 checkin @110182 in 7.01 tree)
VS7#319508 Unnecessary dependencies between parts of the C++ Std Lib
almost tripled the size of a trivial Hello World app using I/O Streams
in VC7.0 (64K to 168K). Remove those dependencies by getting rid of
an unneeded element std::locale std::basic_filebuf::_Loc, replacing by
a same sized dummy to keep object compatibility with 7.0, and moving
some definitions of various std::locale::id facet IDs to a central
location.
-----------------------------------------------------------------
Wed 13-Mar-02 (v-vadimp)
crtw32\misc\ia64\jmpuwind.s
crtw32\string\ia64\strcat.s, strcmp.s, strcpy.s, strlen.s
added missing unwind descriptors
crtw32\string\ia64\memcpy.s, memset.s
added McKinley versions; Itanium versions renamed to *_ita
-----------------------------------------------------------------
Wed 13-Mar-02 (PhilipLu)
crtw32\dllstuff\crtlib.c
VS7#338020 Change TlsSetValue to FLS_SETVALUE. Missed one spot when
the per-fiber data change was made.
-----------------------------------------------------------------
Mon 04-Mar-02 (PhilipLu)
crtw32\h\malloc.h, stdlib.h
libw32\include\malloc.h, stdlib.h
libw32\inc64\malloc.h, stdlib.h
srcrel\msvc40.if
Add _CRTNOALIAS and _CRTRESTRICT declspecs to C library heap APIs.
These are only in the user headers, and turned off in the CRT build,
since there's no guarantee they are true internal to the CRT, since
e.g. noalias means in effect no side-effects, but the CRT can certainly
see side-effects in its internal heap implementations. Those side-
effects just aren't visible to users.
-----------------------------------------------------------------
Thu 14-Feb-02 (PhilipLu)
crtw32\stdhpp\deque, list, string, utility, vector, xhash, xstring, xtree
libw32\include\deque, list, string, utility, vector, xhash, xstring, xtree
VS7#338170 New compiler conformance work means we need to use a
conformant version of std::swap specializations for various collection
classes, instead of the "friend void swap" class member declaration
that was used before as a hack around missing partial ordering.
-----------------------------------------------------------------
Wed 30-Jan-02 (gautamb)
crtw32\h\setloc.h, mtdll.h
crtw32\misc\nlsdata2.c, setloc.c, getqloc.c
VSWhidbey#13307. Fixed the problem due to static variables in getqloc.
Made all static variables by setlocale to per thread locale this is done
to minimize the code under setlocale lock.
-----------------------------------------------------------------
Wed 23-Jan-02 (PhilipLu)
makefile
Add -debugtype:pdata for 64-bit SysCRT targets
-----------------------------------------------------------------
Tue 22-Jan-02 (gautamb)
crtw32\h\setloc.h
crtw32\misc\nlsdata2.c, setloc.c
Changed LCID *__lc_handle to LCID __lc_handle[]. This change was made
for backward compatiblity.
-----------------------------------------------------------------
Tue 18-Dec-01 (gautamb)
crtw32\h\ctype.h, locale.h, setlocal.h
crtw32\misc\nlsdata2.c, setlocal.c, wsetloca.c
crtw32\startup\tidtable.c
crtw32\stdhpp\wctype.h
crtw32\stdhpp64\wctype.h
libw32\inc64\locale.h
libw32\include\locale.h, wctype.h
Added _configthreadlocale with all the flags needed to configure the thread
locale.
-----------------------------------------------------------------
Mon 17-Dec-01 (Gautamb)
makefile
Added chelper.lib as crt build library. This library will be used for
compiler helper functions.
-----------------------------------------------------------------
Tue 30-Nov-01 (PhilipLu)
makefile, makefile.inc
crtw32\helper\ia64\divhelp.c [NEW]
crtw32\helper\lsources, sources.nt
doc\copysrc.bat
srcrel\pd-b
VSWhidbey#2362 Add compiler helpers for -Os div/rem operations.
-----------------------------------------------------------------
Wed 28-Nov-01 (gautamb)
fpw32\tran\amd64\fpsr.asm
VS7.1#2727. Added prologue to the _get_fpsr. All other functions were leaf
functions that did not require prologue.
-----------------------------------------------------------------
Mon 26-Nov-01 (gautamb)
libw32\msvcrt.src, syscrt.src, syscrt64.src
VS7.1#4730,Added rotl64, rotr64, byteswap routines and abs64 to crt exports.
-----------------------------------------------------------------
Wed 21-Nov-01 (gautamb)
crtw32\convert\_ctype.c, _mbslen.c, atox.c, gcvt.c, isctype.c, iswctype.c,
mblen.c, mbstowcs.c, mbtowc.c, strtol.c, strtoq.c, tolower.c, toupper.c,
towlower.c, towupper.c, wcstol.c, wcstombs.c, wcstoq.c, wctomb.c
crtw32\dllstuff\crtlib.c
crtw32\h\ctype.h, mtdll.h, nlsint.h, setlocal.h, stdlib.h, wchar.h
crtw32\mbstring\mbctype.c
crtw32\misc\a_cmp.c, a_loc.c, a_map.c, a_str.c, ctype.c, initcoll.c, initctyp.c,
initmon.c, initnum.c, inittime.c, lconv.c, nlsdata2.c, setlocal.c, w_cmp.c,
w_loc.c, w_map.c, w_str.c
crtw32\startup\crt0dat.c, tidtable.c
crtw32\stdcpp64\_tolower.c, _toupper.c, xmbtowc.c, xstrcoll.c, xstrxfrm.c,
xwctomb.c
crtw32\stdhpp\wctype.h
crtw32\stdio\input.c, output.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\time\strftime.c, tzset.c, wcsftime.c
fpw32\conv\cvt.c, strgtold.c
libw32\inc64\ctype.h, stdlib.h, wchar.h, wctype.h
libw32\include\ctype.h, stdlib.h, wchar.h, wctype.h, syscrt64.src
srcrel\msvc40.if
Added ground work for implementing true per thread locale. In this ground
work, all the dependencies of setlocale on global variables is elemenated,
instead they modify locale struct passed to them. This way any change will be
limited to this particular locale struct.
-----------------------------------------------------------------
Tue 20-Nov-01 (gautamb)
crtw32\h\float.h
Added _CW_DEFAULT for AMD64.
crtw32\convert\fcvt.c, gcvt.c
crtw32\h\fltintrn.h
crtw32\stdio\output.c
fpw32\conv\cfin.c, cfout.c cvt.c fltinf.c intrncvt.c
fpw32\include\cv.h
srcrel\msvc40.if
Replaced DOUBLE with _CRT_DOUBLE and FLOAT with _CRT_FLOAT. The reason behind
this is that windows.h used DOUBLE and FLOAT.
-----------------------------------------------------------------
Thu 08-Nov-01 (gautamb)
crtw32\h\sect_attribs.h
crtw32\misc\setlocal.c
crtw32\startup\crt0.c, crt0dat.c, stdenvp.c
crtw32\stdio\_file.c
Changes for minimizing CRT leaks in debug builds.
-----------------------------------------------------------------
Tue 06-Nov-01 (PhilipLu)
crtw32\h\malloc.h
crtw32\heap\heapinit.c
libw32\include\malloc.h
libw32\inc64\malloc.h
libw32\msvcrt.src
VS98#67228 Add new API _get_heap_handle, so IIS can enable the new
Low Fragmentation Heap on the CRT heap.
-----------------------------------------------------------------
Fri 19-Oct-01 (PhilipLu)
crtw32\misc\i386\sehprolg.asm
VS7#313643 __SEH_prolog was setting FS:0, establishing a new link in
the EH handler frame chain, before it finished initializing the new
frame. If a stack overflow then happened in __SEH_prolog before the
frame was fully initialized, the stack overflow exception was
dispatched to __except_handler3 with bogus data, causing recursing
AVs that exhausted the stack and the process was silently terminated.
-----------------------------------------------------------------
Tue 16-Oct-01 (gautamb)
crtw32\dllstuff\crtlib.c
crtw32\h\mtdll.h
crtw32\startup\dllcrt0.c, thread.c, threadex.c, tidtable.c
Enabled fiber aware CRT. Fixes fiber related bugs on OS with new fiber
related APIs. Mostly the changes were related to per thread data
allocations. If possible these changes will use per thread data on per
fiber basis.
-----------------------------------------------------------------
Sun 23-Sep-01 (gautamb)
fpw32\tran\ia64\acos.s, acosf.s, asin.s, asinf.s, atan.s, atan2.s, atan2f.s,
atanf.s, ceilf.s, cosh.s, coshf.s, exp.s, expf.s, fabs.s, fabsf.s, floor.s,
floorf.s, fmod.s, fmodf.s, isnan.s, isnanf.s, ldexp.s, ldexpf.s,
libm_atan2_reg.s, libm_error.c, libm_reduce.s, log.s, logb.s, logbf.s,
logf.s, modf.s, modff.s, pow.s, powf.s, sincosf.s, sinh.s, sinhf.s, sqrt.s,
sqrtf.s, tan.s, tanf.s
srcrel\pd-b
[Added:]
fpw32\tran\ia64\tanh.s, tanhf.s
[Deleted:]
fpw32\tran\ia64\tanhf.c
Updating math library to intel version 5.6. Also adding tanh.s to fix
VS7#273640. Modifying libm_error.c to fix VS7#132405.
-----------------------------------------------------------------
Fri 21-Sep-01 (GautamB)
crtw32\eh\frame.cpp, ia64\ehstate.cpp trnsctrl.cpp
crtw32\h\trnsctrl.h ehstate.h mtdll.h
New C++ implementation for IA64.
-----------------------------------------------------------------
Fri 21-Sep-01 (GautamB)
crtw32\eh\i386\trnsctrl.cpp
VS7#305455. Temp fix for C++Eh to works with apps with fibers. This is
more of a reverse compatiblith issue as this fix doesn't really fix the
problem in C++Eh when fiber is switched between C++Eh (mostly when
executing in catch block).
-----------------------------------------------------------------
Thu 20-Sep-01 (PhilipLu)
crtw32\eh\frame.cpp
langapi\include\ehdata.h
Buildfix - the 18-Sep-01 checkin for exception specification support
broke the compiler backend. We can't redefine the value of
EH_MAGIC_NUMBER1 and add EH_MAGIC_NUMBER1_OLD. Instead, leave
EH_MAGIC_NUMBER1 with the original value and add EH_MAGIC_NUMBER2.
The new magic number should only be used in function info that is
using the new ES data. The throw object should still be using the
old magic number.
crtw32\misc\ia64\longjmp.s
VS7#304879 Port IA64 longjmp bugfix from NT CRT tree. The wrong value
for RNAT can be loaded in some cases.
crtw32\string\ia64\strlen.s
VS7#304529 IA64 strlen.s is returning the wrong result for strings
over 4G long.
-----------------------------------------------------------------
Tue 18-Sep-01 (GautamB)
crtw32\string\ia64\memcpy.s
Optimized version of memcpy.s from eugene, with no use of r23/r24.
-----------------------------------------------------------------
Tue 18-Sep-01 (GautamB)
crtw32\h\mtdll.h
crtw32\eh\frame.cpp, ia64\trnsctrl.cpp, i386\trnsctrl.cpp
libw32\msvcrt.src, syscrt.src, syscrt64.src
Added Support for ExceptionSpecification. Changes mainly made by Arturl.
-----------------------------------------------------------------
Fri 12-Sep-01 (GautamB)
crtw32\string\ia64\memcpy.s
Optimized version of memcpy.s from eugene.
-----------------------------------------------------------------
Wed 29-Aug-01 (PhilipLu)
crtw32\stdhpp64\complex
libw32\inc64\complex
Buildfix for IA64 Sys CRTs build with 7.1 compiler. Fix bug VS7#302850
in the old C++ headers as a workaround for a build breakage due to
unneccesary code in dlldef.cpp I'd rather not remove right now.
-----------------------------------------------------------------
Tue 21-Aug-01 (PhilipLu)
libw32\msvcirt.rc, msvcprt.rc, msvcrt.rc, syscrt.rc, sysirt.rc, sysprt.rc
Update the version info to 7.10 for V.Next.
-----------------------------------------------------------------
Tue 14-Aug-01 (PhilipLu)
crtw32\stdio\output.c
VS7#298618 The local variable 'buffer' in _output() is not protected
against buffer overruns/underruns on extreme precision values.
Underruns can occur on integer conversions, which can trigger stack
overflows (e.g. %.2000000d). Overruns can occur on FP conversions,
which can overwrite the return address 0x30303030 and crash (e.g.
%.2000f). Cap the precision at 512. For FP conversions, allocate
the buffer dynamically if 'buffer' still isn't enough (a conversion
of %.512f can actually require 815 chars).
-----------------------------------------------------------------
Thu 09-Aug-01 (PhilipLu)
fpw32\tran\i386\log_pentium4.asm, log10_pentium4.asm
VS7#298130 Work around unexpected BBT behavior. 16 bytes of data at
label place_R was being removed because place_R is never referenced
by name. But that data was being loaded as edx+place_L with EDX==16.
Get rid of the place_R labels so BBT won't assume the data there is
unused.
crtw32\stdhpp64\locale
libw32\inc64\locale
Buildfix for IA64 SysCRT - disable new 7.1 warning C4675 about Koening
lookup changing the overload resolution.
-----------------------------------------------------------------
Wed 01-Aug-01 (PhilipLu)
crtw32\misc\setlocal.c, wsetloca.c
VS7#283330 Prompted by QFE VS98#67185. _wsetlocale can do a double
free and crash when called from multiple threads at the same time.
Add a lock on _SETLOCALE_LOCK to prevent that. Also, note that the
return string from _wsetlocale will currently be freed by a later call
to _wsetlocale, which is another potential crash (much rarer). To
avoid that, only allocate the return value buffer once, the first
time through. The same problem exists for setlocale, but that's not
being fixed here, as it's a much riskier fix and this customer isn't
open to that (as long as he's just using _wsetlocale). See bug
VS7#294369 for that issue, to be fixed in VC7.1.
Also fix a related problem noticed in setlocale(...,NULL). That
codepath wasn't acquiring _SETLOCALE_LOCK because it thought it would
just retrieve info. That's not true - it'll also potentially allocate
the global buffer for the return value, so failing to lock can lead
to multiple threads in setlocale modifying global variable
__lc_category[category].locale at the same time.
crtw32\stdhpp\xdebug, xmemory
libw32\include\xdebug, xmemory
VS7#289498 Reported by a beta customer. We had a template method
template<T> std::allocator::allocate(size_t, const T *)
but the standard says we're just supposed to have non-template method
std::allocator::allocate(size_t, const void *)
That template version causes code that worked with VC6 to fail when
calling myalloc.allocate(sz, 0), since the compiler couldn't deduce a
pointer type from the 0. Make the same change for allocator child
class _DebugHeapAllocator, too.
Getting rid of the template member means the change for VS7#221135
can be reverted, which I've done.
crtw32\heap\newopnt.cpp
VS7#293336 The nothrow_t placement scalar new should call the
non-placement scalar new, not duplicate what the default non-placement
scalar new implementation does. That way, users who write their own
non-placement scalar new but don't replace the other 3 replaceable
forms of operator new will not break code which uses nothrow new. This
is important given all the work that was done for VS7#237394.
makefile
VS7#293060 User rebuild of the CRT is broken because winver.h has been
moved in the default installation. It was previously found in
\Program Files\Microsoft Visual Studio.NET\Vc7\include
but is now found in
\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include
Adjust the settings of VCTOOLS and VCTOOLSINC in the rebuild makefile
accordingly.
-----------------------------------------------------------------
Fri 20-Jul-01 (GautamB)
crtw32\string\ia64\memcpy.s, memmove.s
Changing use of register r23, r24 to use r27, r28. This is done on request
from David Gillies from BBT.
-----------------------------------------------------------------
Thu 19-Jul-01 (GautamB)
crtw32\eh\frame.cpp
VS7#276150 Modified com+ C++Eh implementation.
-----------------------------------------------------------------
Sun 15-Jul-01 (PhilipLu)
clean.cmd, cleanbld.cmd, makefile, makefile.inc, makefile.sub
crtw32\dirs
crtw32\eh\frame.cpp, lsources, sources.nt, typname.cpp
crtw32\eh\dll\sources
crtw32\eh\mt\sources
crtw32\eh\nt\sources
crtw32\eh\st\sources
crtw32\h\crtdbg.h, cruntime.h, ehstate.h, excpt.h, float.h, fltintrn.h, heap.h,
internal.h, malloc.h, math.h, mbstring.h, memory.h, mtdll.h, setjmp.h,
setjmpex.h, stdarg.h, stdio.h, stdlib.h, string.h, trnsctrl.h, varargs.h,
wchar.h, winheap.h
crtw32\helper\lsources, sources.nt
crtw32\misc\assert.c, lsources
crtw32\misc\dll\sources
crtw32\misc\mt\sources
crtw32\misc\nt\sources
crtw32\misc\psx\sources
crtw32\misc\st\sources
crtw32\rtc\error.cpp, stack.cpp
crtw32\startup\crt0dat.c, crt0init.c, tidtable.c, tlssup.c
crtw32\startup\dll\sources
crtw32\startup\dlllib\sources
crtw32\startup\mt\sources
crtw32\startup\nt\sources
crtw32\startup\psx\sources
crtw32\startup\st\sources
crtw32\stdio\output.c
crtw32\string\lsources, memcpy.c, memmove.c, memset.c, sources.nt, strset.c
crtw32\tools\win32\relinc.if, relinc64.if
fpw32\conv\tenpow.c
fpw32\include\cv.h, trans.h
fpw32\tran\fabs.c, fpexcept.c, lsources, sincosh.c, sources.nt, tanh.c
libw32\inc64\crtdbg.h, excpt.h, float.h, malloc.h, math.h, mbstring.h,
memory.h, setjmp.h, setjmpex.h, stdarg.h, stdio.h, stdlib.h, string.h,
varargs.h, wchar.h
libw32\include\crtdbg.h, excpt.h, float.h, malloc.h, math.h, mbstring.h,
memory.h, setjmp.h, setjmpex.h, stdarg.h, stdio.h, stdlib.h, string.h,
varargs.h, wchar.h
libw32\msvcirt.src, msvcrt.src, syscrt.src, syscrt64.src, sysirt.src,
sysirt64.src
srcrel\clnsrcrel.bat, common.mkf, external.mkf, makefile, mkclnmkf.c,
msvc40.if, objects.mkf, pd-b
[DELETED:]
crtw32\eh\alpha\bridge.h, bridge.s, ehunwind.c, ehunwind.h, trnsctrl.cpp,
xcptmisc.h, xcptmisc.s
crtw32\helper\alpha\divdat.s, divide2.s, extv.s, extvvol.s, extzv.s,
extzvvol.s, fastdiv.s, insv.s, insvvol.s, memcmp_.s, ots_as.hs,
ots_defs.hs, otsdiv.s, otsnote.txt, scmpeql.s, scmpeqlp.s, scmpleq.s,
scmpleqp.s, scmplss.s, scmplssp.s, sfill.s, sfillx.s, sfwdcpy.s, sloc.s,
smove.s, smovem.s, strans.s, strcmp_.s, strcpy_.s, strlen_.s, szero.s
crtw32\misc\alpha\chandler.c, chkesp.c, ghandler.c, jmpuwind.s, longjmp.s,
otsjmp.s, otsjmpex.s, otsuwind.s, setjmp.s, setjmpex.s
crtw32\startup\alpha\chkstk.s
crtw32\string\alpha\strcat.c, strcmps.s, strcpys.s, strlens.s
doc\copycrt.bat
fpw32\tran\alpha\acos.s, acosf.s, asin.s, asinacos.s, asinf.s, ata_tabs.s,
ata_tabt.s, atan2f.s, atan2s.s, atanf.s, atans.s, cabs.s, cabsf.s,
captcont.s, ceilf.s, ceils.s, chopt.s, copysgnf.s, cos_vo.s, cosf.s,
cosf_vo.s, cosh.s, coshf.s, coss.s, cot.s, cotf.s, dpml_com.s, dpml_exc.c,
expf.s, exph.c, exps.s, F_acos.s, F_acosf.s, F_asin.s, F_asinf.s, F_atan.s,
F_atan2.s, F_atan2f.s, F_atanf.s, F_cos.s, F_cosf.s, F_exp.s, F_expf.s,
F_hypot.s, F_hypotf.s, F_log.s, F_log10.s, F_log10f.s, F_logf.s, F_pow.s,
F_powf.s, F_sin.s, f_sincof.s, F_sincos.s, F_sinf.s, F_sqrt.s, F_sqrtf.s,
F_tan.s, F_tanf.s, fabsf.s, fabss.s, filter.c, finitef.s, floorf.s,
floors.s, fmodf.s, fmods.s, fp_clasf.s, fpctrl.s, fpint.s, frexp.s,
frexpf.s, frnd.s, getsetrg.c, huge.s, hypotf.s, hypoth.c, hypots.s, ieee.c,
invtrigs.s, invtrigt.s, isnanf.s, j0f.s, j1f.s, jnf.s, l10_tabt.s, ldexp.s,
log10f.s, log10s.s, log_tabt.s, logbf.s, logf.s, logs.s, modff.s, modfs.s,
nextaftf.s, pow_tabt.s, powcerr.s, powf.s, pows.s, rsqrt.s, rsqrtf.s,
sin_tabt.s, sin_vo.s, sincofvo.s, sincos.s, sincosf.s, sincosvo.s, sinf.s,
sinf_vo.s, sinh.s, sinhcosf.s, sinhcosh.s, sinhf.s, sins.s, specexp.s,
specexpf.s, sqr_tabt.s, sqrt.c, sqrtf.s, sqrts.s, tan_tabt.s, tanf.s,
tanh.s, tanhf.s, tans.s, trig_rdf.s, trig_rdx.s, trig_tab.s, y0f.s, y1f.s,
ynf.s
fpw32\tran\axp64\acos.s, acosf.s, asin.s, asinacos.s, asinf.s, ata_tabs.s,
ata_tabt.s, atan2f.s, atan2s.s, atanf.s, atans.s, cabs.s, cabsf.s,
captcont.s, ceilf.s, ceils.s, chopt.s, copysgnf.s, cos_vo.s, cosf.s,
cosf_vo.s, cosh.s, coshf.s, coss.s, cot.s, cotf.s, dpml_com.s, expf.s,
exps.s, f_acos.s, f_acosf.s, f_asin.s, f_asinf.s, f_atan.s, f_atan2.s,
f_atan2f.s, f_atanf.s, f_cos.s, f_cosf.s, f_exp.s, f_expf.s, f_hypot.s,
f_hypotf.s, f_log.s, f_log10.s, f_log10f.s, f_logf.s, f_pow.s, f_powf.s,
f_sin.s, f_sincof.s, f_sincos.s, f_sinf.s, f_sqrt.s, f_sqrtf.s, f_tan.s,
f_tanf.s, fabsf.s, fabss.s, finitef.s, floorf.s, floors.s, fmodf.s,
fmods.s, fp_clasf.s, fpctrl.s, fpint.s, frexp.s, frexpf.s, frnd.s, huge.s,
hypotf.s, hypots.s, invtrigs.s, invtrigt.s, isnanf.s, j0f.s, j1f.s, jnf.s,
l10_tabt.s, ldexp.s, log10f.s, log10s.s, log_tabt.s, logbf.s, logf.s,
logs.s, modff.s, modfs.s, nextaftf.s, pow_tabt.s, powcerr.s, powf.s,
pows.s, rsqrt.s, rsqrtf.s, sin_tabt.s, sin_vo.s, sincofvo.s, sincos.s,
sincosf.s, sincosvo.s, sinf.s, sinf_vo.s, sinh.s, sinhcosf.s, sinhcosh.s,
sinhf.s, sins.s, specexp.s, specexpf.s, sqr_tabt.s, sqrtf.s, sqrts.s,
tan_tabt.s, tanf.s, tanh.s, tanhf.s, tans.s, trig_rdf.s, trig_rdx.s,
trig_tab.s, y0f.s, y1f.s, ynf.s
libw32\buildcrt.nt
libw32\tools\alpha\aliasobj.exe, detab.exe, ifstrip.exe, pd.exe, striphdr.exe,
tolwrupr.exe, trailing.exe, whackline.exe
Massive cleanup to remove all references to Alpha, MIPS, or PPC.
makefile
srcrel\external.mkf, mkclnmkf.c, objects.mkf, pd-b
Remove BBT/LEGO refs and targets (zst/zmt/zdll), since the release
build is already fully BBT-ready (full debug info).
-----------------------------------------------------------------
Sun 15-Jul-01 (PhilipLu)
log.txt -> log_v70.txt
Renamed old LOG.TXT from V7.0 and started a new LOG.TXT (this file).
-----------------------------------------------------------------
***************************************************************************
***************************************************************************
*** ***
*** This file contains the history for MSVC++ v7.1 (relative to v7.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. ***
*** ***
***************************************************************************
***************************************************************************