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.
 
 
 
 
 
 

6485 lines
231 KiB

***************************************************************************
***************************************************************************
*** ***
*** This file contains the change history for the MSVC++ v7.0 C/C++ ***
*** Run-Time Libraries (that is, modifications since since 6.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. ***
*** ***
***************************************************************************
***************************************************************************
-----------------------------------------------------------------
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).
-----------------------------------------------------------------
Tue 10-Jul-01 (PhilipLu)
crtw32\stdhpp\xstring
libw32\msvcprt.src
makefile
Get rid of all _RETAIN_OLD_CRT_CODE uses, for final VC7 LKG CRT.
-----------------------------------------------------------------
Tue 03-Jul-01 (GautamB)
crtw32\eh\frame.cpp
libw32\msvcrt.src syscrt.src syscrt64.src
VS7#275954 Added a new function CxxCallUnwindVecDtor for COM+ eh stuff.
-----------------------------------------------------------------
Fri 29-Jun-01 (PhilipLu)
makefile.sub
VS7#270726 CRT components which get distributed in binary form, not
source, must be compiled /Z7 instead of /Zi so the CRT rebuild creates
a usable PDB that won't produce LNK4099 warnings.
makefile
VS7#268410 Move msvc*.dll base address from 0x5d0?0000 to 0x7c0?0000.
-----------------------------------------------------------------
Sun 17-Jun-01 (PhilipLu)
crtw32\h\new.h
crtw32\stdhpp\new
libw32\inc64\new.h
libw32\include\new, new.h
Tweak Friday's checkin for VS7#237394 to better cooperate with the
VS build. Add declarations of nothrow_t placement new/delete ops to
<new.h>, and move those declarations in both <new> and <new.h> under
#ifndef __NOTHROW_T_DEFINED (so redef errors in VS build can be
avoided). Also, bracket headers <new> and <new.h> with
#pragma push_macro("new")/#undef new/.../#pragma pop_macro("new")
so VS attempts to #define new don't trash these headers.
-----------------------------------------------------------------
Fri 15-Jun-01 (PhilipLu)
crtw32\h\new.h
crtw32\heap\lsources, nothrow0.cpp [NEW]
crtw32\linkopts\lsources, sources, thrownew.cpp [NEW]
crtw32\stdcpp\lsources, sources.nt
crtw32\stdhpp\new
doc\copysrc.bat
libw32\inc64\new.h
libw32\include\new, new.h
libw32\msvcprt.src
makefile, makefile.inc
srcrel\makefile, mkclnmkf.c, msvc40.if, pd-b
[RENAMED/MOVED]
crtw32\stdcpp\delaop2.cpp -> crtw32\heap\delaopnt.cpp
crtw32\stdcpp\delop2.cpp -> crtw32\heap\delopnt.cpp
crtw32\stdcpp\newaop2.cpp -> crtw32\heap\newaopnt.cpp
crtw32\stdcpp\newop2.cpp -> crtw32\heap\newopnt.cpp
[DELETED]
crtw32\stdcpp\delaop2_s.cpp, delop2_s.cpp, newaop2_s.cpp, newop2_s.cpp
VS7#237394 Reconfigure global operator new/delete. We intentionally
have two versions of operator new. The main CRT defines a legacy
version that returns NULL on failure, the C++ Std Lib defines the
conformant version that throws std::bad_alloc on failure.
The first problem is that it is possible to get the wrong version
linked into a program. If an app links to the C++ Std Lib, it must
use the throwing version of new, since the C++ Std Lib doesn't check
for null returns on memory allocations, instead assuming exceptions
will be used. Usually, the order of /defaultlib directives in objects
will cause the correct throwing new to be loaded, but it is possible
for this to fail. To work around that, I'm adding a new linkopts
object, thrownew.obj. Explicitly linking in thrownew.obj will forcibly
use a throwing version of new.
The second problem concerns the difficulty in producing a .lib which
can't be sure if it will end up linked to the throwing or non-throwing
version of new (e.g. third-party libs). Such a lib may not want to
force a dependency on the Std C++ Lib, but still want to work in case
the final link module uses the Std C++ Lib. The proper way to handle
this is for that third-party lib to use the nothrow_t placement new,
which will always return NULL on failure.
To make that work and still not force a dependency on the Std C++ Lib,
nothrow_t placement new and associated routines are moved out of the
Std C++ Lib and into the main CRT. In addition, constant std::nothrow
is also moved into the main CRT, while still being left in the Std C++
Lib for backwards-compatibility (it was exported from the DLL).
-----------------------------------------------------------------
Fri 15-Jun-01 (GautamB)
crtw32\eh\frame.cpp
Added stubs for IA64 com+ nothing working yet.
-----------------------------------------------------------------
Fri 15-Jun-01 (PhilipLu)
crtw32\startup\mlock.c, tidtable.c
VS7#267669/Windows#414059 _mtinit needs to call _mtterm to free
resources if a failure is encountered.
-----------------------------------------------------------------
Wed 13-Jun-01 (PhilipLu)
crtw32\string\i386\_memicmp.asm, _stricmp.asm, _strnicm.asm, memccpy.asm,
memchr.asm, memcmp.asm, memcpy.asm, memset.asm, strcat.asm, strchr.asm,
strcmp.asm, strlen.asm, strncat.asm, strncmp.asm, strncpy.asm, strnset.asm,
strrchr.asm, strrev.asm, strset.asm, strspn.asm, strstr.asm
VS7#267015 Replace INC/DEC by ADD/SUB by 1 in string/memory .asm
routines, for better Pentium 4 performance.
crtw32\h\conio.h, excpt.h, fpieee.h, rtcapi.h, setjmp.h, wchar.h
crtw32\h\i386\emmintrin.h
libw32\include\conio.h, emmintrin.h, excpt.h, fpieee.h, rtcapi.h, setjmp.h,
wchar.h
libw32\inc64\conio.h, excpt.h, fpieee.h, rtcapi.h, setjmp.h, wchar.h
VS7#267063 Fix headers usable by C code so /Za /W4 won't warn.
Primarily, get rid of C++-style comments.
-----------------------------------------------------------------
Mon 11-Jun-01 (PhilipLu)
crtw32\stdhpp\exception
libw32\include\exception
makefile
VS7#266694 Fix user CRT rebuild so the no-exceptions configuration
supplied by Dinkumware (-D_HAS_EXCEPTIONS=0) at least builds. The
user rebuild makefile can now be invoked with STDCPP_NOEH=YES to
enable the no-exceptions build, and header <exception> has been
fixed so the _HAS_EXCEPTIONS=0 branch will actually build. No testing
has been done to verify any sort of usability of this configuration,
which is undocumented and unsupported for VC7.0, but since it is
discoverable by anyone perusing the source, I decided to go ahead and
fix the build.
-----------------------------------------------------------------
Mon 11-Jun-01 (GautamB)
fpw32\tran\ia64\ieee.c
VS7#216001 Added support for Flush-to-Zero mode using _controlfp().
-----------------------------------------------------------------
Wed 06-Jun-01 (PhilipLu)
crtw32\stdhpp\xutility
libw32\include\xutility
VS7#256042 The global function operator- for the diff of two
std::reverse_iterator instances was returning a size_t instead of a
ptrdiff_t.
makefile
VS7#264114 Debug CRT DLLs need to be built /debugtype:cv,fixup, not
just /debugtype:cv, for proper Vulcan support. Also, strip all
references to /debugtype out of the makefile that gets shipped for the
user CRT rebuild, since this is an undocumented linker switch.
-----------------------------------------------------------------
Tue 05-Jun-01 (PhilipLu)
crtw32\heap\resetstk.c
VS7#264306 _resetstkoflw() should not attempt to shrink the committed
stack. Also, it should not do anything if a guard page is already
present. Done so the WinXP app verifier /stacks will work.
-----------------------------------------------------------------
Wed 15-May-01 (tentzen)
crtw32\h\stdarg.h
libw32\inc64\stdarg.h
libw32\include\stdarg.h
Implement va_start, va_arg, and va_end as intrinsics for IJW/IA64.
To simplify BE code generation, _APALIGN(t,ap) is passed as 3rd parameter
in va_arg() intrinsic instead of __builtin_alignof(t). This part need be
fixed once COM+ start supporting va-arg family.
-----------------------------------------------------------------
Wed 09-May-01 (SHanson, PhilipLu)
crtw32\h\string.h, wchar.h
crtw32\string\ia64\memcpy.s, memmove.s [NEW]
crtw32\string\lsources, sources.nt
libw32\inc64\string.h, wchar.h
libw32\include\string.h, wchar.h
libw32\msvcrt.src, syscrt.src, syscrt64.src
makefile, makefile.inc
srcrel\objects.mkf, pd-b
VS7#195834 (sort of) Replace IA64 memcpy and memmove, and move memcpy,
memmove, and memset so they are static-link components of the IA64 CRT
DLL, to avoid the overhead of calling into the DLL. Maintain the
existing exports of these routines from the DLL for old code. Also,
since memmove used to be dllimport, keep the __imp_ definition in the
implib by marking memmove as a DATA export in the def files, allowing
existing .obj files to find the necessary definition.
-----------------------------------------------------------------
Mon 07-May-01 (PhilipLu)
crtw32\stdhpp\fstream
libw32\include\fstream
VS7#249553 Bad interaction between wifstream and tellg turned out to
be bugs in basic_filebuf::seekoff and seekpos, which failed to properly
handle pushback characters (which get used all the time for wchar_t
streams).
-----------------------------------------------------------------
Thu 03-May-01 (PhilipLu)
crtw32\stdhpp\xlocale
libw32\include\xlocale
VS7#248580 I recently changed std::_Maklocstr, adding a 3rd argument
of type std::_Locinfo::_Cvtvec&. That's illegal under /Za, since a
non-const ref can only be bound to an lvalue. The arg should have been
const std::_Locinfo::_Cvtvec&.
crtw32\stdhpp\list, vector
libw32\include\list, vector
VS7#248877 The ctors for std::vector(size_type _Count) and
std::list(size_type _Count) could both potentially leak resources if
constructing the default fill value threw.
-----------------------------------------------------------------
Wed 02-May-01 (PhilipLu)
crtw32\h\i386\ivec.h
libw32\include\ivec.h
VS7#239974 Disable C4799 inside ivec.h if _SILENCE_IVEC_C4799 is defined.
As written, this header will generate that warning, but that is to be
expected, since the code uses MMX intrinsics without an EMMS or _m_empty
in each function. Allow users to shut up the warning, but don't do so
unconditionally, since clients of ivec.h need to understand the potential
for problems if they don't use EMMS in their own code.
-----------------------------------------------------------------
Wed 02-May-01 (GautamB)
crtw32\rtc\error.cpp
makefile
VS7#241349 Removed the runtmchk.lib dependencies on CRT by adding obj to
runtmchk.lib. earlier runtmchk.lib was same as rtc.lib but now it also
includes exsup.obj exsup3.obj sehprolog.obj chkstk.obj.
-----------------------------------------------------------------
Thu 26-Apr-01 (GautamB)
crtw32\eh\frame.cpp
VS7#236286 Fixed a problem with a rethrow without a throw and catch(...)
-----------------------------------------------------------------
Wed 25-Apr-01 (PhilipLu)
crtw32\misc\initcrit.c
VS7#244210 It isn't safe to call LoadLibrary/FreeLibrary during DllMain,
so use GetModuleHandle instead in __crtInitCritSecAndSpinCount.
-----------------------------------------------------------------
Tue 24-Apr-01 (PhilipLu)
crtw32\rtc\error.cpp
crtw32\stdhpp\xlocale
libw32\include\xlocale
makefile
langapi\undname\testundn.mak, undname.inl, undname.mak
VS7#243471 Build the CRT with /Zc:forScope, and get rid of all
instances of non-conformant for scoping in the build. Also change the
standalone makefiles used for langapi\undname to use /Zc:forScope, to
prevent CRT build problems appearing after FE checkins to undname.
-----------------------------------------------------------------
Thu 19-Apr-01 (PhilipLu)
crtw32\h\malloc.h
crtw32\heap\resetstk.c
libw32\include\malloc.h
libw32\inc64\malloc.h
VS7#239962 _resetstkoflw did not work on Win9x. Simplified some tests
which were not correct for Win9x, tweaked the test for attempting to
set a guard page too low (Win9x and WinNT have different requirements),
and set a guard page as PAGE_NOACCESS instead of PAGE_GUARD for Win9x.
Also changed the return from void to int, and return a nonzero success
code if the stack reset worked.
-----------------------------------------------------------------
Fri 13-Apr-01 (KarlSi)
makefile
VS7#233650 Move the location of the VC CRT build's DLL PDB files out
of the dll_pdb subdirectory, back to the same directory as the DLLs.
Part of allowing the build lab to build VC CRTs without full paths
in the PDB info. For now, the Sys CRTs still have their DLL PDB files
down under dll_pdb.
-----------------------------------------------------------------
Fri 13-Apr-01 (GautamB)
crtw32\eh\frame.cpp
VS7#236286 Fixed problem of rethrow of Seh to be caught by __except.
-----------------------------------------------------------------
Fri 13-Apr-01 (PhilipLu)
crtw32\stdhpp\complex, sstream, xlocmon, xstring
libw32\include\complex, sstream, xlocmon, xstring
libw32\msvcprt.src
VS7#226252 Remove explicit dllexport/import of some internal template
base classes (_Complex_base, _Mpunct, _String_val), now that the C++
frontend will implicitly apply dllexport/import for these base classes.
More importantly, stop dllimporting std::allocator just because xstring
has been included. That breaks people who define their own operator
new, and expect that new to be used for STL collection classes. That
wasn't happening in modules that included xstring, but was for other
modules, leading to cross-heap delete crashes.
std::allocator is not a base class of basic_string; it's a member of
the _String_val base class. So the fix here is to get rid of the
explicit _CRTIMP2 specialization of allocator in xstring, and to
disable the C4251 warning complaining about an object member not being
dllimport in a class that is dllimport. That warning isn't a problem
here, because every use of the allocator member is within a member
function that will be dllimported, and thus hidden away.
Until the next LKG update, the C++ CRT DLL must still export the
allocator members, but these are now private exports so they don't
appear in the implib.
-----------------------------------------------------------------
Thu 12-Apr-01 (PhilipLu)
crtw32\stdcpp\wlocale.cpp
crtw32\stdhpp\xlocale, xlocmon, xlocnum, xloctime
libw32\include\xlocale, xlocmon, xlocnum, xloctime
VS7#230612 The Dinkumware code had a number of problems with wchar_t
facets in Asian locales that use MBCS. Underneath the wchar_t facet,
all real work was done in MBCS, but the conversion between Unicode and
MBCS didn't handle leadbytes at all. Fixes were made to _MAKLOCSTR,
ctype<wchar_t>::do_widen & do_narrow, and time_put<wchar_t>::do_put.
-----------------------------------------------------------------
Mon 09-Apr-01 (PhilipLu)
crtw32\stdcpp\iosptrs.cpp, locale.cpp, locale0.cpp
crtw32\stdhpp\xlocale, xmemory
libw32\msvcprt.src
Remove code under _RETAIN_OLD_CRT_CODE that isn't needed now that the
9176 LKG update has taken place. There is still some code present
under _RETAIN_OLD_CRT_CODE, for the 21-Mar-01 checkin.
crtw32\stdhpp\cctype, cerrno, clocale, cmath, csetjmp, csignal, cstdarg,
cstddef, cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque,
exception, hash_map, hash_set, list, map, memory, set, typeinfo, vector,
xdebug, xhash, xmemory, xstring, xtree, yvals.h
crtw32\tools\win32\relinc.if, relinc64.if
libw32\include\cctype, cerrno, clocale, cmath, csetjmp, csignal, cstdarg,
cstddef, cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque,
exception, hash_map, hash_set, list, map, memory, set, typeinfo, vector,
xdebug, xhash, xmemory, xstring, xtree, yvals.h
Remove references to _GLOBAL_USING and _HAS_MEMBER_TEMPLATES_REBIND,
now that the LKG update has picked up these being permanently enabled.
All code under the #if arms for these names not set has been removed,
at the request of Dinkumware.
-----------------------------------------------------------------
Mon 09-Apr-01 (GautamB)
crtw32\eh\frame.cpp
VS7#234115 uncaught_exception was not working for CLR. Fixed it.
-----------------------------------------------------------------
Fri 06-Apr-01 (PhilipLu)
crtw32\dllstuff\crtlib.c
VS7#235781 If CRT DLL is unloading without doexit() having been called
already, then we need to call _cexit, not _c_exit, to make sure all the
terminators are called (flush stdio, remove tmpfiles, ...). This can
happen more easily now with the URT dynamically loading and unloading
the CRT DLL for C#/VB calling into the CRT DLL via P/Invoke.
fpw32\tran\i386\87cdisp.asm
VS7#132450 sinh was incorrectly reporting an _UNDERFLOW error to
_matherr on denormal inputs. Turns out the internal error handling
for the CHECKOVER case was doing the same thing as the CHECKRANGE case,
checking for overflow and underflow, when it's supposed to only look
for overflow. CHECKOVER is only used by sinh and cosh, and cosh will
never underflow, since cosh(x) >= 1, so sinh is the only FP API that
could be hit by this longstanding (1992 or so) bug.
-----------------------------------------------------------------
Thu 05-Apr-01 (PhilipLu)
crtw32\stdhpp\xhash
libw32\include\xhash
PJP noticed an additional change, to _Hash<T>::clear(), that was
missing in the Mar 25 and Apr 4 updates.
-----------------------------------------------------------------
Wed 04-Apr-01 (PhilipLu)
crtw32\convert\tolower.c, toupper.c
crtw32\stdcpp\_tolower.c, _toupper.c
crtw32\stdcpp64\_tolower.c, _toupper.c
VS7#232853 _tolower, _toupper, and the Dinkumware equivalents, when
returning a double-byte char, were returning (leadbyte + trailbyte<<8).
It's supposed to be (leadbyte<<8 + trailbyte).
crtw32\stdhpp\xhash
libw32\include\xhash
VS7#233708 The fix for 230612 on Mar 25 was incomplete, breaking
hash_map. Fix _Hashval() to use _Mask instead of _Vec.size().
-----------------------------------------------------------------
Wed 28-Mar-01 (PhilipLu)
crtw32\bsku\bsku.cpp
crtw32\dllstuff\atonexit.c, crtexe.c, crtlib.c, dll_argv.c, dllargv.c
crtw32\eh\unhandld.cpp
crtw32\h\internal.h
crtw32\linkopts\noarg.c, noenv.c, setargv.c, wsetargv.c
crtw32\lowio\ioinit.c
crtw32\mbstring\mbctype.c
crtw32\misc\charmax.c, lcnvinit.c, onexit.c
crtw32\startup\crt0.c, crt0dat.c, crt0init.c, dllcrt0.c, stdargv.c, stdenvp.c
crtw32\stdio\_file.c
crtw32\time\clock.c
fpw32\tran\i386\cpu_disp.c
VS7#231220 Stop almost all instances of _amsg_exit fatal errors from
showing up in the CRT DLL or a DLL linked with the CRT DLL. Make all
the various startup routines, including those in the .CRT$XI* startup
array, return errors back to the DllMain or mainCRTStartup level instead
of calling _amsg_exit. EXEs will still call _amsg_exit, but now from
the mainCRTStartup level. DLLs, include the CRT DLL, will now just
return FALSE from DLL_PROCESS_ATTACH, failing the load.
One subtlety here: the .CRT$XI* array is processed in EXEs linked to
the CRT DLL, but not in DLLs linked to the CRT DLL. That's because
the only possible .CRT$XI* entry in these circumstances will be for
__lconv_init, if the component was compiled with -J. We only want to
run that initializer for an EXE, not a DLL, because DLLs linked to the
CRT DLL should not override the localeconv() settings of an EXE linked
to the CRT DLL. Since __lconv_init is the only possible entry here,
and it never returns an error, we will process the .CRT$XI* array in
the EXE startup with _initterm instead of _initterm_e (which will
propogate an error code back), so any error will go undetected. That
means we don't have to add a new export to the CRT DLL that would
damage backwards-compatibility.
Of course none of this confusing behavior was documented in the code.
It is now.
crtw32\dllstuff\crtlib.c
crtw32\heap\heapinit.c
crtw32\misc\assert.c, dbgrpt.c, secfail.c, seclocf.c
crtw32\rtc\pdblkup.cpp
crtw32\startup\crt0msg.c, stdargv.c
VS7#231284 GetModuleFileName will not zero-terminate the output buffer
when a name must be truncated to fit. None of the CRT calls to GMFN
accounted for that, exposing them to buffer-overrun problems.
-----------------------------------------------------------------
Tue 27-Mar-01 (PhilipLu)
crtw32\dllstuff\crtlib.c
crtw32\rtc\error.cpp
crtw32\startup\crt0.c, dllcrt0.c
VS7#230286 Always use GetVersionExA, not GetVersionEx, so we don't run
into problems running on Win9x.
srcrel\pd-b
[DELETED:]
crtw32\dllstuff\i386\cinitexe.a, cinitexe.mak
crtw32\lowio\i386\cinitcon.a
crtw32\misc\i386\cinitone.a
crtw32\startup\i386\crt0init.a, crt0init.mak
crtw32\stdio\i386\cinitstd.a, cinittmp.a
crtw32\time\i386\cinitclk.a
Get rid of ancient files that haven't been used since 1994 or so. An
early part of the fix for VS7#231220.
-----------------------------------------------------------------
Mon 26-Mar-01 (PhilipLu)
crtw32\stdhpp\xdebug
libw32\include\xdebug
Back out Saturday's VS buildfix, now that compiler bug VS7#230468 has
been fixed.
-----------------------------------------------------------------
Sun 25-Mar-01 (PhilipLu)
crtw32\h\mtdll.h, setlocal.h
crtw32\misc\inittime.c
crtw32\time\strftime.c
VS7#196892 strftime specifiers %c, %x, and %X return a time formatted
accorded to the current locale data, as specified in the Regional
Settings control panel page, but we weren't handling these correctly.
For calendars more complicated than the basic localized Gregorian, we
can't simply translate the locale formatting string ourself, since it
assumes a large base of knowledge of era/period strings, modified
years, etc. (e.g. this is year 4334 according to one of the Korean
calendar types). For these types, we should just call Win32 APIs
GetDateFormat/GetTimeFormat to handle the formatting. I'm not doing
this for calendar type 1, localized Gregorian, because that seems a
bit riskier in that we might slightly change the existing output when
what we're doing now is fine.
Also fixed the handling of leading zero suppression in _store_winword,
which handles these localized date/time formats (now for calendar type
1 only). Previously, leading zero suppression wasn't happening at all,
which became clear when I compared the results against that returned
by GetDateFormat/GetTimeFormat.
crtw32\stdhpp\xhash
libw32\include\xhash
VS7#230612 P. J. Plauger sent me a fix for a bug a customer of his
recently ran into. The hash_set/hash_map containers could hit an
infinite loop. In the test case, this happened after a specific list
of about 250 inserts and erases.
-----------------------------------------------------------------
Sat 24-Mar-01 (PhilipLu)
crtw32\stdhpp\xdebug
libw32\include\xdebug
Rolling VS buildfix. Work around compiler bug VS7#230468 exposed by
fix for VS7#201153. Don't declare placement vector operator new/delete
in case non-placement vector new/delete aren't declared. Workaround
will be removed in a day or two.
crtw32\startup\stdargv.c, wincmdln.c
VS7#229081 _acmdln and _wcmdln can be NULL under certain error
conditions, so check them before dereferencing.
crtw32\stdhpp\xlocinfo.h
libw32\include\xlocinfo.h
Add _CRTIMP2 and _CRTIMP to various prototypes in xlocinfo.h.
crtw32\stdhpp\xutility, yvals.h
libw32\include\xutility, yvals.h
Move _cpp_max/_cpp_min #defines from yvals.h to xutility.
crtw32\h\fpieee.h
libw32\include\fpieee.h
libw32\inc64\fpieee.h
Remove workaround for x86 backend bug #163574, error using
__declspec(align) on function parameters (I think).
crtw32\stdhpp\exception
libw32\include\exception
Remove workaround for VS7#227182, VS build problem caused by the
VC debugger having a header named eh.h, the same as a CRT header.
The debugger team has deleted the unneeded header.
crtw32\startup\tlssup.c
The pointer to the callback array in the IMAGE_TLS_DIRECTORY is off by
one, pointing at a NULL, so dynamic TLS inits never had a chance of
working. Bump the pointer to the first actual function pointer. Still
need linker and frontend work to really enable this, which will have to
wait for post-VC7.0.
-----------------------------------------------------------------
Fri 23-Mar-01 (PhilipLu)
crtw32\rtc\error.cpp
crtw32\stdhpp\sstream, streambuf, strstream
libw32\include\sstream, streambuf, strstream
Rolling buildfix. More /Wp64 warnings just got enabled at /W3 and
are firing in RTC and I/O Streams code, so add more casts to shut
them up.
crtw32\stdcpp\_tolower.c, ios.cpp, locale.cpp, locale0.cpp, lsources,
sources.nt, strstrea.cpp, wlocale.cpp, xdebug.cpp [NEW], xlocale.cpp,
xmutex.cpp
crtw32\stdhpp\fstream, locale, streambuf, xdebug [NEW], xlocale, xlocmes,
xlocmon, xlocnum, xloctime
crtw32\time\strftime.c
crtw32\tools\win32\relinc.cmd
doc\copysrc.bat
libw32\include\fstream, locale, streambuf, xdebug [NEW], xlocale, xlocmes,
xlocmon, xlocnum, xloctime
srcrel\pd-b
makefile.inc
VS7#201153 Customers trying to use _CrtDumpMemoryLeaks() instead of
_CRTDBG_LEAK_CHECK_DF were seeing all the internal allocations for the
C++ Standard Library appearing as leaks. The C++ library needed to
make all internal allocations _CRT_BLOCKs, so they are ignored by the
leak detection routines. That includes defining derivatives of
std::allocator and std::basic_string that use the debug CRT heap with
_CRT_BLOCK tagging.
-----------------------------------------------------------------
Thu 22-Mar-01 (PhilipLu)
crtw32\h\crtdbg.h, mtdll.h
crtw32\misc\dbgrpt.c
crtw32\startup\mlock.c
libw32\inc64\crtdbg.h
libw32\include\crtdbg.h
VS7#124998 Implement _CrtSetReportHook2. Uses a doubly-linked list to
record registered debug report hook functions. The original function,
_CrtSetReportHook, doesn't meet ATL Server's needs when DLLs try to
register hooks, but cannot guarantee hooks will be added and removed
in LIFO order. In that case, we can end up pointing at a hook function
that has been unloaded.
-----------------------------------------------------------------
Wed 21-Mar-01 (PhilipLu)
crtw32\eh\stdexcpt.cpp
crtw32\h\typeinfo.h
crtw32\stdhpp\exception, new, stdexcept, typeinfo
libw32\inc64\typeinfo.h
libw32\include\exception, new, stdexcept, typeinfo, typeinfo.h
libw32\msvcprt.src, msvcrt.src, syscrt.src, syscrt64.src
makefile
VS7#5327, #5417, #127825 Make a set of exception classes used for RTTI
support, ::bad_cast, ::bad_typeid, and ::__non_rtti_object, identical
to those names in the std namespace, via using directives. Trickier
than it sounds, because the preexisting global and std namespace
definitions were not identical, and I need to preserve the same class
layout and exported methods as existed previously. The slimiest hack
involves the need for ::bad_cast to now have two incompatible ctors,
bad_cast(const char*) and bad_cast(const char* const&). The latter was
the only ctor before, but the former had to be added so std::bad_cast
kept its preexisting ctor. I got rid of bad_cast(const char* const&),
added a private ctor bad_cast(const char* const*), and since the two
of those have identical codegen, added an alias '=' declaration in the
.def file for the main CRT DLL.
The .def file for the C++ DLL now has a number of forwarder lines, e.g.
??1bad_cast@std@@UAE@XZ = BASECRT.??1bad_cast@@UAE@XZ PRIVATE
to preserve the existing exports from that DLL. These can be removed
once the next LKG update with this code takes place.
The stdhpp changes are to put _Doraise, a protected virtual member of
the exception hierarchy classes in the Dinkumware code, under control
of "#if !_HAS_EXCEPTIONS", since this function is only used by the
special non-throwing version of the C++ Library, which does not need
to use the main CRT's exception classes.
crtw32/stdcpp/stdthrow.cpp
Minor bug noticed while working on the previous checkin. A reference
to stderr should be to _cpp_stderr, for _STATIC_CPPLIB compatibility.
This wasn't detected before because stdthrow is only used for a C++
Library build with _HAS_EXCEPTIONS == 0, which we don't use.
-----------------------------------------------------------------
Tue 20-Mar-01 (PhilipLu for KFrei)
crtw32\rtc\error.cpp, pdblkup.cpp
makefile
VS7#227306 Fix buffer overrun problems in RTC support, and configure
so /GS will not insert cookie checks in any RTC support code, by using
_alloca to allocate any local string buffers.
VS7#224261 Reenable /GS in the CRT build. The static link components
of the msvcrt[d].lib implib must not have any /GS checks in them, since
that adds new dependencies to user code that wasn't previously needing
to run the CRT startup code. Now that the /GS checks in RTC have been
removed, /GS is OK.
srcrel\external.mkf, makefile
A request from the build lab. Unconditionally clear _CL_ in these
makefiles if we're doing a cross-hosted CRT build (i.e. IA64 CRT built
on x86). These makefiles are used to build native-hosted tools needed
during the CRT build, and the lab uses _CL_ to point to the boot-phase
cross-compiler passes during the self-build. Right now, clearing _CL_
is under a define set by the lab only, but they're changing the define
and there's no good reason this can't be unconditional.
-----------------------------------------------------------------
Sun 18-Mar-01 (PhilipLu)
crtw32\stdhpp\exception
libw32\include\exception
VS7#5283 Names terminate, set_terminate, terminate_handler, unexpected,
set_unexpected, and unexpected_handler all need to be placed in
namespace std, as well as the global namespace where they exist now.
crtw32\h\stdexcpt.h
libw32\include\stdexcpt.h
libw32\inc64\stdexcpt.h
Cleanup noticed while making the change for VS7#5283. There's a block
of code that's been under an "#elif 0" for 5 years. It can be removed.
crtw32\h\cruntime.h, new.h
crtw32\heap\setnewh.cpp
crtw32\stdcpp\stdhndlr.cpp
crtw32\tools\win32\relinc.if, relinc64.if
libw32\msvcrt.src, syscrt.src
libw32\include\new.h
srcrel\msvc40.if
VS7#194908 Headers new.h and new were incompatible if you tried to use
set_new_handler. The main CRT had an archaic version of
::set_new_handler, in setnewh.cpp, which asserted if you passed in
anything except NULL. This has been superceded by the implementation
of std::set_new_handler in the Dinkumware-supplied stdhndlr.cpp, but
the headers botched forcing any use of set_new_handler to the std one.
Fixed so including <new> will define std::set_new_handler and
std::new_handler, while including <new.h> will define those two names,
and inject them with using directives as ::set_new_handler and
::new_handler.
setnewh.cpp, with the old definition of ::set_new_handler, is retained
for backwards compatibility with old binaries, but this routine is
no longer available through the headers. The old function is forcibly
exported from the main CRT DLL.
Defined _USE_OLD_STDCPP in cruntime.h when the old stdcpp64/stdhpp64
files are used, so the changes to new.h can be done only when using
stdcpp/stdhpp instead. Configured the relinc process so the include
files for Win64 syscrts use the old new.h definitions, everything else
uses the new ones.
crtw32\stdhpp\new
libw32\include\new
Noticed while making the change for VS7#194908 that the fix for
VS98#18416 had been undone. A declaration of a non-existant "_New_hand"
had slipped back into the header.
makefile
Back out the actual makefile enabling of /GS that was checked in
yesterday. The VS build is failing because of the extra CRT
dependencies this causes, and I need to investigate why.
-----------------------------------------------------------------
Sat 17-Mar-01 (PhilipLu)
crtw32\dllstuff\crtlib.c
crtw32\startup\crt0.c, dllcrt0.c
makefile
VS7#224261 Turn on /GS in the x86 CRT. Not totally trivial, because
the startup code that initializes the global guard cookie can't trigger
the compiler's local buffer overrun guard logic, since the global cookie
on entry will differ from that on exit. Worked around by allocating the
OSVERSIONINFO via _alloca.
crtw32\stdhpp\xloctime
libw32\include\xloctime
VS7#159194 Addition to Dinkumware drop 3.10. The time_get facet was
not accepting dates in the same format as time_put was outputting.
crtw32\stdhpp\streambuf
libw32\include\streambuf
Tweak to the Dinkumware drop 3.10, to bring changes I made in line with
the official Dinkumware version. Just moved a _Mutex base class in
basic_streambuf to be the first data member instead, and added _Lock
and _Unlock non-virtual member functions.
-----------------------------------------------------------------
Fri 16-Mar-01 (PhilipLu)
crtw32\stdhpp\complex, fstream, ios, istream, locale, ostream, sstream,
streambuf, string, xcomplex, xlocale, xlocmes, xlocmon, xlocnum, xloctime,
xstring
crtw32\tools\win32\relinc.if, relinc64.cmd, relinc64.if [new]
libw32\include\complex, fstream, ios, istream, locale, ostream, sstream,
streambuf, string, xcomplex, xlocale, xlocmes, xlocmon, xlocnum, xloctime,
xstring
VS7#216778 The frontend now allows "template class __declspec(dllimport)
myclass<char>" to mean an explicit specialization should be imported from
a DLL. Previously, you needed to say "extern" at the front of that, which
was an extension, so using it failed under /Za with an error, and under /Ze
you got a C4231 warning. Since the frontend has changed, I've removed the
unneeded extern, along with the pragmas to suppress C4231, allowing the
C++ Standard Library headers to be used /Za /MD[d].
The relinc changes are necessary because now the stdhpp header cleanse
treats __FORCE_INSTANCE as always on, but stdhpp64 must still treat it
as always off. The same relinc.if can no longer be used for both sets
of headers.
-----------------------------------------------------------------
Thu 15-Mar-01 (PhilipLu)
langapi\undname\testundn.cxx, undname.cxx
VS7#5674 Fix of 10-Dec-99 was incomplete. We should use a lock in
__unDNameEx as well as __unDName. Also, added a -x switch to testundn,
the undecorator verification test app, to test __unDNameEx instead of
__unDName. Added heap leak detection to testundn, too, to head off
future problems (no leaks currently).
-----------------------------------------------------------------
Wed 14-Mar-01 (PhilipLu)
crtw32\stdhpp\xmemory
VS7#225243 As part of the 3.10 Dinkumware integration, I removed some
stuff under _RETAIN_OLD_CRT_CODE that I thought was unnecessary. I was
wrong. The code removed is needed until the next LKG update, when the
LKG headers will pick up the enabling of _HAS_MEMBER_TEMPLATES_REBIND.
crtw32\string\strlwr.c
VS7#224860 _strlwr will leak the heap buffer malloc'd if _alloca can't
be used because the stack is almost full. Also some minor formatting
and comment changes to make this file and strupr.c look the same.
crtw32\lowio\getch.c
VS7#224864 _kbhit will leak the heap buffer malloc'd if _alloca can't
be used because the stack is almost full.
crtw32\stdio\input.c
VS7#224990 _input/_winput should only allocate the bit map used for
handling the %[...] spec the first time one of those is seen. The code
was allocating it each time, leaking 8K for the _winput case when the
stack was almost full and malloc was used instead of _alloca.
crtw32\string\strupr.c
VS7#224974 _strupr has a race condition because it passes 0 instead of
the proper per-thread codepage to __crtLCMapStringA. If another thread
changes the global locale between entry to _strupr and the load of the
locale in __crtLCMapStringA, the wrong codepage will be used. Also
some minor formatting and comment changes to make this file and
strlwr.c look the same (which is how this turned up).
-----------------------------------------------------------------
Tue 13-Mar-01 (PhilipLu)
crtw32\stdcpp\_tolower.c, _toupper.c
VS7#190902 std::ctype<>::tolower and toupper use helper functions
_Tolower and _Toupper, which take a pointer to the ctype's locale info,
which may not match the current C library's global locale. But the
helpers weren't using that specific locale when checking if a character
below 0x100 was upper/lowercase.
crtw32\stdcpp\newop2.cpp
VS7#112077 The nothrow version of operator new needs to call malloc
under the try/catch, instead of just calling _callnewh there. That's
because malloc can itself call _callnewh, if _set_new_mode(1) is active.
crtw32\stdcpp\newop.cpp, newop2.cpp
VS7#221760 _callnewh needs to be marked throw(...), so the optimizer
won't discard the try/catch in the nothrow version of operator new.
Also fixed the _callnewh prototype in the throwing operator new for
consistency.
-----------------------------------------------------------------
Mon 12-Mar-01 (PhilipLu)
crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop2.cpp, delop2.cpp,
fiopen.cpp, instances.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
locale.cpp, locale0.cpp, newaop.cpp, newaop2.cpp, newop2.cpp, nomemory.cpp,
nothrow.cpp, raisehan.cpp, stdhndlr.cpp, stdthrow.cpp, string.cpp,
strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp, wclog.cpp, wcout.cpp,
wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp, xcosh.c, xdateord.cpp,
xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c, xfdscale.c,
xfdtest.c, xferaise.c, xfexp.c, xfsinh.c, xfvalues.c, xgetwctype.c,
xlcosh.c, xldnorm.c, xldscale.c, xldtest.c, xlexp.c, xlocale.cpp,
xlock.cpp, xlpoly.c, xlsinh.c, xlvalues.c, xmath.h, xmbtowc.c, xmtx.c,
xmtx.h, xmutex.cpp, xpoly.c, xsinh.c, xstod.c, xtowlower.c, xtowupper.c,
xvalues.c
crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
iso646.h, istream, iterator, limits, list, locale, map, memory, new,
numeric, ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf,
string, strstream, utility, valarray, vector, xcomplex, xhash, xiosbase,
xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
iso646.h, istream, iterator, limits, list, locale, map, memory, new,
numeric, ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf,
string, strstream, utility, valarray, vector, xcomplex, xhash, xiosbase,
xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
xmath.h, xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
Integrate the 010208 drop of the Dinkumware C++ Library, version 3.10.
Fixes bugs VS7#150517 and 157130. Also has a start of the fix for
VS7#188201, but the fix appears to need more work. Most of the work is
some internal framework shuffling to make sure lazy facets aren't
leaked.
crtw32\stdhpp\xutility
libw32\include\xutility
VS7#188201 Permit comparisons between an iterator on the LHS and the
corresponding const_iterator on the RHS, for _Ptrit-based iterators.
The opposite order, const_iterator on the LHS, already worked fine
because we have a ctor that will convert the non-const iterator to the
corresponding const_iterator. For non-const on the left, add global
template functions that match non-const LHS, const RHS and invert the
comparison order so the RHS will get converted to a const_iterator.
crtw32\h\i386\dvec.h, fvec.h, ivec.h
libw32\include\dvec.h, fvec.h, ivec.h
VS7#127210 The Intel-supplied headers [dfi]vec.h, for easier access
to the MMX/SSE/SSE2 intrinsics, used the old I/O streams, and thus
got a deprecated warning when used. Switched to using the supported
Dinkumware I/O streams instead, and moved all the uses under an #ifdef
_ENABLE_VEC_DEBUG, since we don't want to require compiling /GX or
bloating the code whenever these are used.
Also fixed level 1 warnings and a "cout <<" instead of "os <<" that
I ran across while fixing this.
-----------------------------------------------------------------
Fri 09-Mar-01 (PhilipLu)
eh\i386\lowhelpr.asm
misc\i386\exsup.asm, exsup3.asm
VS7#221754 Add .FPO directives to the asm code that calls into the user
code for C++ EH and SEH, so callstacks are correct. Added FPO data for
_CallSettingFrame, _except_handler3, _abnormal_termination, and
_local_unwind2.
makefile, makefile.inc, makefile.sub
Fix and clean the user-rebuild makefiles. My 26-Feb change to the CRT
build broke the user CRT rebuild scenario when the path to the include
directory has spaces in it, as is the default. I needed to put quotes
around $(VCTOOLSINC) in the recursive make invocations. I also noticed
some text in the cleansed makefiles which shouldn't have been there.
There were references to BLD_SYSCRT and DEVBUILD, as well as to the
stdcpp64 directory and some private CRT build tools. Removed them all
using additional STRIPLIN comments.
-----------------------------------------------------------------
Thu 08-Mar-01 (PhilipLu)
crtw32\h\math.h
fpw32\tran\ceil.c, floor.c, lsources, modf.c, sources.nt
fpw32\tran\i386\87ctran.asm, atan.asm, atan_pentium4.asm [NEW],
atan_table.c [NEW], ceil_pentium4.asm [NEW], cpu_disp.c [NEW],
disp_pentium4.inc [NEW], exp_pentium4.asm [NEW], floor_pentium4.asm [NEW],
ftol2.asm [NEW], libm_error.c [NEW], libm_support.h [NEW], log.asm,
log10_pentium4.asm [NEW], log_pentium4.asm [NEW], modf_pentium4.asm [NEW],
pow.asm, pow_pentium4.asm [NEW]
libw32\inc64\math.h
libw32\include\math.h
libw32\msvcrt.src, syscrt.src
srcrel\objects.mkf, pd-b
makefile, makefile.inc
VS7#215249 Pick up improved floating point functions from Intel. Most
of this consists of SSE2-specific versions of ceil, floor, modf, atan,
exp, log, log10, and pow, which are automatically called if running on
an SSE2-capable CPU (i.e. the Pentium4).
This has been in the works for a couple months, and includes a few
minor bugfixes in the existing non-SSE2 code that turned up in
validating the routines:
modf(x) for x a negative integer should return a fractional part
of -0.0, not +0.0
log and log10(-denormal) were not setting an errno of EDOM
pow(+/-0, -denorm) was returning 0 instead of infinity
Note that the SSE2 implementations can be unavoidably different in the
LSB, since SSE2 uses 8-byte FP, and the x87 stack 10 byte. To allow
users to force use of the old routines, I've added new function
_set_SSE2_enable().
So that existing apps using MSVCRT.DLL won't suddenly get different
results on a Pentium4, I've made the system CRT default to not using
the new SSE2 code. You can still call _set_SSE2_enable(TRUE) to
switch to the new routines when running on a Pentium4.
Finally, there's _ftol2, a replacement for _ftol which doesn't need
to change the rounding mode, so it avoids the FLDCW stalls. A new name
is required because it uses 2 slots on the x87 stack, while _ftol only
uses 1. The compiler will have to switch the name of the helper. I've
made _ftol2 statically linked even in msvcrt.lib, so we don't take an
unnecessary indirect branch to get into the CRT DLL.
srcrel\common.mkf, external.mkf, makefile, objects.mkf
makefile
Some additional build work, continuing what was done for VS7#214893
back on 26-Feb. Print out the current TARGET_CPU, LLP64, and
BLD_SYSCRT settings. More importantly, detect attempts to use a
pre-existing build tree that had different values for these vars, or
attempts to use stdcpp when the tree already has stdcpp64 (or vice-
versa), and issue a fatal NMAKE error.
-----------------------------------------------------------------
Wed 07-Mar-01 (PhilipLu)
VS7#221122 My 20-Feb-01 checkin to remove _RT_LOCK fatal errors broke
the CRT running on Win9x, and probably broke it elsewhere too, but NT
was too kind to mention that. I was releasing the _HEAP_LOCK critsec
before I was finished using the heap. Change to free all normal
locks first, so they can be freed from the heap, then free all the
preallocated locks, including _HEAP_LOCK.
-----------------------------------------------------------------
Tue 06-Mar-01 (PhilipLu)
crtw32\stdhpp\xmemory
libw32\include\xmemory
VS7#221135 Turning on _HAS_MEMBER_TEMPLATES_REBIND broke anyone who
wrote their own operator new, compiled /MD[d], and had container
classes (except basic_string) specialized on char, wchar_t or unsigned
short. The problem is std::allocator<T> for those types is dllimported
from msvcp70 (thanks to questionable declarations in xstring), but now,
std::allocator::allocate is a member template function, which means it
is always locally generated, and never specialized. So allocate()
would use the local operator new, and the dllimported deallocate()
would use the CRT operator new, triggering a quick crash.
Fix is just to make the member-template allocate() stop calling global
template function _Allocate() directly, and instead call through a
non-template member form of allocate(), which will be dllimported to
match deallocate().
crtw32\h\i386\mm3dnow.h
libw32\include\mm3dnow.h
VS7#199371 Add prototypes for new 3DNow intrinsics _m_from_float and
_m_to_float.
-----------------------------------------------------------------
Mon 05-Mar-01 (PhilipLu)
fpw32\tran\i386\debug.c, filter_simd.c, xmmi2_fp_emul.c, xmmi_fp_emul.c,
xmmi_types.h
VS7#215249 Pick up Intel's support for the Pentium4 DAZ bit in
_fpieee_flt.
crtw32\stdhpp\xlocale, yvals.h
libw32\include\xlocale, yvals.h
VS7#212255 std::_Tidyfac<_Facet>::_Tidy must be __declspec(unmanaged)
for /clr compiles. This function is registered for callback via atexit,
but by the time it is called, the URT has already been shut down. In
general, any function run at DLL unload must be unmanaged.
crtw32\startup\stdenvp.c
VS7#174755 Fix a null deref problem reported by NT. If
__crtGetEnvironmentStrings[AW] fails and returns a NULL during startup,
_[aw]envptr will be NULL on entry to _setenvp, which failed to check
for that before dereferencing it. Just added a NULL check, issuing
the same _RT_SPACEENV fatal error used elsewhere in _setenvp in
out-of-memory situations.
-----------------------------------------------------------------
Tue 27-Feb-01 (PhilipLu)
crtw32\convert\isctype.c
VS7#213380 Code that compiled /D_DEBUG /ML and was fine in VC6 could
fail to link in VC7. That's because we added a debug test to ctype.h,
which called a routine that was only present in debug CRTs. The CRT
headers use _DEBUG as the flag that a debug CRT is being used, but in
this case, by manually defining _DEBUG, the user is fooling that logic.
The problem is that _DEBUG has been hijacked by other, non-CRT code.
If we had more CRT header code under _DEBUG, the proper fix would
probably be to have cl.exe define both _DEBUG and _CRT_DEBUG if the
/M[LTD]d switches are used, and key the header tests off _CRT_DEBUG
instead. But that can wait until we add more debug header tests.
For now, this is a minor case that only shows up when using /ML and
compiling C, not C++. So we're going with the simpler fix of defining
the missing entrypoint, _chvalidator, in libc.lib, and not in the
other retail CRTs.
srcrel\common.mkf
Tweak the new common.mkf file added yesterday for VS7#214893. If
%VCFLAVOR% exists in the environment, then we look for the native
toolset at, e.g. %DEVTOOLS%\x86\%VCFLAVOR%. If it's not defined,
look for the VC7 and VCLKG trees as before.
-----------------------------------------------------------------
Mon 26-Feb-01 (PhilipLu)
srcrel\common.mkf [NEW], external.mkf, makefile, pd-b
cleanbld.cmd, makefile
VS7#214893 Some CRT build changes to make it easier for other devs to
build the CRT. Previously, the build relied on %VCTOOLS%, and after my
14-Feb-01 checkin, some fixed paths under %DEVTOOLS%\*\vc7. That's
problematic for people who use vclkg instead of vc7 under devtools.
I'm changing the build so the only thing necessary is %DEVTOOLS%. The
makefiles will search for the flavor of VC that's present under there,
with VC7 taking precedence over VCLKG.
You can also directly specify all the various paths needed, using
%VCTOOLS% or %VCTOOLSINC% for the main CRT build, and %DEVTOOLSBIN%,
%DEVTOOLSLIB%, %DEVTOOLSINC%, and %DEVTOOLSSDKLIB% for the srcrel
tools build.
Makefile and srcrel\common.mkf now have extensive error messaging that
explains what's required if the setup is in some way incorrect.
mk.bat
Trivial change - have mk.bat (which builds the CRT in-place in the
source tree under the build directory) save the build log to bld.log
instead of build.log, so mkbld and mk don't overwrite the other's log.
crtw32\eh\frame.cpp
VS7#217108 Finish up work on new helper function __CxxCallUnwindDtor.
I noticed that the __except(terminate()) should probably be
__except(FrameUnwindFilter(exception_info())), to match the unmanaged
case. That permits SEH to pass out of a dtor unwind, but a throw to
result in a call to terminte(). After testing, MarkLe agreed, so now
it's changed.
-----------------------------------------------------------------
Sun 25-Feb-01 (PhilipLu)
crtw32\stdhpp\yvals.h
VS7#218235 Dinkumware support for MBCS in mbrtowc and other such
routines was busted by the checkin for vs7#202930. The definition
for _cpp_isleadbyte(c) needlessly shifts 'c' right by 8 bits, breaking
the Dinkumware code in locales with leadbytes like Japanese.
-----------------------------------------------------------------
Sat 24-Feb-01 (PhilipLu)
crtw32\eh\frame.cpp
libw32\msvcrt.src, syscrt.src, syscrt64.src
VS7#217108 Add helper function __CxxCallUnwindDtor from MarkLe. It
is called by managed code to handle calling a destructor during an
unwind so that terminate() will be called if the dtor throws.
crtw32\h\i386\dvec.h, emmintrin.h, fvec.h, ivec.h, mmintrin.h, xmmintrin.h
libw32\include\dvec.h, emmintrin.h, fvec.h, ivec.h, mmintrin.h, xmmintrin.h
VS7#217691 Remove "INTEL CONFIDENTIAL" from dvec.h/emmintrin.h, since
SSE2 is now publicly released. Also clean up the header comments,
getting rid of source control system comments and a revision comment.
crtw32\stdhpp\deque, iterator, list, xtree, xutility
libw32\include\deque, iterator, list, xtree, xutility
VS7#216777 Remove #pragma warning controls for C4284 from these C++
Library headers. That warning no longer exists, and a /Wall compile
will issue C4619 complaining about a non-existant warning number being
used by #pragma warning.
-----------------------------------------------------------------
Fri 23-Feb-01 (gautamb)
fpw32\tran\ia64\acos.s, acosf.s, asin.s, asinf.s, atan2.s, atan2f.s, exp.s,
expf.s, ldexp.s, ldexpf.s, pow.s, powf.s, sinh.s, sinhf.s
makefile
VS7#212094 changed the function names in almap.lib to correct ones for ia64
specific case.
Added new math update libm ver 5.5.104
-----------------------------------------------------------------
Fri 23-Feb-01 (gautamb)
crtw32\convert\wcstod.c, wtof.c
crtw32\eh\typname.cpp
crtw32\startup\wild.c
crtw32\stdio\input.c, popen.c
VS7#215477 Added check for return values for malloc. This will avoid some
unwanted AVs in low memory conditions.
-----------------------------------------------------------------
Wed 21-Feb-01 (PhilipLu)
crtw32\misc\initcrit.c
Buildfix - Yesterday's change to initcrit.c would use
InitializeCriticalSectionAndSpinCount on Win98/WinME, but that API on
those OSes is broken. It should return a BOOL success code, but
instead is a VOID return. Just use InitializeCriticalSection there.
langapi\undname\undname.cxx
Forgot to check in the langapi component of VS7#172586.
-----------------------------------------------------------------
Tue 20-Feb-01 (PhilipLu)
crtw32\h\exsup.inc, internal.h, mtdll.h
crtw32\lowio\ioinit.c, osfinfo.c
crtw32\misc\initcrit.c
crtw32\startup\mlock.c, tidtable.c
crtw32\stdio\popen.c, rmtmp.c, stream.c, tempnam.c, tmpfile.c
srcrel\pd-b
[DELETED:]
fpw32/inc/i386/os2dll.inc
VS7#172586 Stop issuing _RT_LOCK fatal errors. This is an out-of-memory
error when a critical section could not be allocated. CRT fatal errors
have to be avoided if at all possible, because the CRT DLL could be
used by some long-lived server app (e.g. IIS), and calling ExitProcess,
as CRT fatal errors do, is unacceptable in such an app. We now
preallocate all named locks, as well as the FILE* locks for stdin,
stdout, and stderr. We don't preallocate 4 named locks, but always
call _mtinitlocknum to allocate those before every use, so failure to
allocate on the first call can be detected.
This currently gives 14 preallocated locks, as compared to the 4 we
previously used. We also detect a failure to allocate a lock for other
files, and fail the file open instead of abort. Note that one instance
of _RT_LOCK still exists, when a _lock call is issued on a lock which
hasn't been allocated yet, but that should never happen. If it does,
it's an internal error in the CRT.
As part of this, got rid of file os2dll.inc, which is no longer used,
and had a number of ancient, incorrect, asm equates for the named locks.
Also got rid of a bunch of obsolete named locks that are never used.
-----------------------------------------------------------------
Wed 14-Feb-01 (PhilipLu)
cleanbld.cmd
srcrel\external.mkf, makefile
The VS team devtools project is being reorganized, so now the CRT build
requires environment variable DEVTOOLS to be set. Use %DEVTOOLS% to
find the proper native-hosted components when building the srcrel tools
during a cross-hosted Win64 CRT build.
-----------------------------------------------------------------
Mon 12-Feb-01 (PhilipLu)
crtw32\stdhpp\yvals.h
crtw32\include\yvals.h
VS7#5292 Turn on _GLOBAL_USING to wrap C library in namespace std, once
again. The new LKG compiler fixes the bugs that prevented this back on
Dec 8, 2000.
Also turn on _HAS_MEMBER_TEMPLATES_REBIND now that the compiler is
capable of handling it, and the VS build has fixed three places
where a std::map had a const key type. That's illegal - the key must
be assignable, and _HAS_MEMBER_TEMPLATES_REBIND exposed that problem
because it generated an allocator<const int>.
-----------------------------------------------------------------
Thu 08-Feb-01 (GautamB)
crtw32\h\stdlib.h
crtw32\misc\bswap.c
libw32\inc64\stdlib.h
libw32\include\stdlib.h
VS7#209247 added __cdecl before byteswap functions.
-----------------------------------------------------------------
Thu 08-Feb-01 (PhilipLu)
libw32\syscrt64.src
Buildfix for 64-bit sys CRTs.
-----------------------------------------------------------------
Wed 07-Feb-01 (PhilipLu)
crtw32\h\ctype.h, wchar.h
crtw32\misc\initctyp.c
libw32\include\ctype.h
libw32\inc64\ctype.h
Buildfixes to complete fix for VS7#202930.
crtw32\h\math.h, stdio.h
libw32\inc64\math.h, wchar.h
libw32\include\math.h, wchar.h
Cosmetic changes.
-----------------------------------------------------------------
Wed 7-Feb-01 (GautamB)
crtw32\h\ctype.h, mtdll.h, setlocal.h, stdio.h, stdlib.h
crtw32\misc\ctype.c, initctyp.c, setlocal.c
crtw32\stdcpp\_tolower.c, _toupper.c, cerr.cpp, cin.cpp, clog.cpp, cout.cpp,
stdthrow.cpp, wcerr.cpp, wcin.cpp, wclog.cpp, wcout.cpp, xdateord.cpp,
xmbtowc.c, xstrcoll.c, xstrxfrm.c, xwcscoll.c, xwcsxfrm.c, xwctomb.c
crtw32\stdhpp\xlocale, yvals.h
crtw32\stdio\_file.c
libw32\inc64\stdlib.h
libw32\include\stdlib.h, xlocale
libw32\msvcrt.src, syscrt.src, syscrt64.src
VS7#202930 Fixed problem with _STATIC_CPPLIB to work. there were some
problem with data being exported from dll.
crtw32\h\math.h
libw32\include\math.h
libw32\inc64\math.h
VS7#193177 Now we need to define _USE_MATH_DEFINES to define math
constants
-----------------------------------------------------------------
Wed 07-Feb-01 (PhilipLu)
fpw32\tran\ia64\modf.s, modff.s
VS7#209420 modf/modff can improperly raise on Invalid Exception if
passed an FP value greater than the _INT64_MAX. An fcvt.fx.trunc
should be using .s1 instead of .s0.
makefile.sub
VS7#209816 Don't use IA64 compiler option -QIA64_A0 any longer.
Cl.exe already supplies the proper default.
-----------------------------------------------------------------
Thu 14-Dec-00 (PhilipLu) Ported Tue 06-Feb-01 (KarlSi)
crtw32\stdcpp\xlock.cpp
crtw32\stdhpp\istream, ostream, streambuf, xloctime, yvals.h
libw32\include\istream, ostream, streambuf, xloctime, yvals.h
Enable new breaking CRT changes that have been waiting for next LKG
update under _CRT_NEW_STL_DROP. This is only going into the nextVCLKG
branch for now. These edits change the size of some types exported
from msvcp70.dll, so they can only happen at LKG updates.
-----------------------------------------------------------------
Mon 05-Feb-01 (PhilipLu)
crtw32\h\stdarg.h
libw32\include\stdarg.h
libw32\inc64\stdarg.h
VS7#201535 Fix va_start(ap,v) for C++, where it is incorrect to use &v,
since v may be an instance of a class that defines an operator&.
-----------------------------------------------------------------
Thu 18-Jan-01 (PhilipLu)
libw32\inc64\xlocale, xstring
Forgot to update the relinc headers for the previous checkin.
-----------------------------------------------------------------
Tue 16-Jan-01 (PhilipLu)
crtw32\stdcpp64\strstrea.cpp
crtw32\stdhpp64\xlocale, xstring
IA64 Sys CRT buildfix. Add casts to shut up new frontend warning, same as
was done for the IA64 VC CRT on Friday.
-----------------------------------------------------------------
Fri 12-Jan-01 (PhilipLu)
crtw32\tools\win32\newline.sed
Tweak sed script so it works for sed V1.08 used on x86 and V2.05 used on
IA64.
crtw32\stdcpp\strstrea.cpp
IA64 rolling build fix. Add (int) cast to shut up new frontend warning.
-----------------------------------------------------------------
Thu 04-Jan-01 (GautamB)
crtw32\h\stdlib.h
crtw32\misc\rotl.h, rotr.h, abs.h
makefile.inc
Added 64 bit intrinsics _abs64, _rtol64, _rotr64 etc. also added
__byte_swap intrinsic functions.
libw32\msvcrt.rc, msvcirt.rc, msvcprt.rc, msvcrt40.rc, syscrt.rc, sysirt.rc,
sysprt.rc, syscrt64.rc, sysirt64.rc, sysprt64.rc
Copyright changes to match the product.
-----------------------------------------------------------------
Thu 15-Dec-00 (PhilipLu)
<<< 212 files not worth listing individually >>>
Copyright update part 3. Update P.J. Plauger's copyrights to 2001,
with his approval.
-----------------------------------------------------------------
Mon 11-Dec-00 (PhilipLu)
crtw32\h\stdio.h
crtw32\stdio\tempnam.c
libw32\include\stdio.h
libw32\inc64\stdio.h
VS7#5416 Fix comments about L_tmpnam in stdio.h, and fix double-free
bug in _tempnam() I noticed while investigating this bug.
crtw32\h\crtdbg.h
libw32\include\crtdbg.h
libw32\inc64\crtdbg.h
VS7#166572 The non-_DEBUG macro definitions of _CrtSetReportHook,
_CrtSetReportFile, _CrtSetAllocHook, and _CrtSetDumpClient should be
typed the same as the _DEBUG function definitions.
crtw32\h\tchar.h
libw32\include\tchar.h
libw32\inc64\tchar.h
VS7#180102 Fix _strnextc for chars >= 0x80.
crtw32\h\cmacros.inc
crtw32\tools\fixcopyright.pl [NEW]
fpw32\conv\cfout.c, constpow.c, cvt.c
fpw32\inc\i386\cmacros.inc, elem87.inc, mathmac.inc, os2supp.inc
fpw32\tran\bessel.c, hypot.c
fpw32\tran\i386\87cdisp.asm, 87csqrt.asm, 87ctran.asm, 87ctrig.asm,
87ctriga.asm, 87ctrigh.asm, 87disp.asm, 87fmod.asm, 87sqrt.asm, 87tran.asm,
87trig.asm, 87triga.asm, 87trigh.asm, acos.asm, adj_fdiv.asm, asin.asm,
atan.asm, common.asm, cos.asm, fpctrl.c, frnd.c, ftol.asm, ieee.c,
ieee87.c, ldsplit.asm, log.asm, log10.asm, pow.asm, sin.asm, sqrt.asm,
tan.asm, trig.asm, triga.asm, xmmi_types.h
fpw32\tran\ia64\fpctrl.c, ieee.c
libw32\msvcrt40.rc
Copyright update part 1. In preparation for updating copyright text
from 2000 to 2001, check in a perl script which updates the copyrights
and outputs warnings for files where the copyright does not have the
proper form. Fix all those warnings, so the script runs warning-clean.
<<< 1,218 files not worth listing individually >>>
Copyright update part 2. Update copyrights to run up to 2001.
-----------------------------------------------------------------
Sun 10-Dec-00 (PhilipLu)
crtw32\dllstuff\crtexe.c
crtw32\startup\crt0.c
VS7#167293 Tighten up the check for a managed EXE in case it ever
sees a PE+ on x86 or PE on IA64, or an image without a COM Descriptor
directory entry.
crtw32\h\stdio.h
libw32\include\stdio.h
libw32\inc64\stdio.h
VS7#122990 Define _FPOSOFF for _POSIX_ so C++ I/O Streams can be
compiled.
-----------------------------------------------------------------
Fri 08-Dec-00 (PhilipLu)
crtw32\stdhpp\yvals.h
libw32\include\yvals.h
Turn off _GLOBAL_USING temporarily. Turning it on back on Wednesday,
to wrap the C library in namespace std has triggered bugs in the C++
compiler frontend (VS7#190308, 190674). This will be reenabled once
the frontend is fixed.
crtw32\h\malloc.h
libw32\include\malloc.h
libw32\inc64\malloc.h
Fix the _POSIX_ (NT) build by moving prototype for _resetstkoflw out
from under #ifndef _POSIX_.
-----------------------------------------------------------------
Thu 07-Dec-00 (PhilipLu)
crtw32\stdcpp\xgetwctype.c
Fix the 64-bit VC CRT build (missing cast from size_t -> int).
-----------------------------------------------------------------
Wed 06-Dec-00 (PhilipLu)
makefile.inc
crtw32\stdcpp\lsources, sources.nt, xdateord.cpp, xgetwctype.c, xmath.h,
xtowlower.c, xtowupper.c
crtw32\stdhpp\algorithm, fstream, ios, iosfwd, memory, sstream, utility,
vector, xcomplex, xhash, xlocinfo, xlocinfo.h, xloctime, xmemory, xutility,
yvals.h
libw32\include\algorithm, fstream, ios, iosfwd, memory, sstream, utility,
vector, xcomplex, xhash, xlocinfo, xlocinfo.h, xloctime, xmath.h, xmemory,
xutility, yvals.h
libw32\msvcrt.src, syscrt.src, syscrt64.src
Integrate the 001118 drop of the Dinkumware C++ Library. Fixes bugs
VS7#149387, 155323, and 182248. Also contains a fix for VS7#161213,
but that can't be turned on until an LKG update. Also contains a start
on the fixes for VS7#150517 and 157130.
Also turning on _GLOBAL_USING in yvals.h, so VS7#5292 is finally fixed,
with the C library properly wrapped in the std namespace. This can be
done now that the Beta 1 C++ compiler has been promoted to the LKG
toolset.
crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop2.cpp, delop2.cpp,
fiopen.cpp, instances.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
locale.cpp, locale0.cpp, newaop.cpp, newaop2.cpp, newop2.cpp, nomemory.cpp,
nothrow.cpp, raisehan.cpp, stdhndlr.cpp, stdthrow.cpp, string.cpp,
strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp, wclog.cpp, wcout.cpp,
wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp, xcosh.c, xdnorm.c,
xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c, xfdscale.c, xfdtest.c,
xferaise.c, xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldnorm.c, xldscale.c,
xldtest.c, xlexp.c, xlocale.cpp, xlock.cpp, xlpoly.c, xlsinh.c, xlvalues.c,
xmtx.c, xmtx.h, xmutex.cpp, xpoly.c, xsinh.c, xstod.c, xvalues.c
crtw32\stdhpp\bitset, cassert, cctype, cerrno, cfloat, ciso646, climits,
clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef, cstdio,
cstdlib, cstring, ctime, cwchar, cwctype, deque, exception, functional,
hash_map, hash_set, iomanip, iostream, iso646.h, istream, iterator, limits,
list, locale, map, new, numeric, ostream, queue, set, stack, stdexcept,
stl.h, streambuf, string, strstream, valarray, xiosbase, xlocale, xlocmes,
xlocmon, xlocnum, xstddef, xstring, xtree, ymath.h
libw32\include\bitset, cassert, cctype, cerrno, cfloat, ciso646, climits,
clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef, cstdio,
cstdlib, cstring, ctime, cwchar, cwctype, deque, exception, functional,
hash_map, hash_set, iomanip, iostream, iso646.h, istream, iterator, limits,
list, locale, map, new, numeric, ostream, queue, set, stack, stdexcept,
stl.h, streambuf, string, strstream, valarray, xiosbase, xlocale, xlocmes,
xlocmon, xlocnum, xstddef, xstring, xtree, ymath.h
Dinkumware files unchanged by the 001118 drop except for a change in
the version comment from V3.06:0009 to V3.09:0009
-----------------------------------------------------------------
Tue 05-Dec-00 (PhilipLu)
doc\copysrc.bat
srcrel\external.mkf, nmktobat.c, pd-b
[RENAME]
srcrel\bldwin95.bat -> srcrel\bldwin9x.bat
VS7#178683 Rename bldwin95.bat to bldwin9x.bat, since VS won't be
supporting Win95 any longer. Also renamed some references to Win95
to Win9x instead.
srcrel\makefile
Minor cleanup - hide the rule to create srcrel\pd-b under !if 0.
This file is always hand-edited nowadays, not generated, and it
was getting overwritten whenever the timestamp for pd-exe was newer
than that for pd-b (as in a newly enlisted project with pd-b then
copied from elsewhere).
crtw32\h\wchar.h
libw32\include\wchar.h
libw32\inc64\wchar.h
VS7#186936 The inline definition of mbsinit() in wchar.h was a
stub that just returned 1. Changed that to the proper definition,
which is just a simple (p == NULL || *p == 0).
-----------------------------------------------------------------
Mon 04-Dec-00 (PhilipLu)
[NEW]
crtw32\stdcpp\xdateord.cpp, xgetwctype.c, xtowlower.c, xtowupper.c
doc\copysrc.bat
srcrel\pd-b
Check in dummy placeholders for new files that will be required for
the next Dinkumware integration. This is to meet a 12/8/00 deadline
for entering new files into FLDB for the VS7 setup.
-----------------------------------------------------------------
Wed 29-Nov-00 (Gautamb)
Delete
crtw32\mbstring\i386\mbscat.asm
crtw32\mbstring\mbscat.c mbsdup.c
Edit
makefile
makefile.inc
doc\copysrc.bat
srcrel\external.mkf objects.mkf pd-b
crtw32\string\stricmp.c stricoll.c
crtw32\mbstring\sources.nt lsources
libw32\msvcrt.src syscrt.src syscrt64.src
VS7#100359 Added an alias lib for duplicate functions with same code.
-----------------------------------------------------------------
Tue 28-Nov-00 (Gautamb)
crtw32\stdio\input.c
VS7#162114, 167304. Bug fix for use of uninitialized variable and for
wscanf crashing due to low stack.
-----------------------------------------------------------------
Mon 27-Nov-00 (PhilipLu)
crtw32\stdhpp\istream, xlocale, xlocnum, xstring
libw32\include\istream, xlocale, xlocnum, xstring
Buildfix for IA64 VC CRT. Add casts to silence warnings about 64 bit
to 32 bit truncations.
fpw32\tran\ia64\acos.s, acosf.s, asin.s, asinf.s
VS7#186484 LIBM v5.4 turned off exceptions on errors in acos, acosf,
asin, and asinf. Turn the exceptions back on.
fpw32\tran\lsources, sources.nt
srcrel\pd-b
[DELETED:]
fpw32\tran\ia64\em_types.h, emfloat.s, remainder.s, remainderf.s, scalb.s,
scalbf.s
Get rid of more IA64 LIBM files that are unneeded. Files em_types.h
and emfloat.s are old _fpieee_flt support files that are no longer
needed. The remainder and scalb files are for LIBM v5.4 code that we
don't have on the x86 side and thus don't currently want for IA64.
fpw32\tran\ia64\isnan.s, isnanf.s, logb.s, logbf.s
fpw32\tran\ieeemisc.c
Get the implementations of _isnan and _logb from the IA64 LIBM asm
code instead of ieeemisc.c. Add an underscore prefix to the routine
names in the LIBM .s files, since that's what we document and declare
in the headers.
-----------------------------------------------------------------
Fri 24-Nov-00 (PhilipLu)
crtw32\h\conio.h, stdio.h, wchar.h
crtw32\lowio\putwch.c
crtw32\stdio\fputwc.c, fputwchr.c, output.c
libw32\include\conio.h, stdio.h, wchar.h
libw32\inc64\conio.h, stdio.h, wchar.h
VS7#176345 putwchar appeared twice in wchar.h, once with a wint_t arg,
once with wchar_t, leading to errors when compiling /Zc:wchar_t. On
examination, it turns out that several functions were wrongly declared
with wint_t args: fputwc, _fputwchar, putwc, putwchar, and _putwch.
Switch all of them to take a wchar_t arg instead.
-----------------------------------------------------------------
Wed 22-Nov-00 (PhilipLu)
clean.cmd, cleanbld.cmd, makefile
srcrel\clnsrcrel.bat, external.mkf, makefile, mkclnmkf.c, objects.mkf, pd-b
Checking in changes to enable a native IA64-hosted CRT build.
Currently, you still need to specify LLP64=1 in the environment.
fpw32\tran\sources.nt
fpw32\tran\ia64\acos.s, acosf.s, asin.s, asinf.s, atan.s, atan2.s, atan2f.s,
atanf.s, ceil.s, ceilf.s, cosh.s, coshf.s, exp.s, expf.s, floor.s,
floorf.s, fmod.s, fmodf.s, hypot.s, hypotf.s, ldexp.s, ldexpf.s,
libm_atan2_reg.s, libm_error.c, libm_reduce.s, libm_tan.s, log.s, logb.s,
logbf.s, logf.s, pow.s, powf.s, remainder.s, remainderf.s, scalb.s,
scalbf.s, sincos.s, sincosf.s, sinh.s, sinhf.s, sqrt.s, sqrtf.s, tan.s,
tanf.s
srcrel\pd-b
[DELETED:]
fpw32\tran\ia64\asincosf.c, atan2f.c, atanf.c, ceilf.c, expf.c, fabsf.c,
floorf.c, fmodf.c, fp80.s, fp80c.c, log10f.c, logf.c, powf.c, sincosf.c,
sincoshf.c, sqrtf.c, tanf.c
Update to IA64 LIBM v5.4 108 from Intel, dated 09/21. Also get rid of
a bunch of tran\ia64\*.c files which should have been removed when we
first switched from the C-based to asm-based LIBM.
-----------------------------------------------------------------
Mon 20-Nov-00 (PhilipLu)
crtw32\h\setjmp.h
crtw32\misc\ia64\longjmp.s, setjmp.s, setjmpex.s
libw32\include\setjmp.h
libw32\inc64\setjmp.h
Back out VS7#182574, so IA64 setjmp/longjmp once again will save/restore
the FPSR. NT rethought its decision on this.
[Added:]
libw32\tools\ia64\aliasobj.exe, detab.exe, ifstrip.exe, pd.exe, striphdr.exe,
tolwrupr.exe, trailing.exe, whackline.exe
Add IA64 versions of tools needed for a native-hosted IA64 CRT build.
-----------------------------------------------------------------
Fri 17-Nov-00 (PhilipLu)
crtw32\misc\ia64\longjmp.s
VS7#184669 The IA64 setjmp/longjmp change made on Monday for vs7#182574
can crash the OS and cause an immediate reboot without hitting the BSOD
when using _setjmpex for safe longjmps. That's because a safe longjmp
uses RtlUnwind2 to unwind and restore state back to the setjmp point,
and the code in RtlUnwind2 still assumes that the jmp_buf holds a valid
saved FPSR. Apparently, a bogus FPSR is enough to bring the machine
down!
Fixed by changing longjmp to save the ambient FPSR in the jmp_buf just
before calling RtlUnwind2 in the safe longjmp path.
-----------------------------------------------------------------
Mon 13-Nov-00 (PhilipLu)
fpw32\tran\lsources, sources.nt
fpw32\tran\ia64\modf.s, modff.s
srcrel\pd-b
VS7#180200 modff is declared in math.h but wasn't available. Rather than
add an inline modff in math.h (which was removed for VS7#2515), I'm instead
adding the Intel IA64 libm modf.s and modff.s. There are a number of libm
routines which we don't make available, but for now, I'm just going to fix
this particular pair.
crtw32\h\setjmp.h
crtw32\misc\ia64\longjmp.s, setjmp.s, setjmpex.s
libw32\include\setjmp.h
libw32\inc64\setjmp.h
VS7#182574 Setjmp/longjmp on IA64 should not save/restore the FPSR any
longer. That maintains compatibility with the other platforms. Also,
rename unused fields in the IA64 _JUMP_BUFFER to Reserved[12].
crtw32\stdhpp64\fstream, streambuf, xiosbase
libw32\inc64\fstream, streambuf, xiosbase
VS7#181246 Clean up some /Wp64 warnings in the old stdhpp64 headers for
NT. Introduce casts to silence the warnings.
-----------------------------------------------------------------
Mon 06-Nov-00 (PhilipLu)
srcrel\pd-b
Get rid of references to MIPS and PPC files that have already been
deleted from the source tree.
crtw32\misc\initnum.c, setlocal.c
VS7#181380 Fix pageheap-detected use-after-free bugs in LC_MONETARY
and LC_NUMERIC setlocale data when a thread exits and removes the last
reference to data which is still pointed to by the global locale. We
can only free data with a zero refcount if that data is not also in
the global locale.
crtw32\convert\atox.c
Trivial checkin which avoids a warning in the _NTSUBSET_ build of the
CRT.
-----------------------------------------------------------------
Fri 03-Nov-00 (PhilipLu)
crtw32\stdhpp\xlocnum
libw32\include\xlocnum
Bandaid build breakage fix for VS7#170063, which is now appearing in
the 32-bit /Wp64 build after a recent compiler change. We're warning
on a cast from unsigned long to void *, since that's not /Wp64 clean.
Change it to 'ptr = (void*)(uintptr_t)ulval;' to silence the warning.
This doesn't fix the bug, though - the code should be using unsigned
__int64 on Win64. Leave that for later.
-----------------------------------------------------------------
Wed 25-Oct-00 (PhilipLu)
crtw32\string\ia64\memcpy.s
VS7#178057 Remove superfluous reference to exit(), which triggers undesired
dependency on other CRT functions.
-----------------------------------------------------------------
Mon 23-Oct-00 (PhilipLu)
crtw32\string\ia64\strcmp.s
VS7#176998 IA64 strcmp should compare unsigned chars, not signed, for
compatibility with x86. Also for x86 compatibility, canonicalize the
result to be -1, 0, +1 instead of just <0, 0, >0.
-----------------------------------------------------------------
Sun 22-Oct-00 (PhilipLu)
srcrel\pd-b
[Deleted:]
crtw32\crt.mkf, infer.mkf, oldnames.mkf
crtw32\convert\convert.mkf
crtw32\dos\dos.mkf
crtw32\eh\eh.mkf
crtw32\exec\exec.mkf
crtw32\heap\heap.mkf
crtw32\iostream\iostream.mkf
crtw32\linkopts\linkopts.mkf
crtw32\lowio\lowio.mkf
crtw32\mbstring\mbstring.mkf
crtw32\misc\misc.mkf
crtw32\startup\startup.mkf
crtw32\stdio\stdio.mkf
crtw32\string\string.mkf
crtw32\time\time.mkf
fpw32\fp.mkf, infer.mkf
fpw32\conv\conv.mkf
fpw32\tran\tran.mkf
libw32\buildall.cmd, makefile
Build system cleanup - get rid of old make files that haven't been used
in years.
-----------------------------------------------------------------
Thu 19-Oct-00 (PhilipLu)
crtw32\lowio\ioinit.c
VS7#176001 Avoid alignment fault when mixing printf and wprintf to stdout
when stdout not available in a GUI or server app, by forcing __badioinfo
to text mode.
-----------------------------------------------------------------
Tue 17-Oct-00 (PhilipLu)
crtw32\lowio\pipe.c
VS7#173087 Remove potential deadlock on race condition in _alloc_osfhnd
called from _pipe. Do not call _alloc_osfhnd a second time without first
unlocking the _ioinfo returned by the first call. Also, don't initialize
the returned handle values until we know the operation succeeded.
-----------------------------------------------------------------
Mon 16-Oct-00 (PhilipLu)
crtw32\string\lsources
crtw32\string\ia64\memcpy.s, memset.s, strcat.s, strcmp.s, strlen.s
srcrel\objects.mkf, pd-b
makefile.inc
VS7#173518 Pick up optimized IA64 mem/str routines from Intel. These
asm routines get built in the pre-build and copied over to the post-build.
-----------------------------------------------------------------
Thu 12-Oct-00 (PhilipLu)
crtw32\misc\initmon.c, initnum.c
VS7#169596 Don't call fix_grouping when initializing monetary locale info
if any error is detected, since the mon_grouping member may not be valid.
-----------------------------------------------------------------
Thu 12-Oct-00 (GautamB)
crtw32\string\wcsxfrm.c
VS7#164393, changed wcsxfrm.c to be similar to strxfrm.c which fixes the
bug.
crtw32\misc\setlocale.c
VS7#159775, changed setlocale_set_cat to return if this locale is same as
current locale for the same category.
crtw32\convert\wtof.c
VS7#166022, Fixed buffer overrun.
crtw32\h\useoldio.h
VS7#172378, added comments for the _OLD_IOSTREAMS_ARE_DEPRECATED
-----------------------------------------------------------------
Wed 11-Oct-00 (PhilipLu)
crtw32\string\lsources
srcrel\objects.mkf, pd-b
makefile.inc
VS7#101018 Fix IA64 build so memcpy.c and memset.c are built. Since early
August, the IA64 build has been importing memcpy and memset from kernel32
instead of including them from the CRT sources. For now, don't use the
IA64 asm routines under crtw32\string\ia64.
crtw32\h\tchar.h
libw32\include\tchar.h
libw32\inc64\tchar.h
VS7#166192 Add missing _MBCS mapping for _tcserror.
-----------------------------------------------------------------
Wed 27-Sep-00 (PhilipLu)
makefile, makefile.inc, makefile.sub
Get rid of references to dead platforms MIPS and PPC. Hide references
to ALPHA and ALPHA64 platforms so they get stripped out of released
versions of makefiles.
crtw32\convert\strtoq.c
crtw32\heap\align.c
crtw32\stdcpp64\xmbtowc.c
Fix format of file header comments so revision history is properly
cleansed by build process.
srcrel\makefile
Need to cleanse several files from stdcpp/stdcpp64 instead of just copying
them, so the revision history is removed.
-----------------------------------------------------------------
Tue 26-Sep-00 (GautamB)
crtw32\lowio\putch.c
libw32\msvcrt.rc, msvcprt.rc, msvcirt.rc, syscrt.rc, sysprt.rc, sysiprt.rc,
syscrt64.rc, sysprt64.src, sysirt64.rc, msvcrt40.rc
srcrel\_sample_.rc
crtw32\misc\winsig.c, winxfltr.c
crtw32\direct\seterrm,c
crtw32\string\memcpy.c, memmove.c, i386\memcpy.asm
VS7#116063 Changed the copyright info.
-----------------------------------------------------------------
Tue 26-Sep-00 (PhilipLu)
crtw32\h\crtdbg.h
libw32\include\crtdbg.h
libw32\inc64\crtdbg.h
VS7#166894 Fix _ASSERT* and _RPT* macros so they compile /W4-clean.
Replaced the do{...}while(0) construct with an expression-form instead,
much like the one used by assert.h. This only works when _CrtDebugBreak()
is a function call, so the old form is still used when compiling with
pre-VC7 x86 compilers, where _CrtDebugBreak turns into inline asm.
libw32\msvcrt.src, syscrt.src, syscrt64.src
VS7#45611 Export _control87 from the IA64 CRT DLL, since it's already
available for IA64 in the static models. Not sure it makes sense to have
_control87 instead of _controlfp for IA64, but this makes it easier to port
existing code over.
crtw32\startup\ia64\chkstk.s
VS7#156660 Get rid of the version of _chkstk that uses B6 as the link reg.
Only the B7 version should be available.
crtw32\eh\ia64\handlers.s
crtw32\startup\ia64\chkstk.s
VS7#166899 Use Soft2.6 unwind info (version 3) instead of the old version 2
info that was there. Also, stop hardcoding the unwind info, and use the
IAS directives that generate the table automatically.
-----------------------------------------------------------------
Mon 25-Sep-00 (PhilipLu)
makefile.inc
srcrel\object.mkf
Add undname.obj to the list of object files no longer needed for the
user CRT rebuild.
makefile
Change the default value of VCTOOLS during the user CRT rebuild from
\Program Files\Microsoft Visual Studio 7\Vc7 to
\Program Files\Microsoft Visual Studio.NET\Vc7
-----------------------------------------------------------------
Mon 25-Sep-00 (PhilipLu)
makefile
VS7#160801 Standalone version of the RTC support, runtmchk.lib, was not
being built. Drop the release DLL prebuild rtc.lib as runtmchk.lib, since
that version is built /Z7 with no dependency on any CRT pdbs.
makefile, makefile.inc
libw32\msvcrt.src, syscrt.src, syscrt64.src
srcrel\objects.mkf
Replace 184 object files in the crt\src\{platform}\*_lib dirs with two
libs, eh.lib and rtc.lib, in each of the 6 CRT models. The build was
needlessly copying all the components in eh.lib and rtc.lib over from
the prebuild to the postbuild, and then dropping them out for the
user CRT rebuild. Instead, just copy those two libs from the prebuild,
for a net reduction of 172 files that get shipped.
makefile
fpw32\tran\lsources
srcrel\pd-b
Get rid of all warnings from IA64 build. Tcmap build was using mbslen.obj
twice instead of mbslen.obj and mbslen.obf. Tran lsources specified
ldexp.obj and tanh.obj twice each. Pd-b specified tanhf.c twice.
-----------------------------------------------------------------
Thu 21-Sep-00 (PhilipLu)
crtw32\misc\seccinit.c
VS7#165188 The /GS security cookie initialization was too non-random.
We now combine a number of sources of randomness, especially the high
frequency counter returned by QueryPerformanceCounter.
crtw32\stdhpp\list, xtree
libw32\include\list, xtree
VS7#5312 The node pointers in std::list and std::_Tree no longer need to
be typed void*, since the compiler properly delays instantiating template
class members until they are used, allowing us to implicitly instantiate
std::allocator on an incomplete type. The pointers are now typed with the
actual type, allowing full dumping of lists and trees in the debugger.
crtw32\h\stdarg.h
libw32\include\stdarg.h
libw32\inc64\stdarg.h
VS7#103357 The IA64 definition of va_start for C++ needed changes
coordinated with the backend and frontend.
-----------------------------------------------------------------
Mon 18-Sep-00 (PhilipLu)
crtw32\stdcpp\xlock.cpp
crtw32\stdhpp\istream, ostream, streambuf, yvals.h
libw32\include\istream, ostream, streambuf, yvals.h
VS7#163945 The 09/15/00 Dinkumware checkin fails to maintain compatibility
between old libs/headers and the new dll. The problem is the introduction
of multiple locks, especially the per-stream locks. That caused everything
in the ostream, istream, and streambuf heirarchies to get larger. Changing
the sizes of types exported from the C++ DLL can only happen at LKG toolset
updates, since that is a rebuild-everything kind of change.
Backed out the multiple locks. Everything now uses a single lock, as it
did before Friday's checkin. The new code is still there, under
#if _CRT_STL_NEW_DROP, ready to be reenabled at the next LKG update.
crtw32\tools\win32\relinc.if
libw32\include\cctype, cerrno, clocale, cmath, csetjmp, csignal, cstdarg,
cstddef, cstdio, cstdlib, cstring, ctime, cwchar, cwctype
Friday's drop did not turn on _GLOBAL_USING, as I stated below. All the
wrapping of C functions in the std namespace was being stripped out of
the headers by relinc. Stop stripping it out, but turn _GLOBAL_USING off
for now, until a compiler bug I found, vs7#163702, gets fixed.
-----------------------------------------------------------------
Sun 17-Sep-00 (PhilipLu)
crtw32\misc\crtmbox.c
VS7#123291 __crtMessageBoxA needs to set MB_SERVICE_NOTIFICATION on WinNT
in non-interactive processes like services, so the message box is visible
on the console (and the program doesn't hang).
crtw32\misc\seccinit.c, seccook.c
VS7#162619 Initialization of the /GS buffer overrun global security must
happen earlier. Also, make sure the cookie is never zero, so a buffer
overrun setting the local cookie and return address to the same value
will always be detected.
-----------------------------------------------------------------
Fri 15-Sep-00 (GautamB)
crtw32\stdio\sscanf.c swscanf.c lsources snscanf.c snwscanf.c
crtw32\h\stdio.h wchar.h tchar.h
srcrel\pd-b
libw32\msvcrt.src, syscrt.src, sys64crt.src
VS7#103628 Added new functions _snscanf and _snwscanf
-----------------------------------------------------------------
Fri 15-Sep-00 (PhilipLu)
makefile.inc
crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop2.cpp, delop2.cpp,
fiopen.cpp, instances.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
locale.cpp, locale0.cpp, lsources, newaop.cpp, newaop2.cpp, newop2.cpp,
nomemory.cpp, nothrow.cpp, raisehan.cpp, sources.nt, stdhndlr.cpp,
stdthrow.cpp, string.cpp, strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp,
wclog.cpp, wcout.cpp, wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp,
xcosh.c, xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c,
xfdscale.c, xfdtest.c, xferaise.c, xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c,
xldnorm.c, xldscale.c, xldtest.c, xlexp.c, xlocale.cpp, xlock.cpp,
xlpoly.c, xlsinh.c, xlvalues.c, xmath.h, xmtx.c [NEW], xmtx.h [NEW],
xmutex.cpp [NEW], xpoly.c, xsinh.c, xstod.c, xvalues.c
crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
iso646.h, istream, iterator, limits, list, locale, map, memory, new,
numeric, ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf,
string, strstream, utility, valarray, vector, xcomplex, xhash, xiosbase,
xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
doc\copysrc.bat
libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
iso646.h, istream, iterator, limits, list, locale, map, memory, new,
numeric, ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf,
string, strstream, utility, valarray, vector, xcomplex, xhash, xiosbase,
xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
xmath.h, xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
srcrel\pd-b
Integrate the 000718 drop of Dinkumware C++ Library. It implements a more
graceful locking mechanism. Instead of a single critical section for all
the C++ Library use, there are now individual locks for each I/O stream,
as well as separate locks for locale and global stream data structures.
I'm also turning on _GLOBAL_USING, so the C headers are properly wrapped
in the std namespace. This can be done now that compiler bugs preventing
this have been fixed. This fixes VS7#5292.
-----------------------------------------------------------------
Thu 07-Sep-00 (PhilipLu)
crtw32\h\wchar.h
crtw32\stdhpp\wctype.h
crtw32\stdhpp64\wctype.h
libw32\include\wchar.h, wctype.h
libw32\inc64\wchar.h, wctype.h
More for VS7#147943. Buildfix for IA64 syscrt build, and add _wctype and
const changes in a few headers missed before.
-----------------------------------------------------------------
Thu 07-Sep-00 (PhilipLu)
crtw32\misc\getqloc.c
VS7#81673 For geopolitical correctness, refer to "country/region", not
"country", in a comment. Also, move all the data tables to .rdata.
crtw32\startup\tlssup.c
VS7#154062 _tls_start and _tls_end only need to be 1 byte long, not
sizeof(void*).
crtw32\eh\rtti.cpp, stdexcpt.cpp, typinfo.cpp, typname.cpp
crtw32\time\strftime.c
VS7#159463 Get rid of /lib:libcp{mt}[d] or /lib:msvcprt[d] directives from
main CRT objects that include stdhpp headers.
crtw32\h\internal.h, mbstring.h, stdarg.h, stdio.h, wchar.h
libw32\include\mbstring.h, stdarg.h, stdio.h, wchar.h
libw32\inc64\mbstring.h, stdarg.h, stdio.h, wchar.h
VS7#159777 Remove _M_CEE-specific definition of va_list.
crtw32\startup\crt0dat.c
Remove obsolete reference to Mac version of CRT.
crtw32\stdio\ftell.c
Reindent and reformat file for easier reading.
-----------------------------------------------------------------
Thu 07-Sep-00 (GautamB)
fpw32\tran\ia64\fmod.s, fmodf.s
VS7#126122. Fixed the problem with matherr getting wrong arguments.
-----------------------------------------------------------------
Thu 07-Sep-00 (GautamB)
crtw32\dllstuff\crtlib.c
crtw32\h\mtdll.h, setlocal.h, wchar.h, ctype.h
crtw32\misc\initctype.c, ctype.c, setlocal.c
crtw32\convert\iswctype.c
VS7#147943. pwctype was a locale dependent wctype table. Which should not
ever be local dependent. removed all the wctype and pwctype from thread
local data, and made wctype as first 256 unicode character type tabel
-----------------------------------------------------------------
Wed 06-Sep-00 (GautamB)
crtw32\startup\stdargv.c
VS7#147806. there was problem with parsing commandline. e.g.
"c:\test\"foo.exe would result in two arguments arg0 c:\test\
and arg1 as foo.exe. fixed
-----------------------------------------------------------------
Tue 05-Sep-00 (GautamB)
fpw32\conv\cfout.c, cvt.c
crtw32\h\fltintrn.h
crtw32\convert\fcvt.c, gcvt.c
VS7#156300. Fixed the problem with printf generating overflow or underflow
floating point exception when used to print doubles.The problem was
exposed when doubles like 4.94e-324 were used. This was due to the
functions being passed double as agrument and instructions like fld would
generate fp underflow exception.
-----------------------------------------------------------------
Tue 29-Aug-00 (PhilipLu)
crtw32\h\stdlib.h
crtw32\misc\seccook.c, secfail.c, seclocf.c
libw32\msvcrt.src, syscrt.src
libw32\include\stdlib.h
libw32\inc64\stdlib.h
Change the /GS support implementation so it can be easily extended in the
future. The error handler is now called __security_error_handler, and it
now takes a code for the type of failure (only _SECERR_BUFFER_OVERRUN is
defined for now) and a void* pointer to an extra data packet (unused for
now). Also add a documented function for registering a new failure
handler.
-----------------------------------------------------------------
Wed 30-Aug-00 (GautamB)
fpw32\tran\ia64\filter.c
VS7#154760 fixed problem with inexact exception thrown by fcvt
instruction.
-----------------------------------------------------------------
Tue 29-Aug-00 (PhilipLu)
crtw32\eh\rtti.cpp
VS7#156255 - IA64 bug: dynamic_cast<> and typeid need to use the image base
for the object's _RTTICompleteObjectLocator, not the return address of the
call to __RTDynamicCast or __RTtypeid.
cleanbld.cmd
Make the DELOBJ option clean the generated .def files, so setting
BLD_TESTCRT=1 and running a DELOBJ build will work.
-----------------------------------------------------------------
Fri 25-Aug-00 (PhilipLu)
crtw32\stdhpp64\xtree
libw32\inc64\xtree
VS7#152018 Propogate fix for VC6SP5 bugfix VS98#66191 to the VC6-based
64-bit STL headers. The 10-Jul-00 change to xtree removed too many locks,
leaving std::_Tree::erase open to a race condition bug that was reported
by the NT group.
crtw32\stdhpp64\fstream
libw32\inc64\fstream
VS7#155221 Propogate fix for VC6SP6 bugfix VS98#61009. The routine
std::basic_filebuf::overflow will fail when outputting DBCS, because the
size and count args to an fwrite call were reversed.
crtw32\h\dbgint.h
VS7#153113 On IA64, the debug CRT heap was not returning 16 byte aligned
memory, even though the Win32 Heap routines do, because the debug preheader
struct _CrtMemBlockHeader wasn't set up for 64-bits. The struct's size
wasn't a multiple of 16 bytes, which is needed to maintain alignment.
Swapping the order of two fields reduced the size from 56 to 48 bytes, and
eliminated gaps between fields. This was only done for IA64, to avoid
breaking any x86 client code that looked in this struct (in an
undocumented manner - this is done by Visual Studio).
makefile
The linker no longer supports -debugtype:both, so switch to -debugtype:cv
for IA64, the same as all the other platforms.
-----------------------------------------------------------------
Thu 24-Aug-00 (GautamB)
crtw32\eh\frame.cpp
Fixed Problem with BuildCatchObject when called from __CxxExceptionFilter.
-----------------------------------------------------------------
Thu 24-Aug-00 (PhilipLu)
crtw32\eh\rtti.cpp
VS7#154575 - dynamic_cast<> wasn't thread-safe on IA64.
-----------------------------------------------------------------
Wed 24-Aug-00 (KFrei)
crtw32\rtc\error.cpp
crtw32\h\rtcapi.h
libw32\include\rtcapi.h
VS7#153812, 153067, 154281. Initialization was messed up,
and _RTC_IsEnabled is dead (so I removed it from the headers)
-----------------------------------------------------------------
Wed 23-Aug-00 (GautamB)
fpw32\tran\ia64\pow.s, atan.s
VS7#109539. The new drop from intel fixes the problem with pow()
and atan()
fpw32\tran\ia64\libm_error.c
VS7#153477 Removed calls to fputs from libm_error support.
-----------------------------------------------------------------
Tue 22-Aug-00 (GautamB)
crtw32\setlocal.c
vs7#151944. clike stuff was not working as it should. FIxed it.
crtw32\dllstuff\crtlib.c
crtw32\startup\dllcrt0.c
Fixed possible leak of ptd in _CRT_INIT functions.
crtw32\string\stricmp
VS7#100359. strcmpi was just a wrapper function around stricmp. To
increase performance, selfincluded the file so that strcmpi can use
the same code again.
-----------------------------------------------------------------
Tue 22-Aug-00 (GautamB)
crtw32\h\awint.h
crtw32\misc\a_str.c, a_cmp.c, a_map.c, w_cmp.c, w_str.c, w_map.c
Addfile
crtw32\misc\convrtcp.c
VS7#5671. All the crt implementation of Win String APIs did not
work with any code page other than Ansi code page. Fixed this by
converting to ansi codepage and then calling WinAPI.
-----------------------------------------------------------------
Fri 17-Aug-00 (GautamB)
crtw32\h\ctype.h
crtw32\misc\wcstol.c, wchtodig.c
VS7#152362 Fixed MACRO __ascii_iswalpha and __ascii_iswdigit
Addfile wchtodig.c which contains new api wchtodig()
-----------------------------------------------------------------
Thu 17-Aug-00 (PhilipLu)
crtw32\stdhpp\xhash
libw32\include\xhash
VS7#151623 Relational comparisons for hash_maps were comparing only the
keys, not the entire pair. Same bug as 97336, this time for hash_map
instead of map.
-----------------------------------------------------------------
Wed 16-Aug-00 (PhilipLu)
doc\copysrc.bat
VS7#150831 (and 5437, reopened) Copysrc.bat needs to copy the makefiles
from the CRT build using xcopy /r, so that read-only files get replaced.
The build lab wasn't picking up the latest versions of these files because
of this.
Also added a few recent additional files that were missing from the
script, and expanded the usage comments.
-----------------------------------------------------------------
Wed 09-Aug-00 (PhilipLu)
crtw32\misc\seccook.c, secfail.c
VS7#147203 /GS failed with the debug CRTs because __security_check_cookie
wasn't preserving EAX. Rewrite as __declspec(naked) inline asm so /Od
builds won't trash EAX. Also changed code so in case of a failure,
control can never return to the user code (barring some sort of longjmp
in a user-installed handler). Instead, just ExitProcess if a reporting
handler returns.
-----------------------------------------------------------------
Tue 08-Aug-00 (GautamB)
crtw32\string\lsources
srcrel\object.mkf, pd-b
makefile.inc
Backed out the changes for new string routines.
-----------------------------------------------------------------
Tue 08-Aug-00 (GautamB)
crtw32\stdhpp\complex fstream iosfwd istream locale ostream sstream
streambuf string xlocale xlocmes xlocmon xlocnum xloctime
xmemory xstring yvals.h
libw32\include\limits, yvals.h
VS7#146241 Changed the _NATIVE_CRTBLD_WCHAR_T to _CRTBLD_NATIVE_WCHAR_T
for the all the headers except limits. And instead used
_CRTBLD_NATIVE_WCHAR_T include unsigned short version of wchar_t while
building CRT with wchar_t as native data type.
-----------------------------------------------------------------
Tue 08-Aug-00 (PhilipLu)
crtw32\misc\qsort.c
VS7#123134 The fix for vs7#99674 would cause the compare function to be
called with the same pointer passed for both arguments, which triggered
asserts in some user code that wasn't expecting self-compares (even though
that's fine by the standard). In the interest of backwards-compatibility,
tweak qsort() so it will never issue a self-compare. Also uncovered a
couple more minor performance wins, so the self-compare avoidance doesn't
slow down qsort().
crtw32\h\winheap.h
Make sure __active_heap isn't available for _WIN64 builds.
-----------------------------------------------------------------
Sun 06-Aug-00 (PhilipLu)
crtw32\dllstuff\crtexe.c
crtw32\startup\crt0.c, crt0dat.c
VS7#117746 Replace references to COM+ or complus with "managed."
fpw32\tran\i386\filter_simd.c, xmmi_types.h
Placeholder fix for new DAZ status bit in C-step Pentium 4 - don't handle
WNI exceptions if DAZ bit set. Last minute change from Intel for VC6PP,
propogated to VC7.
crtw32\heap\calloc.c, expand.c, malloc.c, realloc.c
VS7#131005 When using the system heap, don't round up allocations to
paragraph-multiples, since that defeats pageheap overrun detection. Keep
doing the rounding for the V5 and V6 heaps (even when the block is too
big for the small block heap), so we don't modify the behavior there and
potentially break existing (buggy) apps.
crtw32\startup\thread.c, threadex.c
VS7#118688 Detect and give errno EINVAL on NULL threadproc in _beginthread
and _beginthreadex.
-----------------------------------------------------------------
Tue 01-Aug-00 (Gautamb)
crtw32\string\wcsstr.c
VS7#145615 Fix for wcsstr("", "").
crtw32\convert\wcstol.c, wcstoq.c
VS7#5679, Added multilingual support for wcstol().
-----------------------------------------------------------------
Tue 01-Aug-00 (Gautamb)
makefile, makefile.inc
srcrel\makefile, object.mkf, pd-b
crtw32\string\lsources, sources.nt
Addfile
crtw32\string\ia64\memcpy.s, memset.s, strcmp.s, strcpy.s, strcat.s, strlen.s
Added intels drop for string routines
-----------------------------------------------------------------
Wed 26-Jul-00 (Gautamb)
crtw32\eh\frame.cpp
VS7#124342, Fixed the multiple destruction of exception object.
-----------------------------------------------------------------
Thu 20-Jul-00 (Gautamb)
crtw32\h\conio.h, stdio.h, wchar.h, ctypes.h, tchar.h
crtw32\stdhpp\wctype.h
Changed the typedef wchar_t wint_t to typedef unsigned short wint_t. This
is useful when wchar_t is native type.
-----------------------------------------------------------------
Thu 20-Jul-00 (PhilipLu)
makefile
Make sure the retail CRT DLLs are linked with /opt:icf to enable identical
comdat folding. Chops about 50K off msvcp70.dll after the duplication
of unsigned short and wchar_t specializations checked in on 7/17.
crtw32\h\i386\dvec.h
libw32\include\dvec.h
VS7#127201 Iu16vec8 ctor with 8 args was wrong in this file from Intel.
crtw32\misc\dbgheap.c
VS7#129571 _CrtIsValidHeapPointer should only test that the debug heap
block header can be read, not written. Testing that it is writeable would
require taking the heap lock to avoid multi-threaded corruption, and is
unnecessary.
crtw32\stdhpp\yvals.h
libw32\include\yvals.h
VS7#126171 Add #define of _CPPLIB_VER so we can do conditional compilation
based on version of the C++ Standard Library. Current version is 304.
-----------------------------------------------------------------
Mon 17-Jul-00 (GautamB)
crtw32\stdhpp\complex, fstream, ios, iosfwd, istream, limits, locale, ostream,
sstream, streambuf, string, xlocale, xlocmes, xlocmon, xloctime, xmemory,
xstring
crtw32\stdcpp\instances.cpp, locale.cpp, lsources, wcerr.cpp, wcin.cpp,
wclog.cpp, wcout.cpp, wiostrea.cpp
libw32\include\iosfwd
crtw32\tools\win32\relinc.if
srcrel\pd-b
makefile, makefile.inc
Addfile:
crtw32\ushcerr.cpp, ushcin.cpp, ushclog.cpp, ushcout.cpp, ushiostr.cpp
VS7#123149 On compiling with -Zc:wchar_t, we would have replace all the
entry points in the msvcp70.dll with wchar_t version. Now the problem was
no programs compiling without -Zc:wchar_t would not be able to use this
dll. Fixed this problem by including both wchar_t version and unsigned
short versions of all the entrypoints.
-----------------------------------------------------------------
Fri 14-Jul-00 (GautamB)
crtw32\h\useoldio.h, wchar.h
libw32\inc64\useoldio.h, wchar.h
libw32\include\useoldio.h, wchar.h
VS7#5709 Adding defination for memcpy and memmove in the inline function
gave warning on PREFIX tools. move the definations out of the functions to
solve the problem.
VS7#127305 _OLD_IOSTREAMS_ARE_DEPRECATED warning was also given on IA64
which should not be there at this point.
-----------------------------------------------------------------
Mon 10-Jul-00 (PhilipLu)
crtw32\stdhpp64\xtree
libw32\inc64\xtree
Propogate VC6SP4 fix for vs98#56775 (deadlock in xtree) to the old Win64
headers.
crtw32\tools\win32\relinc64.cmd, relinc64.sed [NEW]
64-bit release headers should not get _STATIC_CPPLIB change of Jul 6. This
is a partial fix - "do_relinc 64" is still not doing exactly the right
thing for wchar.h.
-----------------------------------------------------------------
Mon 10-Jul-00 (PhilipLu)
mkbld.cmd [NEW]
Script to call cleanbld.cmd, save output in "build.log", and grep output
for errors or warnings when done.
srcrel\msvc40.if
Silence cleansing-stage warnings about setjmp and _STATIC_CPPLIB.
libw32\msvcprt.src
Fix VC IA64 CRT build broken by Dinkumware 000524 integration.
-----------------------------------------------------------------
Fri 07-Jul-00 (PhilipLu)
makefile.inc
crtw32\stdcpp\delaop2.cpp, delop2.cpp, fiopen.cpp, instances.cpp, locale.cpp,
locale0.cpp, lsources, newaop.cpp, newaop2.cpp, sources.nt, xcosh.c,
xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdscale.c, xfdtest.c,
xferaise.c [NEW], xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldscale.c,
xldtest.c, xlexp.c, xlsinh.c, xlvalues.c, xsinh.c, xvalues.c
crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, csetjmp, csignal, cstdarg, cstddef, cstdio,
cstdlib, cstring, ctime, cwchar, cwctype, deque, fstream, hash_map,
hash_set, ios, iosfwd, iso646.h, istream, iterator, limits, list, locale,
map, memory, new, ostream, queue, set, sstream, stl.h, streambuf, vector,
xcomplex, xhash, xiosbase, xlocale, xlocinfo.h, xlocnum, xmemory, xstring,
xtree, xutility, ymath.h, yvals.h
crtw32\tools\win32\relinc.if
doc\copysrc.bat
libw32\msvcprt.src
libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, csetjmp, csignal, cstdarg, cstddef, cstdio,
cstdlib, cstring, ctime, cwchar, cwctype, deque, fstream, hash_map,
hash_set, ios, iosfwd, iso646.h, istream, iterator, limits, list, locale,
map, memory, new, ostream, queue, set, sstream, stl.h, streambuf, vector,
xcomplex, xhash, xiosbase, xlocale, xlocinfo.h, xlocnum, xmemory, xstring,
xtree, xutility, ymath.h, yvals.h
srcrel\pd-b
Finish integrating 000524 drop of Dinkumware C++ Library. This fixes VS7
bugs 5294, 5311, 72100, 97336, 113256
This code checks in a number of changes currently under #ifdef. Code under
_GLOBAL_USING and _HAS_MEMBER_TEMPLATES_REBIND is waiting for the next
vcLKG compiler update before being enabled. The code under
_HAS_TEMPLATE_PARTIAL_REORDERING is waiting for a potential compiler fix
in the VC7 timeframe. If that doesn't happen, the code will have to stay
disabled to avoid compiler errors (code is for optimization only, not
correctness). I've also got code under _RETAIN_OLD_CRT_CODE that is there
so that msvcp70.dll doesn't lose any exports. Once the next vcLKG update
takes place, the _RETAIN_OLD_CRT_CODE sections can be removed.
Finally, I've added _DEPRECATED (__declspec(deprecated)) to a number of
locale-related functions from VC6 which are being retained for backwards
compatibility but have been superceded by standard-conforming versions.
-----------------------------------------------------------------
Wed 06-July-00 (GautamB)
crtw32\h\wchar.h, internal.h
crtw32\stdhpp\yvals.h, string, xloctime, xlocnum, xlocmon, xlocmes, xlocale,
xcomplex, wctype.h, complex, fstream, ios, iosfwd, istream, locale,
use_ansi.h, typeinfo, string, streambuf, sstream, ostream, locale,
istream, iosfwd
Changed the headers so as to be able to statically link to STL even when
compiling with /MD option.
-----------------------------------------------------------------
Wed 06-July-00 (GautamB)
fpw32\tran\ia64
VS7#126252, VS7#126122, VS7#125822.
The original libm_error_support used to set return values for domain
errors which was not compatible with MS libm stuff (fixed). Also fixed the
cases where matherr did not worked for float math functions.
-----------------------------------------------------------------
Fri 23-Jun-00 (PhilipLu)
crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop2.cpp, delop2.cpp,
fiopen.cpp, instances.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
locale.cpp, locale0.cpp, newaop.cpp, newaop2.cpp, newop.cpp, newop2.cpp,
nomemory.cpp, nothrow.cpp, raisehan.cpp, stdhndlr.cpp, stdthrow.cpp,
string.cpp, strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp, wclog.cpp,
wcout.cpp, wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp, xcosh.c,
xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c, xfdscale.c,
xfdtest.c, xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldnorm.c, xldscale.c,
xldtest.c, xlexp.c, xlocale.cpp, xlpoly.c, xlsinh.c, xlvalues.c, xmath.h,
xpoly.c, xsinh.c, xstod.c, xvalues.c
crtw32\stdhpp\algorithm, bitset, complex, deque, exception, fstream,
functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream, iso646.h,
istream, iterator, limits, list, locale, map, memory, new, numeric,
ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf, string,
strstream, typeinfo, utility, valarray, vector, xcomplex, xhash, xiosbase,
xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
libw32\stdhpp\algorithm, bitset, complex, deque, exception, fstream,
functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream, iso646.h,
istream, iterator, limits, list, locale, map, memory, new, numeric,
ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf, string,
strstream, typeinfo, utility, valarray, vector, xcomplex, xhash, xiosbase,
xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
xmath.h, xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
First step in integrating 000524 drop of Dinkumware C++ Library.
Reformatting sources and renaming some variables to bring in line with
the new drop, while not changing semantics at all (verified by doing
binary compares of the compiled libraries). Done so I can cleanly compare
the current sources against the new drop.
-----------------------------------------------------------------
Wed 21-Jun-00 (PhilipLu)
crtw32\stdhpp\iso646.h
libw32\include\iso646.h
VS7#23138 The names #defined in iso646.h are keywords in C++ under /Za
only, so for /Ze, the defines should stay.
crtw32\stdhpp\exception, typeinfo
crtw32\stdhpp64\exception, typeinfo
libw32\include\exception, typeinfo
libw32\inc64\exception
Remove obsolete references to _NTSDK in conditional definition of _CRTIMP.
-----------------------------------------------------------------
Wed 21-Jun-00 (GautamB)
Modified
crtw32\eh\frame.cpp
VS7#107054 Fixed differece in order of destruction depending on inlining.
crtw32\heap\align.c
crtw32\misc\dbgheap.c
VS7#116389 Changed _aligned_realloc to mimic _realloc.
fpw32\tran\fpexcept.c
VS7#122777 Added _logb in the list of get_fname() so that matherr could be
called for _logb.
crtw32\h\useoldio.h
Added #pragma deprecated(_OLD_IOSTREAMS_ARE_DEPRECATED) to generate
warning for _OLD_IOSTREAMS_ARE_DEPRECATED.
fpw32\tran\ia64\libm_error.c libm_support.h
VS7#120653 Added _MS_ as new LIB_VARIABLE to support ms matherr handling.
-----------------------------------------------------------------
Tue 20-Jun-00 (PhilipLu)
crtw32\eh\hooks.cpp
Improve stackwalk through terminate() or _inconsistency() by getting rid
of unnecessary __try/__finally protection, since __try/__except already
present.
crtw32\mbstring\mbctype.c
Reenable 6/3/00 fix for VS7#115987. Prevent reoccurence of VS7#116902 by
getting rid of circular pprev/pnext linked list pointers in threadmbcinfo
struct. Fix _POSIX_ problem that could fail to initialize fSystemSet.
Fix minor performance issue in _setmbcp that would unnecessarily update
__ptmbcinfo when setting codepage _MB_CP_OEM/_MP_CP_ANSI/_MB_CP_LOCALE that
was already set.
crtw32\startup\tidtable.c
VS7#118174 _freeptd shouldn't free thread mbcinfo if its the same as
global __ptmbcinfo.
crtw32\h\mbctype.h, mbdata.h, mbstring.h, mtdll.h, setlocal.h
srcrel\msvc40.if
Remove threadmbcinfo.{pprev,pnext}, and rename THREADMBCINFO to
_THREADMBCINFO, THREADLOCALEINFO to _THREADLOCALEINFO.
crtw32\stdcpp\newaop.cpp, newop.cpp
crtw32\stdhpp\new, xstddef
libw32\include\new, xstddef
VS7#112746 Use _THROW1(exception) instead of _THROW0(/*exception*/) so
/EHs compiles get proper throw info. Also define _THROW1(x) as (...) to
avoid warning C4290.
crtw32\h\trnsctrl.h
crtw32\eh\frame.cpp
crtw32\eh\ia64\trnsctrl.cpp
VS7#111429 (From RLanser/TiborL) IA64 workaround for SQL crash while
handling a throw.
-----------------------------------------------------------------
Tue 06-Jun-00 (KFrei)
Modified
crtw32\rtc\pdblkup.cpp
VS7#110178 Modified Src/Line# lookup to use PDB7 format
-----------------------------------------------------------------
Wed 07-Jun-00 (GautamB)
Modified
crtw32\stdhpp64\deque
libw32\inc64\deque
VS7#78357 Fixed Leaks in deque.
-----------------------------------------------------------------
Wed 07-Jun-00 (PhilipLu)
crtw32\mbstring\mbctype.c
VS7#116902 Back out the fix of Jun 3 for vs7#115987. That fix exposes a
bug in the circular linked list insertion in multithread version of
_setmbcp. The fix for 115987 will be reinstated with a fix for the
_setmbcp bug next week, after we split the trees for the PDC.
-----------------------------------------------------------------
Sun 04-Jun-00 (PhilipLu)
cleanbld.cmd, clns_bld.bat, makefile
srcrel\bldnt.cmd, bldwin95.bat, external.mkf, makefile
Change the environment variable pointing to the VC++ tools installation
from V6TOOLS to VCTOOLS. The old environment variable V6TOOLS is still
supported for now for internal builds, but not in the user CRT rebuild.
cleanbld.cmd
Tweaking the CRTMKDEP and DELOBJ options of cleanbld.cmd to make the
V6TOOLS->VCTOOLS switch go smoothly. CRTMKDEP will regenerate the
depend.def dependency files even if they already exist. DELOBJ will now
delete the %CRT_BUILDDIR%\srcrel directory tree (an oversite I should have
done when the files produced from the %CRTSRC%\srcrel stuff was moved into
the %CRT_BUILDDIR% directory).
makefile
VS7#5678 The makefile should default VCTOOLS to the default installation
point for VC7, not "\MSDEV", so the user CRT rebuild will work in a clean
installation without user intervention.
-----------------------------------------------------------------
Sat 03-Jun-00 (PhilipLu)
crtw32\mbstring\mbctype.c
VS7#115987 __updatetmbcinfo wasn't updating the per-thread mbcinfo(!).
Every call to something like _ismbcspace would thus call __updatetmbcinfo,
which takes a lock, so multithread apps using the MBCS APIs can exhibit
a big performance loss when moving from NT4 (with a VC6 CRT) to Win2K
(with a VC6.1 CRT).
crtw32\mbstring\ismbdgt.c, ismbspc.c
VS7#116057 speed up multithread version of _ismbcspace and _ismbcdigit.
crtw32\stdhpp\xhash
libw32\include\xhash
VS7#85385 hash_set/hash_map could crash because of bugs in growing the
underlying hash structure. Surgically applying fix from Dinkumware.
crtw32\stdcpp\ios.cpp, locale.cpp, locale0.cpp
crtw32\stdhpp\xlocale
libw32\include\xlocale
VS7#116039 Lock instantiations of the form "_Lockit _Lock(_LOCK_LOCALE);"
were useless because _LOCK_LOCALE was defined to nothing, turning the
object definition into a prototype for a function _Lock, so no lock was
actually taken.
-----------------------------------------------------------------
Fri 02-Jun-00 (GautamB)
Modified
crtw32\convert\strtoq.c, wcstoq.c
VS7#115219 Fixed the special case for _I64_MIN. Previously underflow
occurred at -_I64_MAX.
-----------------------------------------------------------------
Thu 01-Jun-00 (PhilipLu)
crtw32\h\crtdbg.h
crtw32\misc\dbgheap.c
libw32\include\crtdbg.h
libw32\inc64\crtdbg.h
VS7#55049 Add new routine _CrtReportBlockType which can be called from a
client block dumper (as called by _CrtDoForAllClientObjects) to retrieve
the block type, allowing the subblock types of _CLIENT_BLOCK's to be
queried.
makefile
VS7#109278 Base the VC++ CRTs into the 0x5D?????? range so they don't
conflict with the URT DLLs.
crtw32\startup\threadex.c
VS7#114394 If _beginthreadex is called with a NULL thrdaddr parameter,
call CreateThread with a pointer to a dummy location to store the thread
ID. CreateThread on Win9x cannot be called with a non-NULL final argument.
-----------------------------------------------------------------
Thu 01-Jun-00 (GautamB)
Modified
crtw32\h\setjmpex.h
VS7#113737 fixed the macro redefination problem arising due to order of
including the header setjmp.h and setjmpex.h. Now for the case on IA64,
inclusion of setjmpex.h will define setjmp to _setjmpex on matter if
setjmp.h is included or not.
-----------------------------------------------------------------
Tue 30-May-00 (GautamB)
Modified
crtw32\h\setjmpex.h
VS7#113737 fixed the macro redefination problem arising due to order of
including the header setjmp.h and setjmpex.h
Modified
crtw32\misc\ia64\setjmp.s
libw32\msvcrt.src, syscrt.src, syscrt64.src
VS7#103476 Added entry point for _setjmp() along with setjmp() in setjmp.s
to make it compatible to what function we have on x86. The problem was
that we had setjmp() on x86 and _setjmp() on ia64.
crtw32\stdio\input.c
vs7#5473 Fixed the problem with scanf while reading octal or hex integers
when format specifier is %d. Which was not according to the standards
-----------------------------------------------------------------
Wed 31-May-00 (KFrei)
crtw32\rtc\error.cpp
crtw32\rtc\init.cpp
crtw32\rtc\initsect.cpp
crtw32\rtc\userapi.cpp
VS7#95387,110897 initialization simplified - no more locking
-----------------------------------------------------------------
Tue 30-May-00 (PhilipLu)
crtw32\h\i386\fvec.h
libw32\include\fvec.h
VS7#101068 add missing functions simd_avg (from Intel).
-----------------------------------------------------------------
Tue 30-May-00 (GautamB)
Modified
crtw32\eh\frame.cpp
VS7#112630 Some more COM+ bug fixes for rethrows from different points.
-----------------------------------------------------------------
Wed 24-May-00 (GautamB)
Modified
Makefile.sub
VS7#84575 The retail IA64 CRT is currently built with /Zx (use debuggable
optimizations). This is removed from makefile.sub.
Modified
crtw32\eh\frame.cpp
VS7#5704 Handling STATUS_BREAKPOINT by catch() was not intended. Fixed
this for cases when this exception could be caught by catch(...) of any
other catch by use of __set_se_translator().
-----------------------------------------------------------------
Tue 23-May-00 (GautamB)
modified
crtw32\misc\setenv.c
VS7#100392 Fixed setenv to return error for the case when
SetEnvironmentVariable() returns error even if the variable is set in CRT
environment.
Modified
crtw32\convert\atox.c, wtox.c, lsources, sources.nt
crtw32\h\tchar.h, wchar.h, stdlib.h
Add File
crtw32\convert\wtof.c
VS7#5708 Added new function _wtof and macros for _wtof, _wtoi, _wtoi64
Modified
doc\copysrc.bat
vs7# 110154Added the filenames of newly added file.
-----------------------------------------------------------------
Thu 18-May-00 (GautamB)
modified
crtw32\misc\w_cmp.c
crtw32\lowio\getwch.c, putwch.c
VS7#100392 Fixed the return values when W API return with error not equal
to ERROR_CALL_NOT_IMPLEMENTED.
-----------------------------------------------------------------
Wed 17-May-00 (PhilipLu)
crtw32\h\stdarg.h, varargs.h
libw32\include\stdarg.h, varargs.h
libw32\inc64\stdarg.h, varargs.h
VS7#109619 - support soft2.5 changes to varargs handling of structs.
Changes to _APALIGN macro required for IA64, using __alignof intrinsic.
-----------------------------------------------------------------
Wed 17-May-00 (GautamB)
modified
crtw32\misc\getqloc.c
VS7#62160 For most LCIDs, the combination of the expanded English-language
Language/Country pair is unique, but that's not true for 0414 and 0814 on
NT5. They both map to Norwegian/Norway. Taking LCID 0814 as special
case, we return Langauge name as Norwegian-Nynorsk.
-----------------------------------------------------------------
Wed 17-May-00 (GautamB)
modified
crtw32\misc\a_cmp.c, a_env.c, a_loc.c, a_map.c, a_str.c, aw_com.c, w_cmp.c,
w_env.c, w_loc.c, w_map.c, w_str.c
crtw32\lowio\getwch.c, cgetws.c, putwch.c
VS7#100392. Used error = ERROR_CALL_NOT_IMPLEMENTED to check for
availablity of Unicode version of APIs. This prevents quick fall back to
A version of APIs.
-----------------------------------------------------------------
Wed 17-May-00 (PhilipLu)
crtw32\h\i386\emmintrin.h, mmintrin.h, xmmintrin.h
libw32\include\i386\emmintrin.h, mmintrin.h, xmmintrin.h
For JasonSh - the __m128, __m64, __m128i, and __m128d are now declared in
the headers, instead of automatically being defined by the C/C++ frontend.
-----------------------------------------------------------------
Mon 15-May-00 (PhilipLu)
makefile, makefile.inc
crtw32\eh\ehvccctr.cpp [NEW], ehvcccvb.cpp [NEW], lsources
crtw32\eh\dll\sources
crtw32\eh\dlllib\sources
crtw32\eh\i386\ehcrt.mak
crtw32\eh\ia64\ehcrt.mak
crtw32\eh\mt\sources
crtw32\eh\nt\sources
crtw32\eh\st\sources
libw32\makefile
srcrel\objects.mkf, pd-b
VS7#103362 - Add new compiler support routines for EH-aware vector copy
constructors. When the compiler generates a default copy-ctor for an
object which has a data member that's an array of constructable types, and
exceptions are enabled, it needs to call a helper which unwinds the
partially constructed array in case a copy-ctor of an array element throws.
-----------------------------------------------------------------
Mon 15-May-00 (GautamB)
modified
fpw32\tran\lsources
srcrel\pd-b
fpw32\tran\ia64\atan.s, atanf.s, powf.s, pow.s, hypot.s, hypotf.s
Newer version of atan used uninitialised states and causing wrong
calculations. Restored the older version of atan. Newer version of pow did
not handle errors correctly. Restored the older version.
delfile
fpw32\tran\ia64\matherr.c, matherrf.c, math_err.c math_errf.c
Deleted the intel math error handling files so as to use CRT math error
handling functions.
-----------------------------------------------------------------
Thu 11-May-00 (PhilipLu)
makefile.sub
IA64 build: if debug info is enabled, then add "-d debug" switch to ias
cmdlines.
-----------------------------------------------------------------
Thu 11-May-00 (GautamB)
crtw32\startup\crt0msg.c
VS7#104567 Modified _NMSG_WRITE so not to call _CrtDbgReport for _RT_BANNER.
-----------------------------------------------------------------
Thu 11-May-00 (PhilipLu)
crtw32\misc\qsort.c
VS7#99674 Performance tuning on qsort(). Sorting the pathological case
of 0,1,0,1,... sped up by 2500x(!). Also made sure all comments about
invariant conditions are up-to-date.
-----------------------------------------------------------------
Wed 10-May-00 (GautamB)
fpieee\tran\i386\87triga.asm
VS7#99780. fixed atan2(-0.0, 1.0) to return -0.0.
-----------------------------------------------------------------
Wed 03-May-00 (Build Lab for PhilipLu)
crtw32\stdhpp\sstream, xiosbase, xlocnum, xstring
libw32\include\sstream, xiosbase, xlocnum, xstring
Check in files from the 000202 Dinkumware drop that break backward
compatibility with the C++ Library DLL entrypoint list. Done as part of
updating the devtools LKG toolset.
-----------------------------------------------------------------
Wed 03-May-00 (PhilipLu)
makefile.sub
The DLL build should always be built /Z7, not just when doing a build on
a multi-proc machine. Don't want the build producing a different set of
files depending on how many CPUs the build machine happens to have.
libw32\inc64\math.h, stdlib.h
Backing out BryanT's last checkin of these headers. The math.h checkin
wipes out a change made last year, and the stdlib.h checkin wipes out some
CRT DLL entrypoints which are obsolete, but should probably be preserved.
The stdlib.h change is actually an overly-aggressive fix for the problem
noted in VS7#22423.
srcrel\mkclnmkf.c
Fix trivial typo reported by X-Box (== should have been =).
-----------------------------------------------------------------
Mon 01-May-00 (BryanT)
makefile
crtw32\crt32.nt, dirs
crtw32\eh\dirs
crtw32\helper\nt\sources
crtw32\linkopts\sources
crtw32\small\makefile.inc, sources
fpw32\fp32.nt
fpw32\tran\sources.nt
libw32\dirs
libw32\lib\sources.nt
libw32\lib\dll\makefile.inc
libw32\lib\dll40\sources
libw32\lib\exsup\makefile, sources
NT Build cleanup.
crtw32\heap\malloc.c, sbheap.c
crtw32\startup\crt0dat.c
crtw32\string\strlwr.c, strupr.c
POSIX changes
crtw32\startup\crt0.c
libw32\inc64\deque, list, math.h, stdlib.h, typeinfo, vector, xlocale, xlocnum
WIN64 changes
-----------------------------------------------------------------
Mon 01-May-00 (GautamB)
Addfile
fpieee\tran\ia64\acos.s, acosf.s, asin.s, asinf.s, atan.s, atan2.s, atan2f.c,
atan2f.s, atanf.c, atanf.s, ceil.s, ceilf.c, ceilf.s, ceill.s, cosh.s,
coshf.s, exp.s, expf.c, expf.s, fabs.s, fabsf.s, floor.s, floorf.s, fmod.s,
fmodf.c, fmodf.s, hypot.s, hypotf.s, isnan.s, isnanf.s, ldexp.s, ldexpf.s,
libm_atan2_reg.s, libm_error.c, libm_reduce.s, libm_support.h, libm_tan.s,
log.s, logb.s, logbf.s, logf.s, pow.s, powf.s, remainder.s, remainderf.s,
scalb.s, scalbf.s, sincos.s, sincosf.s, sinh.s, sinhf.s, sqrt.s, sqrtf.s,
tan.s, tanf.s
Added new IA64 math routines files in assembly.
-----------------------------------------------------------------
Mon 01-May-00 (GautamB)
fpeee\tran\i386\log.asm, pow.asm, sqrt.asm, trig.asm, triga.asm
VS7#86209 Speeding up the math routines by assuming (Guranteed for
optimisation for speed) that the esp will be offset by 4 byte from
alignment on 8 and then subtracting 4 extra bytes to align it to 8 for
faster float excess.
-----------------------------------------------------------------
Mon 01-May-00 (BryanT)
crtw32\eh\mips
crtw32\eh\ppc
crtw32\helper\mips
crtw32\helper\ppc
crtw32\misc\mips
crtw32\misc\ppc
crtw32\small\mips
crtw32\startup\mips
crtw32\startup\ppc
crtw32\string\mips
crtw32\string\ppc
fpw32\tran\mips
fpw32\tran\ppc
libw32\lib\mips
libw32\lib\ppc
Delete dead code for mips and ppc. Don't delete dirs in case someone
wants to resurrect code at a later date...
-----------------------------------------------------------------
Tue 25-Apr-00 (GautamB)
addfile
crtw32\lowio\getwch.c, cgetws.c
crtw32\stdio\cwscanf.c
modified
crtw32\h\wchar.h, tchar.h, conio.h (libw32\include and libw32\inc64)
libw32\msvcrt.src, syscrt.src, syscrt64.src
srcrel\pd-b
makefile.inc
VS7#86398. Added Unicode version of console input functions.
-----------------------------------------------------------------
Tue 25-Apr-00 (PhilipLu)
fpw32\tran\i386\debug.c, debug.h, filter.c, filter_simd.c, xmmi2_fp_emul.c
VS7#90752, 90760, 90764, 90769, 90775, 90779, 90782, 91746 - fixes for SIMD
support in _fpieee_flt from Intel.
makefile, makefile.sub
Add BLD_CRT_LTCG to makefiles, to enable building a CRT with Link Time
CodeGen enabled. Off by default, only there for internal use.
-----------------------------------------------------------------
Mon 24-Apr-00 (PhilipLu)
crtw32\misc\ia64\memcpys.s, memsets.s
UTC_P7#1509 - memset and memcpy were truncting the size to 32-bits.
Propogate RLanser's fix from the \\lang5\v7.ia64sdk3!crt SLM tree.
crtw32\stdcpp64\xdnorm.c, xfdnorm.c, xfvalues.c, xlvalues.c, xvalues.c
Work around new warning C4554 for code like "1 << _OFF + 1". Added parens
to give "1 << (_OFF + 1)". The old code was fine, just needed to shut up
the warning.
crtw32\misc\sbheap.c
Fix memset typo reported by X-Box. Count and value args were reversed.
Only in V5 SBH code, so not a big deal.
-----------------------------------------------------------------
Fri 21-Apr-00 (PhilipLu)
crtw32\eh\rtti.cpp
crtw32\h\rtti.h
Disable new warning C4297 about a throw in an extern "C" function by
adding explicit exception specification to compiler helpers for
dynamic_cast and RTTI.
-----------------------------------------------------------------
Wed 19-Apr-00 (GautamB)
crtw32\eh\frame.cpp
VS7#96508 96370 96341 93684 89697 Bug fixes.
-----------------------------------------------------------------
Tue 18-Apr-00 (GautamB)
crtw32\eh\frame.cpp
Minor Bug fixes.
-----------------------------------------------------------------
Thu 14-Apr-00 (GautamB)
crtw32\stdcpp\xdnorm.c, xfdnorm.c, xvalues.c, xfvalues.c, xlvalues.c
Fixed warning no. C4554 about the precedence of - and << operator.
-----------------------------------------------------------------
Thu 06-Apr-00 (GautamB)
crtw32\eh\frame.cpp
Add more functions for C++ eh support in com+
-----------------------------------------------------------------
Wed 05-Apr-00 (PhilipLu)
makefile
Buildfix for msvcp* C++ DLL. Stdhndlr.obj wasn't being included in the
DLL.
-----------------------------------------------------------------
Wed 05-Apr-00 (PhilipLu)
crtw32\eh\ia64\trnsctrl.cpp
New version of macro GetLanguageSpecificData copied from ntia64.h, supplied
by Steve Hanson.
-----------------------------------------------------------------
Wed 05-Apr-00 (PhilipLu)
crtw32\misc\i386\sehprolg.asm [NEW]
crtw32\misc\lsources
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\makefile, objects.mkf, pd-b
makefile, makefile.inc
Add __SEH_prolog compiler helper for /O1 SEH support.
-----------------------------------------------------------------
Tue 28-Mar-00 (GautamB)
crtw32\eh\frame.cpp
VS7#88408. HT_DISPCATCH is used to detect no object (catch by type) for
native, but doesn't work for COM+ - check for a null in the catch object.
-----------------------------------------------------------------
Mon 27-Mar-00 (PhilipLu)
makefile, makefile.inc
libw32\msvcrt.src, syscrt.src
srcrel\makefile, mkclnmkf.c
Enable 64-bit VC CRT build by setting SYS_BLDCRT=0 and LLP64=1 during
build. Will build CRT DLLs with the VC7.0 names instead of the old
system names.
crtw32\stdcpp\strstrea.cpp
crtw32\stdhpp\istream, strstream, xiosbase
libw32\include\istream, strstream, xiosbase
Bugfixes to enable building VC7.0 C++ Standard Library for Win64.
crtw32\stdhpp\fstream, sstream, streambuf
libw32\include\fstream, sstream, streambuf
Temporary casts to enable building VC7.0 C++ Standard Library for Win64.
Looks like some C++ Standard methods assume an int can be used for
stream offsets, others use "streamsize" which we currently set to signed
__int64 on Win64. Until those can be reconciled, add casts to silence
warnings. Code currently can experience problems with file sizes > 2 GB.
-----------------------------------------------------------------
Mon 27-Mar-00 (PhilipLu)
crtw32\eh\ehvecctr.cpp, ehveccvb.cpp, ehvecdtr.cpp, frame.cpp, rtti.cpp,
throw.cpp
crtw32\eh\ia64\handlers.s, trnsctrl.cpp
crtw32\misc\ia64\jmpuwind.s
makefile.sub, ntia64bld.cmd
langapi\include\ehdata.h, rttidata.h
Remove CC_P7_SOFT25 references from IA64 build, and make it the default.
-----------------------------------------------------------------
Tue 21-Mar-00 (GautamB)
crtw32\misc\dbgheap.c
crtw32\heap\align.c
ReOrganised _aligned_offset routines. Fixed vs7#87724. Made
_aligned_malloc and _aligned_realloc as one liner that would return the
value from _aligned_offset routines with offset = 0.
-----------------------------------------------------------------
Fri 17-Mar-00 (PhilipLu)
crtw32\time\strftime.c
VS7#9374 std::time_put::put failed because time formatting for _Strftime
wasn't initializing the final element ww_timefmt. Fix from PJP (actually,
it's been there since mid-'98 in a file I didn't understand should be
merged into the main CRT tree).
-----------------------------------------------------------------
Thu 16-Mar-00 (GautamB)
crtw32\misc\dbgheap.c
crtw32\heap\align.c
VS7#86467 Offset >= size doesn't make any sense. If offset is >=, then
1) assert for debug version, 2) return EINVAL error.
-----------------------------------------------------------------
Thu 16-Mar-00 (GautamB)
crtw32\misc\dbgheap.c
crtw32\heap\align.c
VS7#87084, 86467. Aligned routines were using 1 extra byte. (fixed). Also
checked to -ve values of offset.
-----------------------------------------------------------------
Thu 16-Mar-00 (GautamB)
crtw32\convert\toupper.c, tolower.c
VS7#9616 The performance enhancement changes were only visible for
_tolower(). __tolower_mt() is also used at a lot of places. Modified code
such that the performance changes are visible for both of them.
-----------------------------------------------------------------
Thu 16-Mar-00 (GautamB)
crtw32\lowio\putwch.c
VS7#58257 _putwch was using GetConsoleCP() for conversion from Unicode to
MBCS. Changed it to more suitable GetConsoleOutputCP().
-----------------------------------------------------------------
Wed 15-Mar-00 (GautamB)
crtw32\stdio\sprintf.c swprintf.c vsprint.c vswprint.c
crtw32\h\stdio.h wchar.h tchar.h
libw32\include\stdio.h wchar.h tchar.h
libw32\inc64\stdio.h wchar.h tchar.h
Added a set of new functions which can be used to count the number of
characters needed for printing formatted data using printf or any such
function. (_scprintf(), _scwprintf(), _vscprintf(), _vscwprintf())
-----------------------------------------------------------------
Fri 10-Mar-00 (GautamB)
crtw32\convert\tolower.c, toupper.c
crtw32\string\stricmp.c, stnicmp.c, memicmp.c
Moved the performance enhancement stuff from stricmp routines to
conversion routines.
-----------------------------------------------------------------
Fri 10-Mar-00 (GautamB)
crtw32\stdio\output.c, sprintf.c vsprintf.c
VS7#83962 - Modified sprintf and vsprintf so as to return length of the
formatted even on passing NULL pointer for destination string
-----------------------------------------------------------------
Thu 09-Mar-00 (PhilipLu)
crtw32\h\i386\xmmintrin.h
libw32\include\xmmintrin.h
VSPP#78 - xmmintrin.h should not declare _mm_malloc and _mm_free when
using VC. It should include malloc.h to get them, instead.
srcrel\pd-b
Copy over the Intel- and AMD-supplied headers from libw32\include to the
build tree.
-----------------------------------------------------------------
Wed 08-Mar-00 (PhilipLu)
crtw32\h\i386\emmintrin.h, fvec.h, ivec.h, mmintrin.h, xmmintrin.h
libw32\include\emmintrin.h, fvec.h, ivec.h, mmintrin.h, xmmintrin.h
Latest versions of Intel-supplied FP intrinsics headers.
-----------------------------------------------------------------
Tue 07-Mar-00 (PhilipLu)
fpw32\tran\ia64\huge.s
UTC_P7#1386 - _HUGE was 4-byte aligned, should be 8.
-----------------------------------------------------------------
Mon 06-Mar-00 (PhilipLu)
crtw32\h\internal.h
crtw32\startup\crt0.c, crt0dat.c, mlock.c
VS7#83663 - Call __crtExitProcess instead of ExitProcess. __crtExitProcess
checks to see if this is a COM+ app by doing a GetModuleHandle on
mscoree.dll, then looking for the CorExitProcess entrypoint, and calling
that instead of ExitProcess if it's found. This allows COM+ to clean up
cleanly when using the CRT, so the FinalizerThread has a chance to do its
exit processing.
-----------------------------------------------------------------
Mon 06-Mar-00 (PhilipLu)
Propogate fixes/changes made to the VC6 ProcessorPack CRT:
crtw32\eh\i386\trnsctrl.cpp
Warning C4851 is gone for VC6 and VC7, now just C4731.
crtw32\h\fpieee.h
fpw32\tran\lsources
fpw32\tran\i386\debug.c [NEW], debug.h [NEW], filter.h, filter_simd.c,
xmmi2_fp_emul.c [NEW], xmmi_fp_emul.c, xmmi_types.h
libw32\include\fpieee.h
libw32\inc64\fpieee.h
srcrel\pd-b
New WNI support and KNI bugfixes for _fpieee_flt.
crtw32\h\i386\dvec.h [NEW], emmintrin.h [NEW], fvec.h [NEW], ivec.h [NEW],
mm3dnow.h [NEW], mmintrin.h [NEW], xmmintrin.h [NEW]
libw32\include\dvec.h [NEW], emmintrin.h [NEW], fvec.h [NEW], ivec.h [NEW],
mm3dnow.h [NEW], mmintrin.h [NEW], xmmintrin.h [NEW]
srcrel\makefile, pd-b
New headers of vendor-supplied FP intrinsics. These do not get used by
the CRT build; they are simply there to be dropped to users.
crtw32\tools\win32\relinc.cmd
Handle new vendor-supplied FP intrinsic headers for 32-bit includes.
-----------------------------------------------------------------
Fri 03-Mar-00 (PhilipLu)
crtw32\misc\ia64\chandler.c
Fix for SEH support from Intel.
-----------------------------------------------------------------
Fri 03-Mar-00 (GautamB)
crtw32\h\trnsctrl.h
crtw32\eh\frame.cpp
libw32\msvcrt.src, syscrt.src, syscrt64.src
Exported __DestructExceptionObject from dll and made slight changes to
definition of __CxxExceptionFilter.
-----------------------------------------------------------------
Thu 02-Mar-00 (PhilipLu)
crtw32\eh\i386\trnsctrl.cpp
VS7#83643 - _UnwindNestedFrames must preserve callee-save regs EBX, ESI,
and EDI, since RtlUnwind will trash them all.
-----------------------------------------------------------------
Mon 28-Feb-00 (PhilipLu)
makefile, makefile.inc
crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop2.cpp, delop2.cpp,
fiopen.cpp, instances.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
locale.cpp, locale0.cpp, lsources, newaop.cpp, newaop2.cpp, newop2.cpp,
nomemory.cpp, nothrow.cpp [NEW], raisehan.cpp, sources.nt, stdhndlr.cpp,
stdthrow.cpp, string.cpp, strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp,
wclog.cpp, wcout.cpp, wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp,
xcosh.c, xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c,
xfdscale.c, xfdtest.c, xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldnorm.c,
xldscale.c, xldtest.c, xlexp.c, xlocale.cpp, xlpoly.c, xlsinh.c,
xlvalues.c, xmath.h, xpoly.c, xsinh.c, xstod.c, xvalues.c
crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
iso646.h, istream, iterator, limits, list, locale, map, memory, new,
numeric, ostream, queue, set, sstream, stack, stdexcept, streambuf, string,
strstream, utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale,
xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmemory,
xstddef, xstring, xtree, xutility, ymath.h, yvals.h
doc\copysrc.bat
libw32\msvcprt.src
libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
iso646.h, istream, iterator, limits, list, locale, map, memory, new,
numeric, ostream, queue, set, sstream, stack, stdexcept, streambuf, string,
strstream, utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale,
xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmath.h,
xmemory, xstddef, xtree, xutility, ymath.h, yvals.h
srcrel\pd-b
Integrate the 000202 drop of the C++ Library from Dinkumware. Main change
is to reformat all the headers and use longer identifiers. Header xstring
not yet integrated, because basic_string was rewritten too much to maintain
compatibility between old libs and new MSVCP*.DLL. Other new code which
cannot be turned on yet under #if _CRT_NEW_STL_DROP.
Removes code which was previously under _RETAIN_OLD_CRT_CODE, and puts
old code which must be maintained until next LKG toolset update under
_RETAIN_OLD_CRT_CODE.
makefile.sub
Enable /Wp64 in the x86 build.
-----------------------------------------------------------------
Fri 25-Feb-00 (PhilipLu)
crtw32\h\crtdbg.h
libw32\include\crtdbg.h
libw32\inc64\crtdbg.h
VS7#79719 - The _CrtDbgBreak macro should use the __debugbreak intrinsic
when _MSC_VER >= 1300.
crtw32\h\setjmp.h
libw32\include\setjmp.h
libw32\inc64\setjmp.h
VS7#81945 - setjmp.h is now allowed with /com+.
-----------------------------------------------------------------
Thu 24-Feb-00 (PhilipLu)
doc\copysrc.bat
Add 'platdst <path>' option to copy platform-specific files to different
directory from main files. Wanted by the build lab for copying to
devtools\common and devtools\%PLATFORM%.
-----------------------------------------------------------------
Thu 24-Feb-00 (GautamB)
crtw32\misc\setenv.c
VS7#66530 _wputenv didn't use to work on Win9x as there was call in it
SetEnvironmentVariable() which pointed to SetEnvironVariableW() and this
API is not on Win9x so in effect environment didn't get updated. Fixed
this.
-----------------------------------------------------------------
Thu 24-Feb-00 (GautamB)
crtw32\h\wchar.h
VS7#80515 Checked all othe cases where order of including wchar.h with
other header file does not make any difference. Only stdio.h had this
problem. which is fixed.
-----------------------------------------------------------------
Tue 16-Feb-00 (GautamB)
crtw32\dllstuff\crtexe.c
VS7#79603 Left out files for earlier checkin.
-----------------------------------------------------------------
Tue 15-Feb-00 (PhilipLu)
cleanbld.cmd
srcrel\clnsrcrel.bat, external.mkf, makefile
The cleanbld.cmd build no longer creates files in %CRT_SRC%\srcrel.
Instead, any srcrel-related files that get built are created in
%CRT_BUILDDIR%\srcrel\%PLATFORM% instead. That allows Win32 and Win64
builds to more easily share the same enlistment.
-----------------------------------------------------------------
Tue 15-Feb-00 (GautamB)
crtw32\lowio\lowio.mkf, lsources, putwch.c (New)
crtw32\stdio\lsources, makdfile.c, output.c, cwprintf.c (New)
crtw32\h\wchar.h, conio.h, tchar.h
srcrel\pd-b
makefile
makefile.inc
VS7#58257 Added unicode versions for cprintf, _putch and _cputs.
(_cwprintf, _putwch, _cputws respectively).
-----------------------------------------------------------------
Tue 15-Feb-00 (GautamB)
crtw32\convert\convert.mkf, lsources, sources.nt, strtoq.c, wcstoq.c(New)
crtw32\h\wchar.h, stdlib.h, tchar.h
VS7#5427 Added strtoi64, strtoui64, wcstoi64 and wcstoui64, which converts
string to __int64.
-----------------------------------------------------------------
Tue 15-Feb-00 (GautamB)
crtw32\startup\crt0.c
VS7#79603 Changed GetModuleHandle() in check_complus_app() to
GetModuleHandleA(). GetModuleHandle() maps to GetModuleHandleW() for
UNICODE main (wmain) which breaks the app on Win9X.
-----------------------------------------------------------------
Tue 15-Feb-00 (GautamB)
crtw32\eh\frame.cpp
VS7#79598 Added a function CxxExceptionFilter for use in COM+ EH. This
function can be used to turn "try{...}catch(foo a){...}" to
"try{...} except(_CxxExceptionFilter(foo.typeinfo, _exception_info(), &a)){...}".
-----------------------------------------------------------------
Tue 15-Feb-00 (PhilipLu)
crtw32\eh\frame.cpp
VS7#79460 std::uncaught_exception() support broke unwinding. We were
putting a __try/__finally around the call to _UnwindNestedFrames, which
calls RtlUnwind, but _UnwindNestedFrames will only work if the top-most
exception frame is from the exception dispatcher, not anything of ours.
-----------------------------------------------------------------
Mon 14-Feb-00 (PhilipLu)
crtw32\eh\i386\trnsctrl.cpp
Warning C4851, disabled in Jan 31 checkin, is actually C4731 in the VC7
backend.
-----------------------------------------------------------------
Fri 11-Feb-00 (GautamB)
crtw32\dllstuff\crtlib.c
crtw32\startup\dllcrt0.c, thread.c, threadex.c
VS7#47322 There were two problem in the way threads were created. 1) if we
called some locale dependent function, it would result in leak of ptd
allocated during the call to the function. Second we would like to know if
the thread is created ASAP, even if theread is created by some call to API
so that later on when we could allocate memory for ptd failing in which
results in termination of thread creation process. Earlier failing in
alloting the memory for ptd, once the thread is created would terminate
the whole process.
-----------------------------------------------------------------
Thu 03-Feb-00 (PhilipLu)
libw32\syscrt.rc, sysirt.rc, sysprt.rc
srcrel\external.mkf, objects.mkf
makefile
Tweak the system CRT build. Version number is 7.0, not 6.1. The implibs
are created as msvcrt.lib etc., not syscrt.lib. And the C++ Library DLL is
now named syspr70.dll, not msvcp??.dll, so we can still have a versioned
C++ DLL name, but have it for the system only.
libw32\msvcrt.rc
The internal filename in the version resource should be MSVCR70.DLL,
not MSVCRT70.dll.
-----------------------------------------------------------------
Tue 01-Feb-00 (PhilipLu)
makefile.inc
VS7#76534 Win64 static CRTs are not being built with delop2.cpp that was
added for the Win64 CRT DLL build back in early Dec '99.
-----------------------------------------------------------------
Mon 31-Jan-00 (PhilipLu)
crtw32\eh\i386\trnsctrl.cpp
Disable new warning C4851 about EBP being modified by inline-asm.
srcrel\external.mkf, makefile
Checkin for the build lab doing 64-bit builds. Clear _CL_ when we need
to use the 32-bit compiler to build an .EXE, since the build lab uses
_CL_ to point to the 64-bit compiler passes while self-building.
-----------------------------------------------------------------
Sun 30-Jan-00 (PhilipLu)
srcrel\makefile
Clean up IA64 build so x86 components aren't copied over to crtbld\crt\src.
doc\copysrc.bat
Copy proper files for IA64 build, and don't copy CRT rebuild components
when doing a SYSCRT copy. Also, copy files to the destination root, not
dest-root\crt\src.
-----------------------------------------------------------------
Fri 28-Jan-00 (GautamB)
crtw32/string/stricmp.c, memicmp.c, strnicmp.c
crtw32/h/setlocale.h, mtdll.h
crtw32/misc/setlocale.c, nlsdata2.c
VS7#9616 Enhanced the performance for locale based case insensitive
comparision. What we do here is check if the current CTYPE locale has
first 127 characters same as CLOCALE. If yes the we can convert the UPPER
case character less then 127 to LOWER without calling time consuming
tolower.
-----------------------------------------------------------------
Fri 28-Jan-00 (GautamB)
crtw32/stdio/popen.c
VS7#16833 Changed the way popen used to work. Also made if threadsafe.
What popen used to do was first duplicate the current stdio handle that
we were supposed to trap, then close the local copy and set the one end
of the pipe as that handle, then spawn the new process and then again
setting up and new handle for stdio. Now we just pass the existing pipe
to new process as the handle we wish to trap.
-----------------------------------------------------------------
Fri 28-Jan-00 (GautamB)
crtw32/align.c
Performance enhancement of _aligned_realloc and _aligned_offset_realloc.
-----------------------------------------------------------------
Thu 27-Jan-00 (PhilipLu)
makefile
VS7#5437 - The user rebuild scenario wasn't creating PDBs for the DLL
CRTs. Actually, it was creating them, in the root directory!
makefile
VS7#14930 - Uses of the V6TOOLS macro need to be quote-protected in case
V6TOOLS is a path with spaces in it.
libw32\msvcrt.src
srcrel\external.mkf, makefile
makefile, makefile.inc, makefile.sub
VS7#16831 - The user rebuild scenario was pretty thoroughly broken. This
repairs it and cleans it up significantly, removing references to things
like BLD_SYSCRT from the cleansed makefiles.
doc\copysrc.bat
Major cleanup on this file, which can now be used to copy the result of
a CRT build using cleanbld.cmd into a separate tree to create the image
that would be installed as %VC-ROOT%\crt\src.
-----------------------------------------------------------------
Tue 25-Jan-00 (PhilipLu)
crtw32\h\sect_attribs.h
crtw32\misc\lsources, seccinit.c [NEW], seccook.c [NEW], secfail.c [NEW],
seclocf.c [NEW]
doc\copysrc.bat
libw32\msvcrt.src, syscrt.src
srcrel\pd-b
makefile, makefile.inc
Implement the CRT support for compiler switch /GS. This is used to protect
against overwriting a local buffer variable and wiping out a return
address, which can allow a hacker to hijack a program's execution.
crtw32\startup\crt0msg.c
Fix a buffer overwrite problem (!) I happened to notice while doing the
/GS support. _NMSG_WRITE could overflow a local buffer when creating the
text to display in a message box.
-----------------------------------------------------------------
Mon 24-Jan-00 (GautamB)
crtw32\heap\align.c
Modified the _aligned_realloc reoutines to save the content of memblock
that is reallocated as much as possible.
-----------------------------------------------------------------
Mon 24-Jan-00 (PhilipLu)
crtw32\h\wchar.h
libw32\include\wchar.h
libw32\inc64\wchar.h
VS7#74640 - _wexec* and _wspawn* prototypes in wchar.h should return
intptr_t, not int, for compatibility with process.h and definitions.
-----------------------------------------------------------------
Thu 20-Jan-00 (PhilipLu)
crtw32\h\stdarg.h, varargs.h
libw32\include\stdarg.h, varargs.h
libw32\inc64\stdarg.h, varargs.h
srcrel\msvc40.if
VS7#73359 - Remove __epcg__ references. This was an old Intel define that
they no longer need.
-----------------------------------------------------------------
Mon 17-Jan-00 (v-vadimp)
crtw32\eh\ia64\handlers.s
crtw32\eh\ia64\trnsctrl.cpp
Fixed 2.5 IA64 software convention deficiencies in the previous checkins
-----------------------------------------------------------------
Fri 14-Jan-00 (v-vadimp)
crtw32\eh\frame.cpp
crtw32\eh\ia64\handlers.s
crtw32\eh\ia64\trnsctrl.cpp
crtw32\misc\ia64\jmpuwind.s
NLG support for the debugger, some macro defs to make code backward
compatible with 2.4, __NLG_Destination & __NLG_Dispatch got an extra "_"
for IA64
-----------------------------------------------------------------
Wed 12-Jan-00 (gautamb)
crtw32\h\malloc.h
vs7#71409 fixed the macro _mm_free which was supposed to have one parameter.
-----------------------------------------------------------------
Mon 10-Jan-00 (PhilipLu)
crtw32\exec\dospawn.c
VS7#71206 - _spawn* called with _P_WAIT needs to sign-extend the exit
code into an intptr_t for WIN64.
-----------------------------------------------------------------
Thu 06-Jan-00 (rlanser)
crtw32\eh\frame.cpp
crtw32\eh\throw.cpp
crtw32\eh\ia64\trnsctrl.cpp
crtw32\h\mtdll.h
crtw32\h\trnsctrl.h
IA64: SOFT25 Image Relative bug fixes.
-----------------------------------------------------------------
Wed 05-Jan-00 (Gautamb)
crtw32\h\dbgint.h, crtdbg.h
crtw32\misc\dbgheap.c
crtw32\heap\align.c
libw32\include\crtdbg.h
libw32\inc64\crtdbg.h
Added debug support for aligned routines.
-----------------------------------------------------------------
Tue 04-Jan-00 (Gautamb)
libw32\tools\source\ifstrip\eval.c ifstrip.c
libw32\tools\source\striphdr\striphdr.c
Added support for internal CRT build.
-----------------------------------------------------------------
Wed 29-Dec-99 (Gautamb)
crtw32\heap\align.c
Fixed some serious bug in _aligned_offset_**() routines.
-----------------------------------------------------------------
Fri 17-Dec-99 (PhilipLu)
makefile
VS7#65276 - Create alias records for data symbols and function descriptors,
not just function entrypoints, e.g. create alias timezone -> _timezone,
not just .timezone -> ._timezone.
-----------------------------------------------------------------
Thu 16-Dec-99 (GautamB)
modified
crtw32\h\limits.h
crtw32\stdio\fputwc.c, ungetwc.c
VS7#5414 - Updated the value of MB_LEN_MAX to 5 and modified functions
fputwc() and ungetwc() accordingly.
-----------------------------------------------------------------
Thu 16-Dec-99 (GautamB)
modified
all files
VS7#30929 - Modified the Copyright years for Microsoft files to -2000.
-----------------------------------------------------------------
Thu 16-Dec-99 (GautamB)
modified
crtw32\malloc.h
VS7#49169 - Modified HEAP_MAXREQ to 0xFFFFFFFFFFFFFFE0 for win64
-----------------------------------------------------------------
Thu 16-Dec-99 (PhilipLu)
makefile
VS7#45623 - Build of tcmapdll.lib for IA64 was incorrect, so alias records
for _t* names to the equivalent _mb* names weren't working.
Also, added a new build flag. Set BLD_TESTCRT=1, then the build will
create CRT DLLs testcrt[d], testprt[d] and testirt[d] instead of the
normal names. This allows building CRTs which can be safely tested without
interfering with system protected files or the existing CRTs.
-----------------------------------------------------------------
Fri 10-Dec-99 (GautamB)
modified
makefile.inc
libw32\msvcrt.src, syscrt.src, syscrt64.src
srcrel\pd-b
crtw32\h\malloc.h
crtw32\heap\heap.mkf, lsources
crtw32\misc\a_cmp.c, a_loc.c, a_map.c, a_str.c, w_cmp.c, w_loc.c, w_map.c,
w_str.c
crtw32\string\strlwr.c, strupr.c, wcslwr.c, wcsupr.c, wcsxfrm.c
crtw32\time\wcsftime.c
crtw32\lowio\getch.c
Add file
crtw32\heap\resetstk.c
VS7#62239 Secured the use of _alloca in case of stackoverflow. Also
introduced a new function (_resetstkoflw() )which recovers for
stackoverflow.
-----------------------------------------------------------------
Fri 10-Dec-99 (GautamB)
modified
makefile.inc
libw32\msvcrt.src, syscrt.src, syscrt64.src
srcrel\pd-b
crtw32\h\malloc.h
crtw32\heap\heap.mkf, lsources
crtw32\heap\mt\lsources
crtw32\heap\dll\lsources
libw32\include\malloc.h
libw32\inc64\malloc.h
addfile
crtw32\heap\align.c
Added _aligned_malloc, _aligned_realloc, _aligned_offset_malloc,
_aligned_offset_realloc and _aligned_free functions.
-----------------------------------------------------------------
Fri 10-Dec-99 (GautamB)
modified
crtw32\h\mtdll.h
crtw32\startup\mlock.h
langapi\undname\undname.cxx
VS7#5674 Added a new lock for critical section in unDName()
-----------------------------------------------------------------
Fri 10-Dec-99 (GautamB)
modified
crtw32\h\ctime.h
crtw32\time\dtoxtime.c
VS7#21083 Modified localtotime for taking into account leap years upto
2999. Also changed _MAX_YEAR for Win64 to 1099
-----------------------------------------------------------------
Fri 10-Dec-99 (GautamB)
modified
crtw32\startup\i386\crtstk.asm
VS7#27118 Converted _chkstk and _alloca_probe to procedure
-----------------------------------------------------------------
Fri 10-Dec-99 (GautamB)
modified
crtw32\h\eh.h, mtdll.h
crtw32\eh\frame.cpp
crtw32\stdcpp\UNCAUGHT.cpp
VS#5340 Added a new function (our version of uncaught_exception) which is
then used by uncaught_exception for doing it's work. Also
introduced new flag in struct tiddata for keeping a look on
exception.
-----------------------------------------------------------------
Fri 10-Dec-99 (GautamB)
modified
crtw32\h\wchar.h
VS#5709 Modified wmemcpy and wmemmove for faster perfomance.
-----------------------------------------------------------------
Sat 08-Dec-99 (rlanser)
crtw32\stdhpp64\new
libw32\inc64\new
Change "operator delete(void *, const std::nothrow_t&)" to _WIN64.
-----------------------------------------------------------------
Sat 04-Dec-99 (rlanser)
crtw32\stdcpp64\delop2.cpp, delop2_s.cpp, lsources, sources.nt
crtw32\stdhpp64\new
libw32\inc64\new
srcrel\pd-b
Add "operator delete(void *, const std::nothrow_t&)" to the
hacked NT headers etal (stdhpp64, stdcpp64, inc64).
-----------------------------------------------------------------
Fri 03-Dec-99 (PhilipLu)
crtw32\h\math.h
libw32\include\math.h
libw32\inc64\math.h
VS7#65291 - the headers do '#if _M_MRX000' in one place, and
'#if defined(_M_MRX000)' in another. That interferes with a new warning
the frontend wants to make available. Change to use defined(_M_MRX000)
everywhere.
srcrel\makefile
We should not be copying trnsctrl.h into the crt\src user rebuild dir,
since we don't ship source for the EH support and this header isn't used
for the user rebuild scenario. Looks like this header was being shipped
accidentally. Change the build cleansing procedure to stop copying this
file over for shipping.
crtw32\h\crtdbg.h, direct.h, heap.h, malloc.h, mbstring.h, memory.h, mtdll.h,
new.h, nlsint.h, process.h, search.h, stdarg.h, stddef.h, stdexcpt.h,
stdio.h, stdlib.h, string.h, varargs.h
crtw32\heap\sbheap.c
crtw32\lowio\write.c
srcrel\msvc40.if
The build cleansing procedure was issuing a bunch of warnings while running
the ifstrip tool. Get rid of them all.
-----------------------------------------------------------------
Thu 02-Dec-99 (PhilipLu)
libw32\msvcprt.src
VS7#66372 - The _RETAIN_OLD_CRT_CODE fix of Nov 14 was incomplete. All of
the exception class methods and vtables which are no longer dllimport must
be added as private exports in the .def file for msvcp*.dll so they will
not appear in the msvcprt*.lib import lib.
-----------------------------------------------------------------
Wed 01-Dec-99 (GautamB)
modified
crtw32\h\string.h
crtw32\misc\lsources, strerror.c, _strerr.c
add files
crtw32\misc\wcserror.c, _wcserr.c
VS#5706 Added wide char version for strerror() and _strerror()
-----------------------------------------------------------------
Wed 01-Dec-99 (rlanser)
crtw32\misc\ia64\chandler.c
[v-willc] Support for reordering blocks in a try scope.
-----------------------------------------------------------------
Wed 01-Dec-99 (PhilipLu)
makefile.sub
Enable CC_P7_SOFT25 when building for IA64.
-----------------------------------------------------------------
Wed 01-Dec-99 (GautamB)
crtw32\tchar.h
libw32\include\tchar.h
libw32\inc64\tchar.h
Add alias for _tpgmptr
-----------------------------------------------------------------
Tue 30-Nov-99 (PhilipLu)
crtw32\eh\i386\trnsctrl.cpp
crtw32\h\winheap.h
crtw32\heap\sbheap.c
crtw32\rtc\error.cpp, init.cpp, pdblkup.cpp
crtw32\startup\tlssup.c
crtw32\stdhpp\xlocale
crtw32\stdio\output.c
fpw32\tran\i386\filter.c, filter_simd.c
libw32\include\xlocale
Add casts, minor fixes, and #pragma warnings to compile cleanly on x86
with /Wp64.
crtw32\h\crtdbg.h
libw32\include\crtdbg.h
libw32\inc64\crtdbg.h
Forward declare _CrtMemBlockHeader to work around vs7#63059.
cleanbld.cmd, makefile, makefile.sub
Default to building release builds with debug info, and multiprocessor
compile for DLL. Get rid of makefile flags BLD_REL_DBINFO and _VCBUILD.
Add BLD_REL_NO_DBINFO to allow building release builds without debug info.
-----------------------------------------------------------------
Thu 18-Nov-99 (PhilipLu)
makefile, makefile.inc
crtw32\eh\lsources
crtw32\eh\dll\sources
crtw32\eh\i386\ehprolg2.c [NEW]
crtw32\eh\mt\sources
crtw32\eh\st\sources
crtw32\libw32\msvcrt.src, syscrt.src, syscrt64.src
srcrel\makefile, objects.mkf, pd-b
VS7#57098 - Add new compiler helper __EH_prolog2 as a static link component
whose source does not get shipped. Needed to handle stack frame creation
in a function compiled /Os with both a C++ EH frame and a stack that must
be aligned thanks to __declspec(align()) locals. Also changing the older
compiler helper __EH_prolog so it is always statically linked, instead of
being used from the CRT DLL.
-----------------------------------------------------------------
Wed 17-Nov-99 (GautamB)
crtw32\dostypes.h
Vs7#37766 Deleted this file as this file was not used anymore.
-----------------------------------------------------------------
Tue 16-Nov-99 (PhilipLu)
makefile, makefile.inc
crtw32\dllstuff\crtexe.c, lsources
crtw32\dllstuff\dlllib\sources
crtw32\startup\crt0.c, lsources
crtw32\startup\mt\sources
crtw32\startup\st\sources
doc\copysrc.bat
libw32\makefile
srcrel\msvc40.if, pd-b
[delfiled:]
crtw32\dllstuff\corexe.c, corexew.c, wcorexe.c, wcorexew.c
crtw32\startup\cor0.c, wcor0.c, wincor0.c, wwincor0.c
VS7#61850 (again) - The fix on 13-Nov won't work, because the linker must
choose an entrypoint before starting library searching, but may not know
if an app is COM+ until after it drags in a library object with metadata.
So back out the previous fix and implement a new one. On entry, search the
image header of the process EXE to see if the COM+ Descriptor entry in the
Image Directory is empty, and handle as a COM+ app if it not.
-----------------------------------------------------------------
Sun 14-Nov-99 (PhilipLu)
makefile
crtw32\stdcpp\instances.cpp
crtw32\stdhpp\exception, new, stdexcept, xlocinfo, xstring, yvals.h
crtw32\tools\win32\relinc.if
libw32\include\xlocinfo, yvals.h
Buildfix - msvcp70[d].dll must maintain all existing exports except at
major updates of the vcLKG toolset. Restore all the old exports which were
lost at the STL integration of 9-Nov-99. The functions corresponding to
these exports are reintroduced into the headers in stdhpp by placing them
under #if _RETAIN_OLD_CRT_CODE, which is only defined when compiling the
STL DLL. Also, this #if is cleansed from the headers by relinc.cmd, so
the released headers are unchanged and new code will not see any definition
of the old exports. Once we update vcLKG and VS is built with the new
headers, the old code under #if can be removed totally.
As part of this, removing private copy-ctor and assign-ops declarations
(without definitions) for _Locinfo and _Lockit, so the compiler generated
defaults again appear as exports. I originally added these definitions to
work around an integration problem which doesn't exist any longer.
crtw32\tools\win32\relinc.cmd, relinc64.cmd
Trivial cleanup - detabify and line up file.
-----------------------------------------------------------------
Sat 13-Nov-99 (PhilipLu)
makefile, makefile.inc
crtw32\dllstuff\corexe.c [NEW], corexew.c [NEW], crtexe.c, crtexew.c, lsources,
wcorexe.c [NEW], wcorexew.c [NEW], wcrtexe.c, wcrtexew.c
crtw32\dllstuff\dlllib\sources
crtw32\startup\ cor0.c [NEW], crt0.c, lsources, wcor0.c [NEW], wcrt0.c,
wincor0.c [NEW], wincrt0.c, wwincor0.c [NEW], wwincrt0.c
crtw32\startup\mt\sources
crtw32\startup\st\sources
doc\copysrc.bat
libw32\makefile
srcrel\pd-b
VS7#61850 - Apps using COM+ IJW, with a native CRT startup object linked to
a COM+ MSIL app, have to use a special COM+-aware version of the CRT
startup code. For now, all this code does differently is return back to
COM+ instead of calling exit(). Introduces 4 new entrypoints which the
linker knows about and uses when linking a COM+ app, with the basic name
being mainCorCRTStartup.
crtw32\h\internal.h, io.h, time.h, wchar.h
libw32\inc64\io.h, time.h, wchar.h
libw32\include\io.h, time.h, wchar.h
srcrel\msvc40.if
Wrap the definition of _time64_t under #ifndef _TIME64_T_DEFINED instead
of putting in under _TIME_T_DEFINED, so it's easier to mix and match VC6
and VC7 CRT headers.
-----------------------------------------------------------------
Fri 12-Nov-99 (GautamB)
crtw32\lowio\fstat64.c
crtw32\dos\stat64.c
VS7#57599 - Modified fstat64 and stat64 to take DST into account.
-----------------------------------------------------------------
Fri 12-Nov-99 (PhilipLu)
crtw32\misc\getqloc.c
Setlocale should first try to use the language string given before using
the substituted abbreviation from __rg_language[]. That's because there
are language names which map to multiple abbreviations. On NT5, language
'Chinese' can be abbreviation CHS or CHT. Because of this, it's possible
to have setlocale(LC_ALL,setlocale(LC_ALL,NULL)) fail, even though setlocale
should always return a settings dump that is valid input to reset the
locale. If the substitution table is used first, then Chinese_Taiwan.950
will be searched for as CHS_Taiwan.950, but the LCID actually corresponds
to CHT_Taiwan.950. This happened because NT5 changed the language name
for Taiwan from 'Chinese(Taiwan)' to 'Chinese' (vs7#61130, ntbug#426382).
makefile, makefile.inc
crtw32\stdcpp\lsources, sources.nt
doc\copysrc.bat
doc\pjp\makefile, makefile.inc, pd-b
srcrel\pd-b
[delfiled:]
crtw32\stdcpp\delaop.cpp, delaop_s.cpp, delop.cpp, delop_s.cpp
VS7#5435 - C++ Library should not define its own one-arg versions of
operator delete/delete[] (the nothrow_t versions are OK). This was a
problem because the C++ Library version of delete called free, but in a
debug build, it should call _free_dbg in case we're not deleting a
_NORMAL_BLOCK. Rather than change the definitions, it makes more sense
just to get rid of them.
-----------------------------------------------------------------
Tue 09-Nov-99 (GautamB)
\crtw32\lowio\write.c
VS7#52023 - Fixed the bug by replacing lseek_lk by lseeki64_lk.
-----------------------------------------------------------------
Tue 09-Nov-99 (PhilipLu)
makefile, makefile.inc
\crtw32\eh\stdexcpt.cpp
\crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop.cpp,
delaop2.cpp [NEW], delaop2_s.cpp [NEW], delop.cpp, delop2.cpp [NEW],
delop2_s.cpp [NEW], fiopen.cpp, instances.cpp [NEW], iomanip.cpp, ios.cpp,
iosptrs.cpp, iostream.cpp, locale.cpp, locale0.cpp, lsources, newaop.cpp,
newaop2.cpp, newop2.cpp, nomemory.cpp, raisehan.cpp, sources.nt,
stdhndlr.cpp, stdthrow.cpp, string.cpp, strstrea.cpp, uncaught.cpp,
wcerr.cpp, wcin.cpp, wclog.cpp, wcout.cpp, wctrans.c, wctype.c,
wiostrea.cpp, wlocale.cpp, xcosh.c, xdnorm.c, xdscale.c, xdtest.c, xexp.c,
xfcosh.c, xfdnorm.c, xfdscale.c, xfdtest.c, xfexp.c, xfsinh.c, xfvalues.c,
xlcosh.c, xldnorm.c, xldscale.c, xldtest.c, xlexp.c, xlocale.cpp, xlpoly.c,
xlsinh.c, xlvalues.c, xmath.h, xpoly.c, xsinh.c, xstod.c, xvalues.c
\crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
iso646.h, istream, iterator, limits, list, locale, map, memory, new,
numeric, ostream, queue, set, sstream, stack, stdexcept, streambuf, string,
strstream, utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale,
xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmemory,
xstddef, xstring, xtree, xutility, ymath.h, yvals.h
\doc\copysrc.bat
\doc\pjp\makefile, makefile.inc, pd-b
\libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
iso646.h, istream, iterator, limits, list, locale, map, memory, new,
numeric, ostream, queue, set, sstream, stack, stdexcept, streambuf, string,
strstream, utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale,
xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmath.h,
xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
\srcrel\pd-b
[delfiled:]
crtw32\stdcpp\dlldef.cpp, limits.cpp
Integrate the 990718 drop of the C++ Library from Dinkumware.
-----------------------------------------------------------------
Tue 09-Nov-99 (GautamB)
crtw32\h\cmsgs.h
VS7#27275 - Fixed the message abort pops up.
-----------------------------------------------------------------
Tue 09-Nov-99 (PhilipLu)
crtw32\h\crtdbg.h
libw32\msvcrt.src, syscrt.src, syscrt64.src
libw32\include\crtdbg.h
libw32\inc64\crtdbg.h
VS7#16060 - Don't mark the debug operator new/new[] _CRTIMP in crtdbg.h,
and add them to the .def files so they still get exported. Makes it easier
for users to intercept these (something VSEE does).
-----------------------------------------------------------------
Mon 08-Nov-99 (PhilipLu)
crtw32\h\ctype.h, stdio.h, tchar.h, wchar.h
crtw32\stdcpp\wctrans.c
crtw32\stdhpp\wctype.h
crtw32\stdhpp64\wctype.h
libw32\include\ctype.h, stdio.h, tchar.h, wchar.h, wctype.h
libw32\inc64\ctype.h, stdio.h, tchar.h, wchar.h, wctype.h
Buildfix. New frontend enabled wchar_t as a native type, exposing bug in
definition of wctype_t. Was a wchar_t, but wctype_t is really an unsigned
short collection of bitflags.
fpw32\tran\i386\xmmi_fp_emul.c
KNI exception handler fixes from Intel.
-----------------------------------------------------------------
Fri 05-Nov-99 (PhilipLu)
crtw32\stdhpp64\xiosbase, xlocmon
libw32\inc64\xiosbase, xlocmon
Disable warning C4786 in a couple more files to fix IA64 build.
-----------------------------------------------------------------
Thu 04-Nov-99 (PhilipLu)
crtw32\h\string.h
libw32\include\string.h
libw32\inc64\string.h
Back out checkin for VS7#33641 - breaking too much existing code, need to
rethink if this will just be "won't fix". Leaving in the change I made to
wchar.h (moved the secondary definitions under the #ifndef _WSTRING_DEFINED)
so it should at least be safer to #include string.h and wchar.h together.
crtw32\h\crtdbg.h
libw32\include\crtdbg.h
libw32\inc64\crtdbg.h
Work around useless warning C4507. This warning is being removed, but it
needs to be ignored until we drop a compiler without it.
-----------------------------------------------------------------
Wed 03-Nov-99 (GautamB)
crtw32\stdio\output.c
VS7#5431 Deleted unnecessary #ifs for fixing the bug with L format
specifier used with wprintf.
-----------------------------------------------------------------
Wed 03-Nov-99 (PhilipLu)
crtw32\h\string.h, wchar.h
libw32\include\string.h, wchar.h
libw32\inc64\string.h, wchar.h
VS7#33641 - wcschr, wcsrchr, wcsstr, and wcspbrk must be defined in
string.h the same as in wchar.h, with two versions for C++.
crtw32\h\crtdbg.h, math.h
libw32\include\crtdbg.h, math.h
libw32\inc64\crtdbg.h, math.h
Place any C++ definitions within an extern "C++" block, so the header
can be safely included inside an extern "C" block. (Also for string.h
and wchar.h)
crtw32\h\internal.h, mbstring.h, stdio.h, wchar.h
libw32\include\mbstring.h, stdio.h, wchar.h
libw32\inc64\mbstring.h, stdio.h, wchar.h
Continuation of VS7#54572 - Add _M_CEE version of va_list definition to
all other files defining it, not just stdarg.h.
crtw32\h\cruntime.h
crtw32\tools\win32\relinc.sed
Get rid of unneeded _VA_LIST_T.
crtw32\startup\crt0.c, tidtable.c
crtw32\time\localtim.c
Checkins from RLanser. Fix some Win64 warnings in the _POSIX_ and
_NTSUBSET_ builds.
-----------------------------------------------------------------
Mon 01-Nov-99 (PhilipLu)
crtw32\eh\frame.cpp, hooks.cpp, throw.cpp, validate.cpp
crtw32\eh\i386\trnsctrl.cpp
crtw32\h\ehassert.h, mtdll.h, trnsctrl.h
VS7#5361 - A rethrow could lead to the thrown object being destroyed twice.
The C++ EH code would destroy a exception object on exit from a catch block
if the exit was not due to a rethrow, even if the exception object was from
a rethrow inside a catch we were nested in. The fix for this is x86-only,
since it introduces a FRAMEINFO linked list to track currently available
exception objects. All RISC platforms already have a FRAMEINFO list, but
use it in a different enough way that porting this fix requires more work.
In particular, I'm popping items from the FRAMEINFO list inside the
__finally handler in CallCatchBlock. All RISC platforms are instead doing
this in normal code in CatchIt, which I think is error-prone.
Also improved the /DENABLE_EHTRACE EH tracing dump using indenting to
indicate the depth on the callstack of the current function, and with more
data about what's actually being thrown/caught/destroyed/filtered/....
-----------------------------------------------------------------
Fri 29-Oct-99 (PhilipLu)
crtw32\h\math.h
libw32\include\math.h
libw32\inc64\math.h
VS7#22017 - add useful math constants a la UNIX's math.h, to make porting
easier.
crtw32\misc\ia64\jmpuwind.s
Bugfix for IA64 from TiborL.
crtw32\stdhpp64\utility
libw32\inc64\utility
Disable warning C4786, which appeared building dlldef.cpp for IA64 with a
new frontend.
-----------------------------------------------------------------
Thu 28-Oct-99 (Gautamb)
crtw32\h\tchar.h
libw32\include\tchar.h
libw32\inc64\tchar.h
VS7#5418 - fixed _tcsnextc() for handling MBCS.
-----------------------------------------------------------------
Thu 28-Oct-99 (PhilipLu)
crtw32\stdhpp\iosfwd
crtw32\stdhpp64\iosfwd
libw32\include\iosfwd
libw32\inc64\iosfwd
On Win64, std::streamoff and std::streamsize should be __int64, not long
and int.
crtw32\h\memory.h, string.h
crtw32\string\memccpy.c, memicmp.c
libw32\include\memory.h, string.h
libw32\inc64\memory.h, string.h
VS7#22416 - _memccpy, _memicmp and __ascii_memicmp should take a size_t
count, not an unsigned int.
crtw32\stdio\input.c
VS7#10705 - scanf format %p was totally broken on Win64.
-----------------------------------------------------------------
Wed 27-Oct-99 (Gautamb)
crtw32\lowio\fstat.c
crtw32\lowio\fstat64.c
crtw32\dos\stat.c
crtw32\dos\stat64.c
crtw32\time\ftime.c
crtw32\time\ftime64.c
crtw32\time\utime.c
crtw32\time\utime64.c
VS7#37766. Deleted the #include<dostypes.h> in all the file as it is of no
use.
-----------------------------------------------------------------
Wed 27-Oct-99 (GautamB)
crtw32\lowio\open.c
VS7#14742 Fixed the _sopen for opening the same by file in share as well as
O_TEMPORARY mode.
-----------------------------------------------------------------
Wed 27-Oct-99 (PhilipLu)
crtw32\misc\ia64\jmpuwind.s
New implementation of __jump_unwind for CC_P7_SOFT25 calling convention
on IA64 from TiborL.
cleanbld.cmd, makefile, makefile.inc, makefile.sub
crtw32\mbstring\lsources
crtw32\stdcpp\lsources
crtw32\stdcpp64\lsources [NEW]
More makefile tweaks:
* Repair in-place build for IA64.
* Fix dependency creation (nmake depend) for in-place build.
* Enable building with browser info under BLD_BROWSE=1.
* For x86 asm files whose source is not shipped, assemble files with full
pathnames, so a developer build (DEVBUILD=1) or in-place build will allow
debugger to automatically bring up asm source without an open file popup.
* add DELOBJ option to cleanbld.cmd to delete all objects before building,
but leaving all sources - avoids file copy/cleanse cycle.
* Use undocumented -ignore link switch to silence linker warnings. Switch
is cleansed from user-rebuild makefiles.
* Add "-N so" option to ias.exe invocation (equiv of -nologo).
crtw32\eh\frame.cpp, unhandld.cpp, validate.cpp
crtw32\eh\i386\ehcrt.mak [NEW]
crtw32\h\ehassert.h
Add an x86 version of ehcrt.mak, used to build the C++ EH support into a
stand-alone lib for test purposes. Tweak some EH support code to fix
problems in the stand-alone lib with ENABLE_EHTRACE on. Also added an
EHTRACE_FMT1 dump of the 'this' pointer to _DestructExceptionObject.
-----------------------------------------------------------------
Tue 26-Oct-99 (GautamB)
crtw32\h\ctype.h
crtw32\convert\isctype.c
libw32\include\ctype.h
libw32\inc64\ctype.h
libw32\msvcrt.src
libw32\syscrt.src
libw32\syscrt64.src
VS7#5695 - Added additional function for debug version to check the
validity of call for character checking functions
-----------------------------------------------------------------
Mon 25-Oct-99 (PhilipLu)
crtw32\h\setjmp.h, stdarg.h, varargs.h
crtw32\tools\win32\relinc.if
libw32\include\setjmp.h, stdarg.h, varargs.h
libw32\inc64\setjmp.h, stdarg.h, varargs.h
srcrel\msvc40.if
VS7#54572 - Add _M_CEE support for varargs to stdarg.h, issue error if
varargs.h or setjmp.h used with _M_CEE.
VS7#51838 - Fix varargs.h for IA64.
-----------------------------------------------------------------
Mon 25-Oct-99 (PhilipLu)
makefile, makefile.inc, makefile.sub, mk.bat
crtw32\dllstuff\lsources
crtw32\eh\lsources
crtw32\heap\lsources
crtw32\iostream\lsources
crtw32\startup\lsources
crtw32\stdcpp\lsources [NEW]
Repair in-place build to build\<arch> in the source tree, for development
use. Faster than copy-and-cleanse build used for released CRTs, and allows
building isolated CRT versions (st, mt, dll, xst, xmt, xdll). Also fixes
to allow using CFLAGS or AFLAGS as nmake args to specify compiler/assembler
flags for special builds.
crtw32\eh\frame.cpp, hooks.cpp, validate.cpp
crtw32\eh\i386\trnsctrl.cpp
crtw32\h\ehassert.h
Implement EH tracing, debug output recording path through EH support
routines. Need to compile special CRT with /DENABLE_EHTRACE to turn this
on. See EHTRACE_* macros in ehassert.h.
-----------------------------------------------------------------
Fri 22-Oct-99 (PhilipLu)
crtw32\eh\frame.cpp, rtti.cpp
crtw32\eh\ia64\ehstate.cpp, trnsctrl.cpp
IA64 exception handling changes from TiborL.
-----------------------------------------------------------------
Fri 22-Oct-99 (PhilipLu)
makefile.inc
crtw32\heap\delete.cpp, delete2.cpp [NEW], heap.mkf, lsources
crtw32\heap\dll\sources
crtw32\heap\mt\sources
crtw32\heap\st\sources
crtw32\misc\dbgdel.cpp
doc\copysrc.bat
srcrel\pd-b
VS7#53440 - operator delete and operator delete[] must be implemented in
separate files, to avoid multiple definition link errors if user only
supplies definition for one of the two. Also, only need one definition
of delete[], in delete2.cpp, so get rid of the debug definition in
dbgdel.cpp.
-----------------------------------------------------------------
THU 21-Oct-99 <rlanser>
crtw32\eh\sources.nt
Binl is a C++ flag for the libcntpr build. Changed for IA64.
-----------------------------------------------------------------
THU 21-Oct-99 <GautamB>
crtw32\misc\assert.c
VS7#4731 Fixed the way the output of the filenames that were too long
was displayed.
-----------------------------------------------------------------
Mon 18-Oct-99 (PhilipLu)
makefile.inc
crtw32\h\internal.h, rtcpriv.h
crtw32\lowio\osfinfo.c
crtw32\misc\initcrit.c [NEW], lsources
crtw32\misc\dll\sources
crtw32\misc\mt\sources
crtw32\misc\psx\sources
crtw32\misc\st\sources
crtw32\startup\mlock.c
crtw32\stdio\stream.c
doc\copysrc.bat
srcrel\pd-b
VS7#49164, NtBug#413400 - Where available (NT4SP3 or better), set a
spin count on critical sections when they are initialized. Also detect
exceptions raised by InitializeCriticalSection.
fpw32\tran\i386\filter.c
VS7#5422 - Push/pop FP register save area when fixing up an FP exception,
instead of just incrementing/decrementing the Top counter.
crtw32\eh\frame.cpp
VS7#5419 - During unwind, set EH state before entering each unwind funclet,
instead of once after all funclets called, to better handle case of SEH
during unwind.
srcrel\makefile
srcrel\mkclnmkf.c
Add -noclean option to mkclnmkf, triggered by set NOCLEAN=1, to copy all
source files to build tree instead of cleansing them. Preparation for
getting -DDEBUG working again.
-----------------------------------------------------------------
Tue 12-Oct-99 (PhilipLu)
fpw32\tran\i386\filter.c
VS7#6472 - Prevent _fpieee_flt from overwriting exception handling stack
frame when an FP instruction exception was writing to a no-longer-existing
stack local.
-----------------------------------------------------------------
Mon 11-Oct-99 (KFrei)
crtw32\rtc\init.cpp
VS7#48979 - fix bug in removing image from list of active RTC images during
shutdown.
-----------------------------------------------------------------
Mon 11-Oct-99 (PhilipLu)
crtw32\heap\sbheap.c
libw32\msvcrt.src, syscrt.src, syscrt64.src
VS7#49546 - Win64 build must define stubs for _{get,set}_sbh_threshold,
even though small block heap is disabled there.
-----------------------------------------------------------------
Mon 11-Oct-99 (PhilipLu)
fpw32\tran\ia64\frnd.s
VS7#15807 - Port new implementation of _frnd from CRT 64 sourcesafe tree.
Old version failed whenever abs(arg) >= 2^63.
crtw32\misc\ia64\chandler.c, cinitone.s, jmpuwind.s, longjmp.s, memcpys.s,
memsets.s, miscs.s, setjmp.s, setjmpex.s
crtw32\startup\ia64\chkstk.s, fp8.c
fpw32\tran\ia64\asincosf.c, atan2f.c, atanf.c, ceilf.c, em_types.h, emfloat.s,
expf.c, fabsf.c, filter.c, floorf.c, fmodf.c, fp80.s, fp80c.c, fpctrl.c,
fpieee_flt.h, frnd.s, huge.s, ieee.c, log10f.c, logf.c, powf.c, sincosf.c,
sincoshf.c, sqrtf.c, tanf.c, tanhf.c
Intel has given permission to check the IA64-specific routines into the
main CRT tree, so these files have been addfiled from the SLM project at
\\lang3\p7!crt_ia64_asm.
-----------------------------------------------------------------
Thu 07-Oct-99 (PhilipLu)
crtw32\eh\ia64\trnsctrl.cpp
Port SHanson change from CRT 64 sourcesafe tree. utc_p7#1126: sysmode
test eh\extest fails /Ox.
-----------------------------------------------------------------
Thu 07-Oct-99 (PhilipLu)
crtw32\h\crtdbg.h, direct.h, heap.h, internal.h, io.h, malloc.h, mbstring.h,
memory.h, mtdll.h, new.h, nlsint.h, process.h, search.h, stdarg.h,
stddef.h, stdexcpt.h, stdio.h, stdlib.h, string.h, time.h, wchar.h
fpw32\include\trans.h
libw32\include\crtdbg.h, direct.h, io.h, malloc.h, mbstring.h, memory.h, new.h,
process.h, search.h, stdarg.h, stddef.h, stdexcpt.h, stdio.h, stdlib.h,
string.h, time.h, wchar.h
libw32\inc64\crtdbg.h, direct.h, io.h, malloc.h, mbstring.h, memory.h, new.h,
process.h, search.h, stdarg.h, stddef.h, stdexcpt.h, stdio.h, stdlib.h,
string.h, time.h, wchar.h
srcrel\msvc40.if
VS7#29043 - Update CRTs to support /Wp64 by adding __w64 modifier as
appropriate to typedefs of size_t, ptrdiff_t, time_t, intptr_t, uintptr_t.
crtw32\misc\dbgheap.c
VS7#5677 - Debug heap output needs to use %p when outputting pointers, %Iu
when outputting size_t data.
crtw32\stdio\fdopen.c, fopen.c, tmpfile.c
VS7#16832 - Set errno to EMFILE when fopen and related functions run out
of streams.
fpw32\conv\cfin.c, fltinf.c
VS7#5672 - Prevent underflow exception during strtod by copying bytes
instead of a double (which might use FP instrs) in _fltin.
-----------------------------------------------------------------
Thu 30-Sep-99 (PhilipLu)
crtw32\time\tzset.c
Fix double-free bug in tzset() when freeing lastTZ (ntbug#390281).
crtw32\heap\heapinit.c
Change handling of env var __MSCVRT_HEAP_SELECTED in heap init - don't
use any routine that requires the heap to be available (vs7#44259). Also,
check the env var before checking for NT5.0 or better, so we can change
heap selection even on Win2000 (only here, not in the CRT60a tree used
to build the Win2K system CRT).
-----------------------------------------------------------------
Wed 29-Sep-99 (PhilipLu)
Port recent fixes from CRT 64 SourceSafe tree:
crtw32\makefile.sub
Build IA64 with cl flags /QIA64_A0 and /Zx (release only), and ias flag
-X explicit.
crtw32\misc\ia64\setjmp.s
All branch registers weren't being saved.
crtw32\misc\ia64\longjmp.s
Fix RSE hazard.
-----------------------------------------------------------------
Thu 23-Sep-99 (PhilipLu)
crtw32\stdhpp64\xlocnum
libw32\inc64\xlocnum
Fix previous checkin - use %Id, not %Ld, to sprintf an __int64.
-----------------------------------------------------------------
Fri 17-Sep-99 (PhilipLu)
crtw32\stdhpp64\istream, ostream, xlocnum
libw32\inc64\istream, ostream, xlocnum
VS7#5291 - backport __int64 support for iostream << and >> to the old
64-bit C++ headers.
crtw32\eh\typname.cpp
crtw32\stdhpp64\xlocale
libw32\inc64\xlocale
Add typecasts to fix 64-bit warnings with newest IA64 compiler.
-----------------------------------------------------------------
Thu 02-Sep-99 (PhilipLu)
langapi\undname\undname.cxx, undname.inl
Attempt to fix VS7#23225 - reports that undecorator suballocator in
HeapManager::getMemory is causing unaligned allocations. Make sure that
Win32 and Win64 CRT versions of the undecorator use 8 byte alignment
(should have been happening already anyway, but make more explicit), and
that an attempt to suballocate 0 bytes will not trigger unaligned
allocations (but I can't see anywhere that would try to allocate 0 bytes).
langapi\undname\stubmain.cxx, testundn.cxx
Fix build of stand-along undecorator and undecorator verifier test app
using the CRT __unDName.
makefile
srcrel\msvc40.if
Define _SYSCRT when doing a system CRT build.
crtw32\dllstuff\crtlib.c
Noticed by RichardS - CRT DLL issues a popup and refuses to run if started
on Win32s. The popup references "MSVCRT.DLL". Change to do this for
system CRT only, since the name for the VC CRT DLL is different and there's
no good reason to keep checking for Win32s there.
-----------------------------------------------------------------
Mon 30-Aug-99 (PhilipLu)
makefile, makefile.inc
crtw32\dllstuff\lsources, wdll_av.c [NEW]
crtw32\dllstuff\dlllib\sources
doc\copysrc.bat
libw32\makefile
srcrel\pd-b
VS7#5425 - ___wsetargv was missing from msvcrt[d].lib, so linking with
wsetargv.obj when using the CRT DLL gave a link error. Add new source
file wdll_av.c corresponding to the ANSI version dll_argv.c.
-----------------------------------------------------------------
Mon 30-Aug-99 (PhilipLu)
Minor issues uncovered during Y2K code review
crtw32\time\ctime.c, ctime64.c, difftime.c, systime.c
Fix function header comments.
crtw32\time\mktime.c
Replace 'long' with 'time_t'.
crtw32\time\strftime.c
Don't overflow buffer on finding mbcs leadbyte in store_winword.
crtw32\h\crtdbg.h
libw32\inc64\crtdbg.h
libw32\include\crtdbg.h
Remove unprintable character from comment (confused 'findstr /p').
-----------------------------------------------------------------
Thu 12-Aug-99 (v-JohnMo)
fpw32\tran\lsources,sources.nt
Alpha/Alpha64: build using correct FP support flags
fpw32\tran\alpha\dpml_exc.c
Alpha/Alpha64: remove unneeded declaration
fpw32\tran\alpha\getsetrg.c
Alpha/Alpha64: supply default return value to avoid warning
libw32\msvcrt.src
Alpha/Alpha64: export new UTC compiler helper functions
-----------------------------------------------------------------
Wed 11-Aug-99 (PhilipLu for v-ABorni)
makefile.inc
crtw32\helper\lsources, sources.nt
crtw32\helper\alpha\memcmp_.s [NEW], otsnote.txt
srcrel\objects.mkf, pd-b
Alpha/Alpha64: add new memcmp intrinsic.
-----------------------------------------------------------------
Wed 11-Aug-99 (PhilipLu for RLanser, SHanson)
Porting recent checkins to the CRT64 sourcesafe tree
makefile.sub
crtw32\misc\ia64\setjmp.s
Hazard fixes. Requires new Intel assembler (1.7) that checks for hazards.
crtw32\misc\ia64\miscs.s
Remove InterlockedExchangeAdd() since it's an intrinsic.
crtw32\eh\ehvecctr.cpp, ehveccvb.cpp, ehvecdtr.cpp, frame.cpp
crtw32\eh\ia64\trnsctrl.cpp
IA64 EH image relative changes (SW 2.5 convention) under
#if defined(CC_P7_SOFT25).
-----------------------------------------------------------------
Tue 10-Aug-99 (PhilipLu for RichardS)
crtw32\h\sect_attribs.h
crtw32\rtc\initsect.cpp
Use external symbols for RTC initializer/terminator table boundaries for
BBT support.
-----------------------------------------------------------------
Mon 09-Aug-99 (PhilipLu)
makefile
libw32\msvcirt.rc, msvcirt.src, msvcrt.src, syscrt.rc [NEW], syscrt.src [NEW],
syscrt64.rc [NEW], syscrt64.src [NEW], sysirt.rc [NEW], sysirt.src [NEW],
sysirt64.rc [NEW], sysirt64.src [NEW], sysprt.rc [NEW], sysprt.src [NEW],
sysprt64.rc [NEW], sysprt64.src [NEW]
srcrel\external.mkf, makefile, mkclnmkf.c, objects.mkf, pd-b, relmkf.sed
Complete configuration of build for system CRT. Building with BLD_SYSCRT=1
will build the system CRT instead of the VC crt. Building with LLP64=1
implies building a system CRT, but for Win64 instead of Win32. Addfiled
new .rc/.src files specific to Win32-system and Win64-system CRTs.
-----------------------------------------------------------------
Wed 04-Aug-99 (PhilipLu)
makefile
libw32\msvcirt.rc, msvcirt.src, msvcprt.rc [NEW], msvcprt.src, msvcrt.rc,
msvcrt.src
srcrel\_sample_.rc, external.mkf, mkclnmkf.c, objects.mkf, pd-b, relmkf.sed
Rename CRT: msvcrt.dll -> msvcr70.dll
msvcrtd.dll -> msvcr70d.dll
msvcp61.dll -> msvcp70.dll
msvcp61d.dll -> msvcp70d.dll
msvcirt.dll -> msvci70.dll
msvcirtd.dll -> msvci70d.dll
Also began configuration for build with BLD_SYSCRT=1 to build the system
CRT instead of the VC crt. This is not complete yet.
[delfiled:]
libw32\msvcp42.rc, msvcp50.rc, msvcp60.rc, msvcp61.rc
Replaced by msvcprt.rc
crtw32\misc\setenv.c
Fix use-after-free bug in __crtsetenv() when removing an existing
enviroment variable.
crtw32\stdio\vsprintf.c, vswprint.c
Minor function header fix
-----------------------------------------------------------------
Wed 04-Aug-99 (KFrei)
crtw32\h\rtcsup.h rtcpriv.h
crtw32\rtc\bintree.cpp chsyheap.cpp memory.cpp shadow.cpp init.cpp
crtw32\misc\i386\chkesp.c
crtw32\misc\alpha\chkesp.c
Added _RTC_ to all external objects. Added comments to keep versioning
issues in your face. Fixed some seriously leaking handles in the init code
-----------------------------------------------------------------
Fri 09-Jul-99 (GregF)
crtw32\h\winheap.h
crtw32\heap\calloc.c, expand.c, free.c, heapchk.c, heapinit.c, heapmin.c,
malloc.c, msize.c, realloc.c, sbheap.c
crtw32\misc\dbgheap.c
Removed VC 5.0 small-block heap, and the selection logic to enable it, from
the static libraries. This was intended only for the DLL which was not
affected by this change.
-----------------------------------------------------------------
Wed 07-Jul-99 (GregF)
crtw32\dllstfull\crtlib.c
Don't clean up system resources if the process is known to be terminating.
This fixes VS7 #16829
-----------------------------------------------------------------
Wed 16-Jun-99 (PhilipLu)
makefile
makefile.sub
Partially back out checkin of 8-Jun-99. Release build no longer built by
default with debug info. Necessary until I can get the build lab to drop
the associated PDBs along with the libs and dlls. Debug info for release
build can be selected by setting BLD_REL_DBINFO in the environment.
-----------------------------------------------------------------
Mon 14-Jun-99 (PhilipLu)
crtw32\tools\win32\relinc.if
libw32\include\rtcapi.h
libw32\inc64\rtcapi.h
Cleanse #ifdef _RTC from header rtcapi.h, with _RTC on (vs7#22400).
makefile
makefile.sub
srcrel\pd-b
Fix use of whackline.exe in Alpha build (vs7#23911).
-----------------------------------------------------------------
Thu 10-Jun-99 (GregF)
crtw32\time\tzset.c
Fixed handling of non-existent or empty TZ environment variable. This
fixes VS7 #16203.
-----------------------------------------------------------------
Tue 08-Jun-99 (PhilipLu)
makefile
makefile.sub
libw32\tools\alpha\whackline.exe [NEW]
BBT/Vulcan support - build debug and release targets with full debug info,
running whackline over objs for which we don't ship source. This gets rid
of the need to have a separate bbt target, but the bbt target remains until
the build lab switches to using the release target instead. Also, if built
with DEVBUILD=1 in the environment, whackline won't be run, so full line
number info is available for all sources, allowing developer builds to step
into these routines.
-----------------------------------------------------------------
Mon 07-Jun-99 (PhilipLu)
crtw32\h\float.h
crtw32\startup\ia64\fp8.c
libw32\include\float.h
libw32\inc64\float.h
For IA64, default to _PC_64 bit mode, not _PC_53.
crtw32\h\math.h
libw32\include\math.h
libw32\inc64\math.h
modff and hypotf are intrinsics for IA64 (vs7#2515).
crtw32\h\process.h
libw32\include\process.h
libw32\inc64\process.h
The oldnames (!__STDC__) versions of the exec/spawn APIs need to use
intptr_t, not int, for the handle arg/return vals, same as the real APIs.
[delfile:]
libw32\tools\ia64\aliasobj.exe, detab.exe, ifstrip.exe, pd.exe, striphdr.exe,
tolwrupr.exe, trailing.exe
These are actually x86 executables. The x86-based cross-build for IA64
now pulls these tools from libw32\tools\i386, as it should, so these are
no longer needed. Once we have native IA64 builds, the IA64 executables
will go here.
srcrel\pd-b
Remove libw32\tools\{ia64,ppc,mips}\*.exe. The ppc and mips tools were
delfiled a while ago by Rich Shupak.
srcrel\makefile
Fix typo for Alpha64 build ("!else if" should be "!elseif")
-----------------------------------------------------------------
Thu 03-Jun-99 (PhilipLu)
makefile
Fix oldnames.lib build for IA64.
crtw32\h\float.h
libw32\inc64\float.h
libw32\include\float.h
Define _CW_DEFAULT for IA64 (vs7#22100).
libw32\inc64\rtcapi.h
libw32\inc64\typeinfo.h
Pick up Win64 cleansed headers from recent checkins.
-----------------------------------------------------------------
Wed 02-Jun-99 (PhilipLu)
crtw32\convert\mbstowcs.c, mbtowc.c, wcstombs.c
fpw32\tran\alpha\filter.c
Warning fixes from v-kimpe for _NTSUBSET_ and Alpha build.
-----------------------------------------------------------------
Wed 02-Jun-99 (GregF)
crtw32\h\internal.h
crtw32\misc\putenv.c, setenv.c
Fixed several leaks which manifested in _putenv(). A copy of the arg
string is made in _putenv first thing, but it was not subsequently freed
in some cases when it should have been. This fixes VS7 #18971.
-----------------------------------------------------------------
Tue 01-Jun-99 (PhilipLu)
makefile.inc
crtw32\eh\stdexcpt.cpp
crtw32\h\internal.h, typeinfo.h
crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop.cpp, delop.cpp,
dlldef.cpp, fiopen.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
locale.cpp, locale0.cpp, newaop.cpp, newaop2.cpp, newop.cpp, newop2.cpp,
nomemory.cpp, raisehan.cpp [NEW], sources.nt, stdhndlr.cpp [NEW],
stdthrow.cpp, string.cpp, strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp,
wclog.cpp, wcout.cpp, wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp,
xcosh.c, xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c,
xfdscale.c, xfdtest.c, xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldnorm.c,
xldscale.c, xldtest.c, xlexp.c, xlocale.cpp, xlock.cpp, xlpoly.c, xlsinh.c,
xlvalues.c, xmath.h, xpoly.c, xsinh.c, xstod.c, xstrcoll.c, xvalues.c
crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception, fstream,
functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream, iso646.h,
istream, iterator, limits, list, locale, map, memory, new, numeric, ostream,
queue, set, sstream, stack, stdexcept, streambuf, string, strstream,
utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale, xlocinfo,
xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmemory, xstddef, xstring,
xtree, xutility, ymath.h, yvals.h
doc\copysrc.bat
doc\pjp\makefile.inc, pd-b
libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception, fstream,
functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream, iso646.h,
istream, iterator, limits, list, locale, map, memory, new, numeric, ostream,
queue, set, sstream, stack, stdexcept, streambuf, string, strstream,
typeinfo.h, utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale,
xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmath.h, xmemory,
xstddef, xstring, xtree, xutility, ymath.h, yvals.h
srcrel\pd-b
Integrate 05/03/99 drop of STL from Plauger.
-----------------------------------------------------------------
Wed 26-May-99 (KFrei)
crtw32\h\rtcapi.h, rtcpriv.h, rtcsup.h
crtw32\heap\calloc.c, delete.cpp, expand.c, free.c, malloc.c, new.cpp, new2.cpp,
realloc.c
crtw32\misc\dbgdel.cpp, dbgheap.c, dbgnew.cpp, i386\chkesp.c
crtw32\rtc\bintree.cpp, callsite.cpp, chsyheap.cpp, contain.cpp, error.cpp,
fileio.cpp, init.cpp, memory.cpp, pdblkup.cpp, shadow.cpp, userapi.cpp
crtw32\stdcpp\delaop.cpp, delop.cpp, newaop.cpp, newaop2.cpp, newop.cpp,
newop2.cpp
crtw32\tools\win32\relinc.if
libw32\include\rtcapi.h
srcrel\msvc40.if
Remove /RTCl and /RTCv, add /RTCu. Put shadow mem stuff under _RTC_ADVMEM,
which is disabled. Clean up names to always use _RTC_ prefix. Simplify
_RTC_Allocate_hook.
-----------------------------------------------------------------
Fri 21-May-99 (PhilipLu)
makefile
Link IA64 xdll targets /debugtype:both. Also add -osversion link switches
used for other Win64 dll targets to the zdll (BBT) target too.
-----------------------------------------------------------------
Thu 20-May-99 (PhilipLu)
crtw32\eh\ehveccrt.cpp, ehveccvb.cpp, ehvecdtr.cpp
Turn off __thiscall for IA64.
makefile
srcrel\external.mkf, mkclnmkf.c, objects.mkf, pd-b
Build msvcp60.dll for Win64, not msvcp61.dll.
-----------------------------------------------------------------
Thu 20-May-99 (PhilipLu)
[addfiled:]
crtw32\tools\win32\relinc64.cmd
libw32\inc64\algorithm, assert.h, bitset, cassert, cctype, cerrno, cfloat,
ciso646, climits, clocale, cmath, complex, conio.h, crtdbg.h, csetjmp,
csignal, cstdarg, cstddef, cstdio, cstdlib, cstring, ctime, ctype.h, cwchar,
cwctype, deque, direct.h, dos.h, eh.h, errno.h, exception, excpt.h, fcntl.h,
float.h, fpieee.h, fstream, fstream.h, functional, io.h, iomanip, iomanip.h,
ios, ios.h, iosfwd, iostream, iostream.h, iso646.h, istream, istream.h,
iterator, limits, limits.h, list, locale, locale.h, malloc.h, map, math.h,
mbctype.h, mbstring.h, memory, memory.h, minmax.h, new, new.h, numeric,
ostream, ostream.h, process.h, queue, rtcapi.h, search.h, set, setjmp.h,
setjmpex.h, share.h, signal.h, sstream, stack, stdarg.h, stddef.h,
stdexcept, stdexcpt.h, stdio.h, stdiostr.h, stdlib.h, stl.h, streamb.h,
streambuf, string, string.h, strstrea.h, strstream, tchar.h, time.h,
typeinfo, typeinfo.h, use_ansi.h, useoldio.h, utility, valarray, varargs.h,
vector, wchar.h, wctype.h, xcomplex, xiosbase, xlocale, xlocinfo,
xlocinfo.h, xlocmon, xlocnum, xloctime, xmath.h, xmemory, xstddef, xstring,
xtree, xutility, ymath.h, yvals.h
libw32\inc64\sys\locking.h, stat.h, timeb.h, types.h, utime.h
Cleansed headers for Win64 build. This should be temporary - delete once
NT5 ships and Win32 and Win64 builds start using same STL headers.
srcrel\makefile, pd-b
Handle new libw32\inc64 files for Win64 build.
-----------------------------------------------------------------
Thu 20-May-99 (PhilipLu)
crtw32\misc\dbgheap.c
Don't DebugBreak if heap allocation counter wraps around back to -1
(vs7#5363).
-----------------------------------------------------------------
Wed 19-May-99 (PhilipLu)
[addfiled:]
crtw32\stdcpp64\_tolower.c, _toupper.c, delop.cpp, delop_s.cpp, dirs,
dlldef.cpp, fiopen.cpp, iomanip.cpp, ios.cpp, iostream.cpp, locale.cpp,
locale0.cpp, newop.cpp, newop2.cpp, newop2_s.cpp, newop_s.cpp,
nomemory.cpp, sources.nt, string.cpp, strstrea.cpp, uncaught.cpp,
wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp, xcosh.c, xdnorm.c,
xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c, xfdscale.c, xfdtest.c,
xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldnorm.c, xldscale.c, xldtest.c,
xlexp.c, xlocale.cpp, xlock.cpp, xlpoly.c, xlsinh.c, xlvalues.c, xmath.h,
xmbtowc.c, xpoly.c, xsinh.c, xstod.c, xstrcoll.c, xstrxfrm.c, xvalues.c,
xwcscoll.c, xwcsxfrm.c, xwctomb.c
crtw32\stdhpp64\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
fstream, functional, iomanip, ios, iosfwd, iostream, iso646.h, istream,
iterator, limits, list, locale, map, memory, new, numeric, ostream, queue,
set, sstream, stack, stdexcept, stl.h, streambuf, string, strstream,
typeinfo, use_ansi.h, utility, valarray, vector, wctype.h, xcomplex,
xiosbase, xlocale, xlocinfo, xlocinfo.h, xlocmon, xlocnum, xloctime,
xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
Add in old STL files from \\lang5\rtl CRT 64 sourcesafe tree. These files
are used to build the Win64 version of STL for as long as NT keeps using
the old STL headers for their Win32/Win64 builds. These files should go
away once NT5 ships and NT updates to current STL headers.
makefile, makefile.inc, makefile.sub
crtw32\dirs
srcrel\makefile, mkclnmkf.c, pd-b
For Win64, build the STL components with the stdcpp64\stdhpp64 sources, not
the stdcpp\stdhpp ones used for Win32 builds.
-----------------------------------------------------------------
Wed 19-May-99 (PhilipLu)
srcrel\external.mkf, makefile
When building a 64-bit crt on a 32-bit system, use the V6TOOLS compiler to
build the 32-bit hosted mkclnmkf.exe and striplin.exe. Also, build the
proper cross-hosted 64-bit targetted version of mkclnmkf.exe.
-----------------------------------------------------------------
Mon 17-May-99 (PhilipLu)
crtw32\convert\isctype.c, mblen.c, mbstowcs.c, mbtowc.c, tolower.c, toupper.c,
wcstombs.c, wctomb.c
crtw32\dllstuff\atonexit.c, cinitexe.c, crtdll.c, crtexe.c
crtw32\dos\access.c, chdir.c, chmod.c, dosmap.c, drive.c, fullpath.c, getcwd.c,
getpid.c, mkdir.c, rename.c, rmdir.c, stat.c, unlink.c
crtw32\eh\ehvecctr.cpp, ehveccvb.cpp, ehvecdtr.cpp, frame.cpp, hooks.cpp,
oldexcpt.h, rtti.cpp, throw.cpp, unhandld.cpp, user.cpp, validate.cpp
crtw32\h\assert.h, cmsgs.h, conio.h, crtdbg.h, cruntime.h, ctype.h, direct.h,
dos.h, dostypes.h, eh.h, ehassert.h, ehhooks.h, ehstate.h, errno.h,
excpt.h, fcntl.h, float.h, fltintrn.h, fpieee.h, fstream.h, heap.h,
internal.h, io.h, iomanip.h, ios.h, iostream.h, istream.h, limits.h,
locale.h, malloc.h, math.h, mbctype.h, mbstring.h, memory.h, msdos.h,
mtdll.h, new.h, oscalls.h, ostream.h, process.h, rtcsup.h, search.h,
setjmp.h, setjmpex.h, share.h, signal.h, stdarg.h, stddef.h, stdexcpt.h,
stdio.h, stdiostr.h, stdlib.h, streamb.h, string.h, strstrea.h, tchar.h,
time.h, trnsctrl.h, typeinfo.h, varargs.h, wchar.h
crtw32\h\sys\locking.h, stat.h, timeb.h, types.h, utime.h
crtw32\heap\free.c, heapdump.c, heapgrow.c, heapinit.c, heapmin.c, realloc.c
crtw32\iostream\filebuf.cpp, stdiostr.cpp
crtw32\lowio\chsize.c, close.c, commit.c, dup.c, dup2.c, eof.c, flength.c,
fstat.c, isatty.c, locking.c, lseek.c, mktemp.c, open.c, osfinfo.c, read.c,
setmode.c, tell.c, write.c
crtw32\mbstring\ismbalnm.c, ismbalph.c, ismbdgt.c, ismbgrph.c, ismblwr.c,
ismbprn.c, ismbpunc.c, ismbspc.c, ismbupr.c, mbctype.c, mbscoll.c,
mbsicmp.c, mbsicoll.c, mbslwr.c, mbsnbcol.c, mbsnbico.c, mbsncoll.c,
mbsnicol.c, mbsupr.c, mbtolwr.c, mbtoupr.c
crtw32\misc\abs.c, assert.c, crtmbox.c, dbgheap.c, dbgrpt.c, getenv.c,
getpath.c, lconv.c, onexit.c, perror.c, putenv.c, searchen.c, syserr.c
crtw32\startup\crt0.c, crt0dat.c, crt0msg.c, dllcrt0.c, dllmain.c, stdargv.c
crtw32\stdcpp\_tolower.c, _toupper.c, xmbtowc.c, xstrcoll.c, xstrxfrm.c,
xwctomb.c
crtw32\stdhpp\exception, typeinfo, wctype.h
crtw32\stdio\_filbuf.c, _file.c, _flsbuf.c, _freebuf.c, _getbuf.c, _open.c,
_sftbuf.c, clearerr.c, closeall.c, fclose.c, fdopen.c, fflush.c, fgetpos.c,
fread.c, fseek.c, fsetpos.c, ftell.c, fwrite.c, input.c, maketabc.c,
output.c, rewind.c, rmtmp.c, setvbuf.c, stream.c, tempnam.c, test_out.c,
tmpfile.c
crtw32\string\memicmp.c, strcoll.c, stricmp.c, stricoll.c, strlwr.c,
strncoll.c, strnicmp.c, strnicol.c, strset.c, strupr.c, strxfrm.c
crtw32\time\clock.c, dtoxtime.c, ftime.c, localtim.c, mktime.c, mktime64.c,
strdate.c, strftime.c, strtime.c, time.c, tzset.c, utime.c
doc\pjp\mkclnmkf.c
fpw32\include\cv.h, trans.h
fpw32\tran\fabs.c, sincosh.c, tanh.c
libw32\include\assert.h, conio.h, crtdbg.h, ctype.h, direct.h, dos.h, eh.h,
errno.h, exception, excpt.h, fcntl.h, float.h, fpieee.h, fstream.h, io.h,
iomanip.h, ios.h, iostream.h, istream.h, limits.h, locale.h, malloc.h,
math.h, mbctype.h, mbstring.h, memory.h, new.h, ostream.h, process.h,
search.h, setjmp.h, setjmpex.h, share.h, signal.h, stdarg.h, stddef.h,
stdexcpt.h, stdio.h, stdiostr.h, stdlib.h, streamb.h, string.h, strstrea.h,
tchar.h, time.h, typeinfo, typeinfo.h, varargs.h, wchar.h, wctype.h
libw32\include\sys\locking.h, stat.h, timeb.h, types.h, utime.h
srcrel\msvc40.if
Removing Macintosh support, stage 2: Remove all Mac support from source
files. Also remove most _WIN32 #ifs, since _WIN32 is always on now and
some Mac code was actually under #ifndef _WIN32 instead of #ifdef _MAC.
-----------------------------------------------------------------
Mon 17-May-99 (PhilipLu)
clean.cmd, makefile, makefile.inc, makefile.sub
crtw32\crt.mkf, crt32.nt
crtw32\convert\convert.mkf, lsources
crtw32\dllstuff\lsources
crtw32\dos\dos.mkf, lsources
crtw32\eh\eh.mkf, lsources
crtw32\exec\exec.mkf, lsources
crtw32\heap\heap.mkf, lsources
crtw32\helper\lsources
crtw32\iostream\iostream.mkf, lsources
crtw32\linkopts\lsources
crtw32\lowio\lowio.mkf, lsources
crtw32\mbstring\lsources, mbstring.mkf
crtw32\misc\lsources, misc.mkf
crtw32\startup\lsources, startup.mkf
crtw32\stdio\lsources, stdio.mkf
crtw32\string\lsources, string.mkf
crtw32\time\lsources, time.mkf
doc\copycrt.bat, copysrc.bat
doc\pjp\makefile.srcrel
fpw32\fp.mkf, fp32.nt, infer.mkf
fpw32\conv\conv.mkf, lsources
fpw32\tran\lsources, tran.mkf
srcrel\bldnt.cmd, bldwin95.bat, external.mkf, makefile, mkclnmkf.c,
mkfiles.sed, objects.mkf, pd-b
Removing Macintosh support, stage 1: Remove all Mac support from makefiles
and scripts and delfile Mac-only files.
[delfiled:]
mkmac.bat
crtw32\mac.mkf, makemac.cmd, mkm68k.bat, mkpmac.bat
crtw32\convert\mac\atold.c, strtold.c
crtw32\dllstuff\macdll\makedll.cmd, makedlld.cmd, msvcrt.def, msvcrt.r,
msvcrtd.def
crtw32\dos\mac\remove.c
crtw32\eh\mac\m68k\frame.cpp, trnsctrl.a
crtw32\eh\mac\pmac\ehstate.cpp, exdsptch.cpp, handlers.asm, lowhelpr.asm,
ntstatus.h, ppcinst.h, trnsctrl.cpp, unwind.asm, vunwind.cpp
crtw32\exec\mac\spawn.c
crtw32\h\plstring.h
crtw32\h\mac\mpw.h, rtlib.h
crtw32\h\mac\m68k\assert.a, crtequ.a, sysequ.a, traps.a
crtw32\heap\mac\heapaslm.c
crtw32\helper\mac\pmac\i64div.asm, i64rem.asm, i64rsh.asm, rfpr.asm, rgpr.asm,
sfpr.asm, sgpr.asm, u64div.asm, u64rem.asm
crtw32\lowio\mac\_endlow.c, dupx.c
crtw32\misc\mac\cinitenv.c, cinitone.c, gestalt.c, id2path.c, signal.c,
xcptfltr.c
crtw32\misc\mac\m68k\libhlprs.a, rts.a, setjmp.a, stkavl.a
crtw32\misc\mac\pmac\exsup.asm, setjmp.asm, stkavl.c
crtw32\startup\mac\amsg.c, exit.c, init.c, libcinfo.c, runtime.c
crtw32\startup\mac\m68k\applyfix.a, astart.a, chkstk.a, fixupseg.a, getstack.a,
loaddata.a, loadseg.a, qd.a, quit.a, shellrtn.a, stdalone.a, unloadsn.a
crtw32\startup\mac\pmac\astart.c, chkstk.asm, crtdllex.c, crtexit.c, dllexit.c,
qd.c, shellrtn.c, sp.c, testexit.c
crtw32\stdio\mac\initstd.c
crtw32\string\special.mak
crtw32\string\mac\c2pstr.c, p2cstr.c, plstrcat.c, plstrchr.c, plstrcmp.c,
plstrlen.c, plstrnca.c, plstrncm.c, plstrncp.c, plstrpbr.c, plstrrch.c,
plstrspn.c, plstrstr.c
crtw32\time\mac\cinitclk.c
crtw32\tools\mac\addseg.c, addseg.exe, adep.bat, adep.sed, asm68.exe, cdep.bat,
cdep.sed, cp.exe, gawk.exe, getver.exe, ifstrip.exe, make.exe, ml.err,
ml.exe, nmake.exe, relinc.cmd, relinc.if, relinc.sed, sort.exe, uniq.exe
fpw32\m68k.mkf, makemac.cmd, mkm68k.bat, mkpmac.bat, pmac.mkf
fpw32\conv\mac\m68k\_xtos.c, _xtou.c, cfinl.c, cfout.c, clfout.c, cvt.c,
decode.a, fpdata.c, fpinit.c, lddata.c, ldinit.c, libcinfo.c
fpw32\conv\mac\pmac\dtoi.asm, dtoi64.asm, dtou.asm, dtou64.asm, fpinit.c,
ftou.asm, i64tod.asm, itod.asm, itof.asm, u64tod.asm, utod.asm, utof.asm
fpw32\include\mac\transl.h
fpw32\include\mac\m68k\sane.a, trans.a, traps.a
fpw32\tran\special.mak
fpw32\tran\mac\m68k\_fpxpt.c, asincosl.c, atan2.c, atan2l.c, bessell.c, ceil.a,
ceill.a, error.a, exphlp.c, exphlpl.c, fabs.a, fabsl.a, floor.a, floorl.a,
fmod.a, fmodl.a, fpctrl.a, frexpl.c, frnd.a, frndl.a, fsqrt.c, fsqrtl.c,
huge.a, hypotl.c, iceil.a, ieee.c, ifloor.a, ifmod.a, isqrt.a, itran.a,
itrig.a, itriga.a, itrigh.a, ldexpl.c, matherr.c, matherrl.c, modfl.c,
sincoshl.c, sqrt.a, sqrtl.a, tanhl.c, tran.a, tranl.a, trig.a, triga.a,
trigal.a, trigh.a, trighl.a, trigl.a, utill.c
fpw32\tran\mac\pmac\_fpctrl.c, _fpxpt.c, fpctrl.asm, frnd.c, huge.c, ieee.c
libw32\include\mrc\cfrg.r, cfrg1024.r, cfrg256.r, cfrg512.r
libw32\lib\mppc\cfrg.rsc, cfrg1024.rsc, cfrg256.rsc, cfrg512.rsc
libw32\tools\m68k\aliasobj.exe
libw32\tools\pmac\aliasobj.exe, detab.exe, ifstrip.exe, pd.exe, striphdr.exe,
tolwrupr.exe, trailing.exe
srcrel\_sample_.r
Mac-only files delfiled from source tree.
-----------------------------------------------------------------
Fri 14-May-99 (PhilipLu)
crtw32\h\assert.h, conio.h, ctype.h, direct.h, dos.h, eh.h, errno.h, excpt.h,
float.h, fpieee.h, io.h, locale.h, malloc.h, math.h, mbctype.h, mbstring.h,
memory.h, new.h, process.h, search.h, setjmp.h, signal.h, stddef.h, stdio.h,
stdlib.h, string.h, time.h, wchar.h
crtw32\h\sys\stat.h, timeb.h, utime.h
crtw32\stdhpp\wctype.h
fpw32\include\cv.h, trans.h
libw32\include\assert.h, conio.h, ctype.h, direct.h, dos.h, eh.h, errno.h,
excpt.h, float.h, fpieee.h, io.h, locale.h, malloc.h, math.h, mbctype.h,
mbstring.h, memory.h, new.h, process.h, search.h, setjmp.h, signal.h,
stddef.h, stdio.h, stdlib.h, string.h, time.h, wchar.h, wctype.h
libw32\include\sys\stat.h, timeb.h, utime.h
srcrel\msvc40.if
Remove all defs of _CRTAPI1/2. There were no uses.
crtw32\h\win32s.h [delfiled]
crtw32\heap\handler.cpp, heapinit.c, malloc.c, oldnew.c, _newmode.c
crtw32\iostream\cerrinit.cpp, cininit.cpp, cloginit.cpp, iostrini.cpp
crtw32\linkopts\newnew.c
crtw32\lowio\lowio.mkf
crtw32\misc\ctype.c, dbghook.c, inithelp.c, lconv.c, misc.mkf, nlsdata1.c,
nlsdata3.c, wsetloca.c
crtw32\startup\mlock.c
crtw32\stdio\ncommode.c, rmtmp.c, stream.c, tmpfile.c
crtw32\time\timeset.c
doc\copysrc.bat
fpw32\tran\matherr.c
libw32\buildall.cmd, makefile, msvcrt.src
srcrel\msvc40.if, pd-b
Eliminate all Win32s code still hanging around.
-----------------------------------------------------------------
Thu 13-May-99 (PhilipLu)
crtw32\stdcpp\iosptrs.cpp
crtw32\stdhpp\xstddef
libw32\include\xstddef
Missing __cdecl in prototype for _Loc_atexit.
-----------------------------------------------------------------
Thu 13-May-99 (PhilipLu)
makefile
crtw32\dllstuff\crtdll.c, crtexe.c
crtw32\h\rtcapi.h, rtcpriv.h, rtcsup.h
crtw32\misc\alpha\chkesp.c
crtw32\misc\i386\chkesp.c
crtw32\rtc\bintree.cpp, callsite.cpp, chsyheap.cpp, contain.cpp, convert.cpp,
error.cpp, fileio.cpp, init.cpp, initsect.cpp, memory.cpp, pdblkup.cpp,
shadow.cpp, stack.cpp, userapi.cpp
crtw32\startup\crt0.c, crt0dat.c, dllcrt0.c
crtw32\stdcpp\delaop.cpp, delop.cpp, newaop.cpp, newaop2.cpp, newop.cpp,
newop2.cpp
libw32\include\rtcapi.h
libw32\msvcrt.src
srcrel\msvc40.if
_CC_RUNTIME_CHECKS -> _RTC and other minor RTC cleanup
-----------------------------------------------------------------
Wed 12-May-99 (PhilipLu)
makefile, makefile.inc, makefile.sub
crtw32\eh\rtti.cpp
crtw32\heap\expand.c, free.c, malloc.c, new2.cpp
crtw32\misc\dbgheap.c, lsources
crtw32\misc\alpha\setjmp.s, setjmpex.s
crtw32\stdcpp\locale.cpp, locale0.cpp, wlocale.cpp, xlocale.cpp,
xstrcoll.c, xwcscoll.c
crtw32\stdhpp\ostream, streambuf, xlocale
libw32\msvcrt.src
libw32\include\ostream, rtcapi.h, streambuf, xlocale
srcrel\makefile, objects.mkf
Improve method used to disable RTC support in Win64. Fix Win64 build
for Alpha64 and IA64.
-----------------------------------------------------------------
Tue 11-May-99 (KFrei)
This stuff moves all the runtime check code under #ifdef _CC_RUNTIME_CHECKS
makefile
Only define _CC_RUNTIME_CHECKS for non LLP64 builds
crtw32\dllstuff\crtdll.c, crtexe.c
crtw32\startup\crt0.c, crt0dat.c, dllcrt0.c
#ifdef'ed RTC init and term code
crtw32\h\rtcapi.h, rtcpriv.h, rtcsup.h
crtw32\libw32\include\rtcapi.h
#ifdef'ed the entire contents of the headers
crtw32\misc\alpha\chkesp.c
crtw32\misc\i386\chkesp.c
#ifdef'ed the initialization, shutdown and syncronization stuff
crtw32\rtc\bintree.cpp, callsite.cpp, chsyheap.cpp, contain.cpp, convert.cpp,
error.cpp, fileio.cpp, init.cpp, initsect.cpp, memory.cpp, pdblkup.cpp,
shadow.cpp, stack.cpp, userapi.cpp
Everything is now empty #ifndef _CC_RUNTIME_CHECKS
crtw32\stdcpp\delaop.cpp, delop.cpp, newaop.cpp, newaop2.cpp, newop.cpp, newop2.cpp
Put all the usage of the RTC code under _CC_RUNTIME_CHECKS
crtw32\libw32\msvcrt.src
put _CRT_RTC_INIT export under #ifdef _CC_RUNTIME_CHECKS
-----------------------------------------------------------------
Mon 10-May-99 (GregF)
crtw32\convert\wcstombs.c, wctomb.c
crtw32\misc\a_loc.c, a_map.c, w_cmp.c, w_map.c, w_str.c
crtw32\stdcpp\xwctomb.c
crtw32\time\tzset.c
Changed the dwFlags argument to WideCharToMultiByte to be zero. This was
suggested by K. D. Chang to avoid problems with codepage 1258 on NT 5.0.
-----------------------------------------------------------------
Wed 05-May-99 (rlanser)
These are all ports from the CRT64 or CRT64_SIZET_32 trees (PhilipLu)
makefile
link /debugtype:both,fixup for IA64
crtw32\eh\frame.cpp
Add __unaligned.
crtw32\misc\assert.c
Define _DbgBreak for IA64.
crtw32\h\crtdbg.h
libw32\include\crtdbg.h
Define _CrtDbgBeak for IA64.
fpw32\conv\tenpow.c
fpw32\include\cv.h
Added _M_IA64 to alignment #if's.
-----------------------------------------------------------------
Wed 05-May-99 (PhilipLu)
srcrel\clnsrcrel.bat, makefile
Don't copy platform-specific files of other platforms. Saves copying about
500 files on 32-bit x86 build.
crtw32\eh\throw.cpp
Buildfix for newer Win headers with new prototype of RaiseException, while
still allowing build with old headers missing definition of PULONG_PTR.
crtw32\misc\alpha\chandler.c
crtw32\startup\alpha\chkstk.s
Buildfixes for 32-bit Alpha build after 64-bit merge.
-----------------------------------------------------------------
Tue 04-May-99 (PhilipLu)
crtw32\dllstuff\ia64\dllsupp.c
crtw32\h\sect_attribs.h
crtw32\misc\ia64\chandler.c, cinitone.s, jmpuwind.s, longjmp.s, memcpys.s,
memsets.s, miscs.s, setjmp.s, setjmpex.s
crtw32\startup\ia64\chkstk.s, fp8.c,
crtw32\stdcpp\dirs, sources.nt
crtw32\stdcpp\stp\makefile, sources
fpw32\conv\psx\makefile, sources
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
fpw32\tran\ia64\asincosf.c, atan2f.c, atanf.c, ceilf.c, em_types.h, emfloat.s,
expf.c, fabsf.c, filter.c, floorf.c, fmodf.c, fp80.s, fp80c.c, fpctrl.c,
fpieee_flt.h, frnd.s, huge.s, ieee.c, log10f.c, logf.c, powf.c,
sincosf.c, sincoshf.c, sqrtf.c, tanf.c, tanhf.c
fpw32\tran\psx\makefile, sources
libw32\lib\axp64\
libw32\lib\ia64\
libw32\lib\stp\makefile, makefile.inc, sources
libw32\tools\ia64\aliasobj.exe, detab.exe, ifstrip.exe, pd.exe, striphdr.exe,
tolwrupr.exe, trailing.exe
Merging 64-bit CRT with 32-bit CRT. Added new files from the CRT 64 tree.
log_64.txt
Merging 64-bit CRT with 32-bit CRT. Save log.txt from CRT 64 tree under
new name.
makefile
makefile.inc
makefile.sub
crtw32\crt32.nt, dirs
crtw32\convert\_mbslen.c, atof.c, mblen.c, mbstowcs.c, strtod.c, wcstombs.c
crtw32\direct\findf64.c, findfile.c
crtw32\dllstuff\cinitexe.c, crtdll.c, crtexe.c, lsources
crtw32\dllstuff\dlllib\sources
crtw32\dos\fullpath.c
crtw32\eh\frame.cpp, lsources, oldexcpt.cpp, oldexcpt.h, sources.nt, throw.cpp,
unhandld.cpp
crtw32\eh\alpha\bridge.s, ehunwind.c, xcptmisc.h, xcptmisc.s
crtw32\eh\dll\sources
crtw32\eh\ia64\ehstate.cpp, handlerc.cpp, handlers.s, trnsctrl.cpp
crtw32\eh\mt\sources
crtw32\eh\nt\sources
crtw32\eh\st\sources
crtw32\exec\cenvarg.c, dospawn.c, execl.c, execle.c, execlp.c, execlpe.c,
execv.c, execvp.c, execvpe.c, getproc.c, loaddll.c, spawnl.c,
spawnle.c, spawnlp.c, spawnlpe.c, spawnv.c, spawnve.c, spawnvp.c,
spawnvpe.c, system.c, wait.c
crtw32\h\assert.h, conio.h, crtdbg.h, cruntime.h, ctime.h, ctype.h, direct.h,
dos.h, eh.h, ehstate.h, errno.h, excpt.h, float.h, fpieee.h, heap.h,
internal.h, io.h, locale.h, malloc.h, math.h, mbctype.h, mbstring.h,
memory.h, mtdll.h, new.h, nlsint.h, process.h, search.h, setjmp.h,
signal.h, stdarg.h, stddef.h, stdexcpt.h, stdio.h, stdlib.h, streamb.h,
string.h, time.h, trnsctrl.h, varargs.h, wchar.h, winheap.h
crtw32\h\sys\stat.h, timeb.h, types.h, utime.h
crtw32\heap\new.cpp
crtw32\heap\dll\sources
crtw32\heap\mt\sources
crtw32\heap\st\sources
crtw32\helper\lsources, sources.nt
crtw32\iostream\_strstre.cpp, ostream.cpp, stdiostr.cpp, streamb.cpp
crtw32\linkopts\lsources
crtw32\lowio\cgets.c, close.c, cputs.c, dup.c, dup2.c, getch.c, initcon.c,
ioinit.c, open.c, osfinfo.c, pipe.c, putch.c, read.c, write.c
crtw32\mbstring\mbctype.c, mbsnbcol.c, mbsnbico.c, mbsncoll.c, mbsnicol.c,
sources.nt
crtw32\misc\a_env.c, bsearch.c, charmax.c, dbgheap.c, dbgnew.cpp, dbgrpt.c,
getenv.c, lsources, onexit.c, perror.c, putenv.c, qsort.c, setenv.c,
setlocal.c, splitpat.c, w_env.c, wperror.c, wsetloca.c
crtw32\misc\alpha\chandler.c, ghandler.c, jmpuwind.s, longjmp.s, otsjmp.s,
otsjmpex.s
crtw32\misc\dll\sources
crtw32\misc\mt\sources
crtw32\misc\nt\sources
crtw32\misc\psx\sources
crtw32\misc\st\sources
crtw32\startup\crt0.c, crt0dat.c, crt0init.c, crt0msg.c, lsources, startup.mkf,
stdenvp.c, thread.c, threadex.c, tidtable.c, tlssup.c, wild.c
crtw32\startup\alpha\chkstk.s
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\stdcpp\xstrcoll.c, xstrxfrm.c, xwcscoll.c, xwcsxfrm.c
crtw32\stdio\_file.c, _flsbuf.c, fflush.c, fputs.c, fputws.c, fread.c, ftell.c,
ftelli64.c, fwrite.c, input.c, output.c, popen.c, puts.c, rmtmp.c,
setvbuf.c, sprintf.c, sscanf.c, swprintf.c, swscanf.c, tempnam.c,
vsprintf.c, vswprint.c
crtw32\string\lsources, memcpy.c, memmove.c, memset.c, sources.nt, strncoll.c,
strnicol.c, strset.c, strxfrm.c, wcscspn.c, wcsncoll.c, wcsnicol.c,
wcsspn.c, wcsxfrm.c
crtw32\time\clock.c, dtoxtime.c, gmtime.c, localtim.c, mktime.c, wcsftime.c
fpw32\conv\cfin.c, fltinf.c, fpinit.c
fpw32\include\cv.h, trans.h
fpw32\tran\asincos.c, atan.c, bessel.c, ceil.c, exp.c, fabs.c, floor.c, fmod.c,
fpexcept.c, frexp.c, hypot.c, ieeemisc.c, ldexp.c, log.c, lsources,
modf.c, pow.c, sincos.c, sincosh.c, sources.nt, sqrt.c, tan.c, tanh.c
fpw32\tran\alpha\dpml_exc.c, filter.c
fpw32\tran\i386\filter_simd.c, xmmi_fp_emul.c
libw32\makefile, msvcirt.src, msvcrt.src
libw32\include\assert.h, conio.h, crtdbg.h, ctype.h, direct.h, dos.h, eh.h,
errno.h, excpt.h, float.h, fpieee.h, io.h, locale.h, malloc.h, math.h,
mbctype.h, mbstring.h, memory.h, new.h, process.h, search.h, setjmp.h,
signal.h, stdarg.h, stddef.h, stdexcpt.h, stdio.h, stdlib.h, streamb.h,
string.h, time.h, varargs.h, wchar.h
libw32\include\sys\stat.h, timeb.h, types.h, utime.h
libw32\lib\dirs, sources.nt
srcrel\external.mkf, makefile, mkclnmkf.c, msvc40.if, objects.mkf, pd-b
Merging 64-bit CRT with 32-bit CRT. Merged in diffs from CRT 64 tree.
crtw32\heap\calloc.c, expand.c, free.c, heapchk.c, heapinit.c, heapmin.c,
malloc.c, msize.c, realloc.c, sbheap.c
Merging 64-bit CRT with 32-bit CRT. Merged in diffs from CRT 64 tree.
Also, disable the small block heap under Win64. All heap routines just
pass through to the underlying OS APIs.
-----------------------------------------------------------------
Mon 26-Apr-99 (PhilipLu)
crtw32\eh\comerr.cpp
crtw32\h\comerr.h
crtw32\winheap\*.*
libw32\include\comerr.h
Delfile unnecessary files
-----------------------------------------------------------------
Mon 26-Apr-99 (PhilipLu)
crtw32\h\mtdll.h, setlocal.h
crtw32\misc\initmon.c, initnum.c, setlocal.c
crtw32\startup\tidtable.c
Introduced one more reference counter for pieces of the per-thread locale
information, cleaned up more setlocale memory leaks.
-----------------------------------------------------------------
Fri 16-Apr-99 (GregF)
crtw32\heap\realloc.c
Added a call to __sbh_find_block to handle the case where __sbh_alloc_block
has caused the header list to be moved. This fixes VS7 #14020.
-----------------------------------------------------------------
Wed 14-Apr-99 (PhilipLu)
crtw32\stdcpp\delaop.cpp, delop.cpp, newaop.cpp, newaop2.cpp, newop.cpp,
newop2.cpp
Add back RTC functionality wiped out by STL integration (whoops)
crtw32\stdcpp\iosptrs.cpp
crtw32\stdhpp\xstddef
Missing __cdecl in funcptr arg to _Loc_atexit
crtw32\stdhpp\cassert, iosfwd
Minor cleanup missed in STL integration
crtw32\tools\win32\relinc.cmd
Add STL header xlocmes to cleansing
-----------------------------------------------------------------
Tue 13-Apr-99 (PhilipLu)
makefile, makefile.inc, srcrel\pd-b
Add new files stdcpp\cerr.cpp, stdcpp\cin.cpp, stdcpp\clog.cpp,
stdcpp\cout.cpp, stdcpp\iosptrs.cpp, stdcpp\wcerr.cpp, stdcpp\wcin.cpp,
stdcpp\wclog.cpp, stdcpp\wcout.cpp, stdhpp\hash_map, stdhpp\hash_set,
stdhpp\xhash, libw32\include\hash_map, libw32\include\hash_set,
libw32\include\xhash.
doc\copysrc.bat
Add new files, plus missing files delaop.cpp, dealop_s.cpp, newaop.cpp,
newaop2.cpp, newaop_s.cpp, newaop2_s.cpp, stdthrow.cpp.
crtw32\stdcpp\cerr.cpp [NEW], cin.cpp [NEW], clog.cpp [NEW], cout.cpp [NEW],
delaop.cpp, delop.cpp, fiopen.cpp, iomanip.cpp, ios.cpp,
iosptrs.cpp [NEW], iostream.cpp, locale.cpp, LOCALE0.CPP, newaop.cpp,
newaop2.cpp, newop.cpp, newop2.cpp, nomemory.cpp, stdthrow.cpp,
string.cpp, strstrea.cpp, uncaught.cpp, wcerr.cpp [NEW], wcin.cpp [NEW],
wclog.cpp [NEW], wcout.cpp [NEW], wctrans.c, wctype.c, wiostrea.cpp,
wlocale.cpp, xcosh.c, xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c,
xfdnorm.c, xfdscale.c, xfdtest.c, xfexp.c, xfsinh.c, xfvalues.c,
xlcosh.c, xldnorm.c, xldscale.c, xldtest.c, xlexp.c, xlocale.cpp,
xlpoly.c, xlsinh.c, xlvalues.c, xmath.h, xmbtowc.c, xpoly.c, xsinh.c,
xstod.c, xvalues.c, xwctomb.c
Update all files to Plauger's drop of 12/15/98.
crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
fstream, functional, hash_map [NEW], hash_set [NEW], iomanip, ios,
iosfwd, iostream, iso646.h, istream, iterator, limits, list, locale,
map, memory, new, numeric, ostream, queue, set, sstream, stack,
stdexcept, streambuf, string, strstream, typeinfo, utility, valarray,
vector, xcomplex, xhash [NEW], xiosbase, xlocale, xlocinfo, xlocinfo.h,
xlocmes, xlocmon, xlocnum, xloctime, xmemory, xstddef, xstring, xtree,
xutility, ymath.h, yvals.h
Update all files to Plauger's drop of 12/15/98.
crtw32\tools\win32\relinc.cmd
Cleanse and copy new STL headers hash_map, hash_set, and xhash.
libw32\include
Update all STL headers to Plauger's drop of 12/15/98.
-----------------------------------------------------------------
Fri 09-Apr-99 (v-JohnMo)
crtw32\helper\lsources
crtw32\helper\sources.nt
crtw32\helper\alpha\sfillx.s
crtw32\helper\alpha\sfwdcpy.s
srcrel\objects.mkf
srcrel\pd-b
Added a couple of helper functions for Alpha UTC backend support
-----------------------------------------------------------------
Thu 08-Apr-99 (GregF)
crtw32\convert\mbtowc.c
Replaced MT with _MT, oops...
-----------------------------------------------------------------
Thu 08-Apr-99 (GregF)
crtw32\h\mtdll.h, setlocal.h
crtw32\misc\initctyp.c, initmon.c, initnum.c, setlocal.c
crtw32\startup\tidtable.c
crtw32\time\strftime.c
Introduced more reference counters for pieces of the per-thread locale
information.
-----------------------------------------------------------------
Wed 07-Apr-99 (PhilipLu)
log.txt -> log_v60.txt
Renamed old LOG.TXT from V6.0 and started a new LOG.TXT (this file).
-----------------------------------------------------------------
***************************************************************************
***************************************************************************
*** ***
*** This file contains the history for MSVC++ v7.0 (relative to v6.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. ***
*** ***
***************************************************************************
***************************************************************************