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

  1. ***************************************************************************
  2. ***************************************************************************
  3. *** ***
  4. *** This file contains the change history for the MSVC++ v7.0 C/C++ ***
  5. *** Run-Time Libraries (that is, modifications since since 6.0). ***
  6. *** The file should always be edited at the top so that the most ***
  7. *** recent changes are at the beginning of the file (immediately ***
  8. *** after this comment) and the oldest changes are at the end. ***
  9. *** ***
  10. ***************************************************************************
  11. ***************************************************************************
  12. -----------------------------------------------------------------
  13. Fri 21-Sep-01 (GautamB)
  14. crtw32\eh\i386\trnsctrl.cpp
  15. VS7#305455. Temp fix for C++Eh to works with apps with fibers. This is
  16. more of a reverse compatiblith issue as this fix doesn't really fix the
  17. problem in C++Eh when fiber is switched between C++Eh (mostly when
  18. executing in catch block).
  19. -----------------------------------------------------------------
  20. Tue 10-Jul-01 (PhilipLu)
  21. crtw32\stdhpp\xstring
  22. libw32\msvcprt.src
  23. makefile
  24. Get rid of all _RETAIN_OLD_CRT_CODE uses, for final VC7 LKG CRT.
  25. -----------------------------------------------------------------
  26. Tue 03-Jul-01 (GautamB)
  27. crtw32\eh\frame.cpp
  28. libw32\msvcrt.src syscrt.src syscrt64.src
  29. VS7#275954 Added a new function CxxCallUnwindVecDtor for COM+ eh stuff.
  30. -----------------------------------------------------------------
  31. Fri 29-Jun-01 (PhilipLu)
  32. makefile.sub
  33. VS7#270726 CRT components which get distributed in binary form, not
  34. source, must be compiled /Z7 instead of /Zi so the CRT rebuild creates
  35. a usable PDB that won't produce LNK4099 warnings.
  36. makefile
  37. VS7#268410 Move msvc*.dll base address from 0x5d0?0000 to 0x7c0?0000.
  38. -----------------------------------------------------------------
  39. Sun 17-Jun-01 (PhilipLu)
  40. crtw32\h\new.h
  41. crtw32\stdhpp\new
  42. libw32\inc64\new.h
  43. libw32\include\new, new.h
  44. Tweak Friday's checkin for VS7#237394 to better cooperate with the
  45. VS build. Add declarations of nothrow_t placement new/delete ops to
  46. <new.h>, and move those declarations in both <new> and <new.h> under
  47. #ifndef __NOTHROW_T_DEFINED (so redef errors in VS build can be
  48. avoided). Also, bracket headers <new> and <new.h> with
  49. #pragma push_macro("new")/#undef new/.../#pragma pop_macro("new")
  50. so VS attempts to #define new don't trash these headers.
  51. -----------------------------------------------------------------
  52. Fri 15-Jun-01 (PhilipLu)
  53. crtw32\h\new.h
  54. crtw32\heap\lsources, nothrow0.cpp [NEW]
  55. crtw32\linkopts\lsources, sources, thrownew.cpp [NEW]
  56. crtw32\stdcpp\lsources, sources.nt
  57. crtw32\stdhpp\new
  58. doc\copysrc.bat
  59. libw32\inc64\new.h
  60. libw32\include\new, new.h
  61. libw32\msvcprt.src
  62. makefile, makefile.inc
  63. srcrel\makefile, mkclnmkf.c, msvc40.if, pd-b
  64. [RENAMED/MOVED]
  65. crtw32\stdcpp\delaop2.cpp -> crtw32\heap\delaopnt.cpp
  66. crtw32\stdcpp\delop2.cpp -> crtw32\heap\delopnt.cpp
  67. crtw32\stdcpp\newaop2.cpp -> crtw32\heap\newaopnt.cpp
  68. crtw32\stdcpp\newop2.cpp -> crtw32\heap\newopnt.cpp
  69. [DELETED]
  70. crtw32\stdcpp\delaop2_s.cpp, delop2_s.cpp, newaop2_s.cpp, newop2_s.cpp
  71. VS7#237394 Reconfigure global operator new/delete. We intentionally
  72. have two versions of operator new. The main CRT defines a legacy
  73. version that returns NULL on failure, the C++ Std Lib defines the
  74. conformant version that throws std::bad_alloc on failure.
  75. The first problem is that it is possible to get the wrong version
  76. linked into a program. If an app links to the C++ Std Lib, it must
  77. use the throwing version of new, since the C++ Std Lib doesn't check
  78. for null returns on memory allocations, instead assuming exceptions
  79. will be used. Usually, the order of /defaultlib directives in objects
  80. will cause the correct throwing new to be loaded, but it is possible
  81. for this to fail. To work around that, I'm adding a new linkopts
  82. object, thrownew.obj. Explicitly linking in thrownew.obj will forcibly
  83. use a throwing version of new.
  84. The second problem concerns the difficulty in producing a .lib which
  85. can't be sure if it will end up linked to the throwing or non-throwing
  86. version of new (e.g. third-party libs). Such a lib may not want to
  87. force a dependency on the Std C++ Lib, but still want to work in case
  88. the final link module uses the Std C++ Lib. The proper way to handle
  89. this is for that third-party lib to use the nothrow_t placement new,
  90. which will always return NULL on failure.
  91. To make that work and still not force a dependency on the Std C++ Lib,
  92. nothrow_t placement new and associated routines are moved out of the
  93. Std C++ Lib and into the main CRT. In addition, constant std::nothrow
  94. is also moved into the main CRT, while still being left in the Std C++
  95. Lib for backwards-compatibility (it was exported from the DLL).
  96. -----------------------------------------------------------------
  97. Fri 15-Jun-01 (GautamB)
  98. crtw32\eh\frame.cpp
  99. Added stubs for IA64 com+ nothing working yet.
  100. -----------------------------------------------------------------
  101. Fri 15-Jun-01 (PhilipLu)
  102. crtw32\startup\mlock.c, tidtable.c
  103. VS7#267669/Windows#414059 _mtinit needs to call _mtterm to free
  104. resources if a failure is encountered.
  105. -----------------------------------------------------------------
  106. Wed 13-Jun-01 (PhilipLu)
  107. crtw32\string\i386\_memicmp.asm, _stricmp.asm, _strnicm.asm, memccpy.asm,
  108. memchr.asm, memcmp.asm, memcpy.asm, memset.asm, strcat.asm, strchr.asm,
  109. strcmp.asm, strlen.asm, strncat.asm, strncmp.asm, strncpy.asm, strnset.asm,
  110. strrchr.asm, strrev.asm, strset.asm, strspn.asm, strstr.asm
  111. VS7#267015 Replace INC/DEC by ADD/SUB by 1 in string/memory .asm
  112. routines, for better Pentium 4 performance.
  113. crtw32\h\conio.h, excpt.h, fpieee.h, rtcapi.h, setjmp.h, wchar.h
  114. crtw32\h\i386\emmintrin.h
  115. libw32\include\conio.h, emmintrin.h, excpt.h, fpieee.h, rtcapi.h, setjmp.h,
  116. wchar.h
  117. libw32\inc64\conio.h, excpt.h, fpieee.h, rtcapi.h, setjmp.h, wchar.h
  118. VS7#267063 Fix headers usable by C code so /Za /W4 won't warn.
  119. Primarily, get rid of C++-style comments.
  120. -----------------------------------------------------------------
  121. Mon 11-Jun-01 (PhilipLu)
  122. crtw32\stdhpp\exception
  123. libw32\include\exception
  124. makefile
  125. VS7#266694 Fix user CRT rebuild so the no-exceptions configuration
  126. supplied by Dinkumware (-D_HAS_EXCEPTIONS=0) at least builds. The
  127. user rebuild makefile can now be invoked with STDCPP_NOEH=YES to
  128. enable the no-exceptions build, and header <exception> has been
  129. fixed so the _HAS_EXCEPTIONS=0 branch will actually build. No testing
  130. has been done to verify any sort of usability of this configuration,
  131. which is undocumented and unsupported for VC7.0, but since it is
  132. discoverable by anyone perusing the source, I decided to go ahead and
  133. fix the build.
  134. -----------------------------------------------------------------
  135. Mon 11-Jun-01 (GautamB)
  136. fpw32\tran\ia64\ieee.c
  137. VS7#216001 Added support for Flush-to-Zero mode using _controlfp().
  138. -----------------------------------------------------------------
  139. Wed 06-Jun-01 (PhilipLu)
  140. crtw32\stdhpp\xutility
  141. libw32\include\xutility
  142. VS7#256042 The global function operator- for the diff of two
  143. std::reverse_iterator instances was returning a size_t instead of a
  144. ptrdiff_t.
  145. makefile
  146. VS7#264114 Debug CRT DLLs need to be built /debugtype:cv,fixup, not
  147. just /debugtype:cv, for proper Vulcan support. Also, strip all
  148. references to /debugtype out of the makefile that gets shipped for the
  149. user CRT rebuild, since this is an undocumented linker switch.
  150. -----------------------------------------------------------------
  151. Tue 05-Jun-01 (PhilipLu)
  152. crtw32\heap\resetstk.c
  153. VS7#264306 _resetstkoflw() should not attempt to shrink the committed
  154. stack. Also, it should not do anything if a guard page is already
  155. present. Done so the WinXP app verifier /stacks will work.
  156. -----------------------------------------------------------------
  157. Wed 15-May-01 (tentzen)
  158. crtw32\h\stdarg.h
  159. libw32\inc64\stdarg.h
  160. libw32\include\stdarg.h
  161. Implement va_start, va_arg, and va_end as intrinsics for IJW/IA64.
  162. To simplify BE code generation, _APALIGN(t,ap) is passed as 3rd parameter
  163. in va_arg() intrinsic instead of __builtin_alignof(t). This part need be
  164. fixed once COM+ start supporting va-arg family.
  165. -----------------------------------------------------------------
  166. Wed 09-May-01 (SHanson, PhilipLu)
  167. crtw32\h\string.h, wchar.h
  168. crtw32\string\ia64\memcpy.s, memmove.s [NEW]
  169. crtw32\string\lsources, sources.nt
  170. libw32\inc64\string.h, wchar.h
  171. libw32\include\string.h, wchar.h
  172. libw32\msvcrt.src, syscrt.src, syscrt64.src
  173. makefile, makefile.inc
  174. srcrel\objects.mkf, pd-b
  175. VS7#195834 (sort of) Replace IA64 memcpy and memmove, and move memcpy,
  176. memmove, and memset so they are static-link components of the IA64 CRT
  177. DLL, to avoid the overhead of calling into the DLL. Maintain the
  178. existing exports of these routines from the DLL for old code. Also,
  179. since memmove used to be dllimport, keep the __imp_ definition in the
  180. implib by marking memmove as a DATA export in the def files, allowing
  181. existing .obj files to find the necessary definition.
  182. -----------------------------------------------------------------
  183. Mon 07-May-01 (PhilipLu)
  184. crtw32\stdhpp\fstream
  185. libw32\include\fstream
  186. VS7#249553 Bad interaction between wifstream and tellg turned out to
  187. be bugs in basic_filebuf::seekoff and seekpos, which failed to properly
  188. handle pushback characters (which get used all the time for wchar_t
  189. streams).
  190. -----------------------------------------------------------------
  191. Thu 03-May-01 (PhilipLu)
  192. crtw32\stdhpp\xlocale
  193. libw32\include\xlocale
  194. VS7#248580 I recently changed std::_Maklocstr, adding a 3rd argument
  195. of type std::_Locinfo::_Cvtvec&. That's illegal under /Za, since a
  196. non-const ref can only be bound to an lvalue. The arg should have been
  197. const std::_Locinfo::_Cvtvec&.
  198. crtw32\stdhpp\list, vector
  199. libw32\include\list, vector
  200. VS7#248877 The ctors for std::vector(size_type _Count) and
  201. std::list(size_type _Count) could both potentially leak resources if
  202. constructing the default fill value threw.
  203. -----------------------------------------------------------------
  204. Wed 02-May-01 (PhilipLu)
  205. crtw32\h\i386\ivec.h
  206. libw32\include\ivec.h
  207. VS7#239974 Disable C4799 inside ivec.h if _SILENCE_IVEC_C4799 is defined.
  208. As written, this header will generate that warning, but that is to be
  209. expected, since the code uses MMX intrinsics without an EMMS or _m_empty
  210. in each function. Allow users to shut up the warning, but don't do so
  211. unconditionally, since clients of ivec.h need to understand the potential
  212. for problems if they don't use EMMS in their own code.
  213. -----------------------------------------------------------------
  214. Wed 02-May-01 (GautamB)
  215. crtw32\rtc\error.cpp
  216. makefile
  217. VS7#241349 Removed the runtmchk.lib dependencies on CRT by adding obj to
  218. runtmchk.lib. earlier runtmchk.lib was same as rtc.lib but now it also
  219. includes exsup.obj exsup3.obj sehprolog.obj chkstk.obj.
  220. -----------------------------------------------------------------
  221. Thu 26-Apr-01 (GautamB)
  222. crtw32\eh\frame.cpp
  223. VS7#236286 Fixed a problem with a rethrow without a throw and catch(...)
  224. -----------------------------------------------------------------
  225. Wed 25-Apr-01 (PhilipLu)
  226. crtw32\misc\initcrit.c
  227. VS7#244210 It isn't safe to call LoadLibrary/FreeLibrary during DllMain,
  228. so use GetModuleHandle instead in __crtInitCritSecAndSpinCount.
  229. -----------------------------------------------------------------
  230. Tue 24-Apr-01 (PhilipLu)
  231. crtw32\rtc\error.cpp
  232. crtw32\stdhpp\xlocale
  233. libw32\include\xlocale
  234. makefile
  235. langapi\undname\testundn.mak, undname.inl, undname.mak
  236. VS7#243471 Build the CRT with /Zc:forScope, and get rid of all
  237. instances of non-conformant for scoping in the build. Also change the
  238. standalone makefiles used for langapi\undname to use /Zc:forScope, to
  239. prevent CRT build problems appearing after FE checkins to undname.
  240. -----------------------------------------------------------------
  241. Thu 19-Apr-01 (PhilipLu)
  242. crtw32\h\malloc.h
  243. crtw32\heap\resetstk.c
  244. libw32\include\malloc.h
  245. libw32\inc64\malloc.h
  246. VS7#239962 _resetstkoflw did not work on Win9x. Simplified some tests
  247. which were not correct for Win9x, tweaked the test for attempting to
  248. set a guard page too low (Win9x and WinNT have different requirements),
  249. and set a guard page as PAGE_NOACCESS instead of PAGE_GUARD for Win9x.
  250. Also changed the return from void to int, and return a nonzero success
  251. code if the stack reset worked.
  252. -----------------------------------------------------------------
  253. Fri 13-Apr-01 (KarlSi)
  254. makefile
  255. VS7#233650 Move the location of the VC CRT build's DLL PDB files out
  256. of the dll_pdb subdirectory, back to the same directory as the DLLs.
  257. Part of allowing the build lab to build VC CRTs without full paths
  258. in the PDB info. For now, the Sys CRTs still have their DLL PDB files
  259. down under dll_pdb.
  260. -----------------------------------------------------------------
  261. Fri 13-Apr-01 (GautamB)
  262. crtw32\eh\frame.cpp
  263. VS7#236286 Fixed problem of rethrow of Seh to be caught by __except.
  264. -----------------------------------------------------------------
  265. Fri 13-Apr-01 (PhilipLu)
  266. crtw32\stdhpp\complex, sstream, xlocmon, xstring
  267. libw32\include\complex, sstream, xlocmon, xstring
  268. libw32\msvcprt.src
  269. VS7#226252 Remove explicit dllexport/import of some internal template
  270. base classes (_Complex_base, _Mpunct, _String_val), now that the C++
  271. frontend will implicitly apply dllexport/import for these base classes.
  272. More importantly, stop dllimporting std::allocator just because xstring
  273. has been included. That breaks people who define their own operator
  274. new, and expect that new to be used for STL collection classes. That
  275. wasn't happening in modules that included xstring, but was for other
  276. modules, leading to cross-heap delete crashes.
  277. std::allocator is not a base class of basic_string; it's a member of
  278. the _String_val base class. So the fix here is to get rid of the
  279. explicit _CRTIMP2 specialization of allocator in xstring, and to
  280. disable the C4251 warning complaining about an object member not being
  281. dllimport in a class that is dllimport. That warning isn't a problem
  282. here, because every use of the allocator member is within a member
  283. function that will be dllimported, and thus hidden away.
  284. Until the next LKG update, the C++ CRT DLL must still export the
  285. allocator members, but these are now private exports so they don't
  286. appear in the implib.
  287. -----------------------------------------------------------------
  288. Thu 12-Apr-01 (PhilipLu)
  289. crtw32\stdcpp\wlocale.cpp
  290. crtw32\stdhpp\xlocale, xlocmon, xlocnum, xloctime
  291. libw32\include\xlocale, xlocmon, xlocnum, xloctime
  292. VS7#230612 The Dinkumware code had a number of problems with wchar_t
  293. facets in Asian locales that use MBCS. Underneath the wchar_t facet,
  294. all real work was done in MBCS, but the conversion between Unicode and
  295. MBCS didn't handle leadbytes at all. Fixes were made to _MAKLOCSTR,
  296. ctype<wchar_t>::do_widen & do_narrow, and time_put<wchar_t>::do_put.
  297. -----------------------------------------------------------------
  298. Mon 09-Apr-01 (PhilipLu)
  299. crtw32\stdcpp\iosptrs.cpp, locale.cpp, locale0.cpp
  300. crtw32\stdhpp\xlocale, xmemory
  301. libw32\msvcprt.src
  302. Remove code under _RETAIN_OLD_CRT_CODE that isn't needed now that the
  303. 9176 LKG update has taken place. There is still some code present
  304. under _RETAIN_OLD_CRT_CODE, for the 21-Mar-01 checkin.
  305. crtw32\stdhpp\cctype, cerrno, clocale, cmath, csetjmp, csignal, cstdarg,
  306. cstddef, cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque,
  307. exception, hash_map, hash_set, list, map, memory, set, typeinfo, vector,
  308. xdebug, xhash, xmemory, xstring, xtree, yvals.h
  309. crtw32\tools\win32\relinc.if, relinc64.if
  310. libw32\include\cctype, cerrno, clocale, cmath, csetjmp, csignal, cstdarg,
  311. cstddef, cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque,
  312. exception, hash_map, hash_set, list, map, memory, set, typeinfo, vector,
  313. xdebug, xhash, xmemory, xstring, xtree, yvals.h
  314. Remove references to _GLOBAL_USING and _HAS_MEMBER_TEMPLATES_REBIND,
  315. now that the LKG update has picked up these being permanently enabled.
  316. All code under the #if arms for these names not set has been removed,
  317. at the request of Dinkumware.
  318. -----------------------------------------------------------------
  319. Mon 09-Apr-01 (GautamB)
  320. crtw32\eh\frame.cpp
  321. VS7#234115 uncaught_exception was not working for CLR. Fixed it.
  322. -----------------------------------------------------------------
  323. Fri 06-Apr-01 (PhilipLu)
  324. crtw32\dllstuff\crtlib.c
  325. VS7#235781 If CRT DLL is unloading without doexit() having been called
  326. already, then we need to call _cexit, not _c_exit, to make sure all the
  327. terminators are called (flush stdio, remove tmpfiles, ...). This can
  328. happen more easily now with the URT dynamically loading and unloading
  329. the CRT DLL for C#/VB calling into the CRT DLL via P/Invoke.
  330. fpw32\tran\i386\87cdisp.asm
  331. VS7#132450 sinh was incorrectly reporting an _UNDERFLOW error to
  332. _matherr on denormal inputs. Turns out the internal error handling
  333. for the CHECKOVER case was doing the same thing as the CHECKRANGE case,
  334. checking for overflow and underflow, when it's supposed to only look
  335. for overflow. CHECKOVER is only used by sinh and cosh, and cosh will
  336. never underflow, since cosh(x) >= 1, so sinh is the only FP API that
  337. could be hit by this longstanding (1992 or so) bug.
  338. -----------------------------------------------------------------
  339. Thu 05-Apr-01 (PhilipLu)
  340. crtw32\stdhpp\xhash
  341. libw32\include\xhash
  342. PJP noticed an additional change, to _Hash<T>::clear(), that was
  343. missing in the Mar 25 and Apr 4 updates.
  344. -----------------------------------------------------------------
  345. Wed 04-Apr-01 (PhilipLu)
  346. crtw32\convert\tolower.c, toupper.c
  347. crtw32\stdcpp\_tolower.c, _toupper.c
  348. crtw32\stdcpp64\_tolower.c, _toupper.c
  349. VS7#232853 _tolower, _toupper, and the Dinkumware equivalents, when
  350. returning a double-byte char, were returning (leadbyte + trailbyte<<8).
  351. It's supposed to be (leadbyte<<8 + trailbyte).
  352. crtw32\stdhpp\xhash
  353. libw32\include\xhash
  354. VS7#233708 The fix for 230612 on Mar 25 was incomplete, breaking
  355. hash_map. Fix _Hashval() to use _Mask instead of _Vec.size().
  356. -----------------------------------------------------------------
  357. Wed 28-Mar-01 (PhilipLu)
  358. crtw32\bsku\bsku.cpp
  359. crtw32\dllstuff\atonexit.c, crtexe.c, crtlib.c, dll_argv.c, dllargv.c
  360. crtw32\eh\unhandld.cpp
  361. crtw32\h\internal.h
  362. crtw32\linkopts\noarg.c, noenv.c, setargv.c, wsetargv.c
  363. crtw32\lowio\ioinit.c
  364. crtw32\mbstring\mbctype.c
  365. crtw32\misc\charmax.c, lcnvinit.c, onexit.c
  366. crtw32\startup\crt0.c, crt0dat.c, crt0init.c, dllcrt0.c, stdargv.c, stdenvp.c
  367. crtw32\stdio\_file.c
  368. crtw32\time\clock.c
  369. fpw32\tran\i386\cpu_disp.c
  370. VS7#231220 Stop almost all instances of _amsg_exit fatal errors from
  371. showing up in the CRT DLL or a DLL linked with the CRT DLL. Make all
  372. the various startup routines, including those in the .CRT$XI* startup
  373. array, return errors back to the DllMain or mainCRTStartup level instead
  374. of calling _amsg_exit. EXEs will still call _amsg_exit, but now from
  375. the mainCRTStartup level. DLLs, include the CRT DLL, will now just
  376. return FALSE from DLL_PROCESS_ATTACH, failing the load.
  377. One subtlety here: the .CRT$XI* array is processed in EXEs linked to
  378. the CRT DLL, but not in DLLs linked to the CRT DLL. That's because
  379. the only possible .CRT$XI* entry in these circumstances will be for
  380. __lconv_init, if the component was compiled with -J. We only want to
  381. run that initializer for an EXE, not a DLL, because DLLs linked to the
  382. CRT DLL should not override the localeconv() settings of an EXE linked
  383. to the CRT DLL. Since __lconv_init is the only possible entry here,
  384. and it never returns an error, we will process the .CRT$XI* array in
  385. the EXE startup with _initterm instead of _initterm_e (which will
  386. propogate an error code back), so any error will go undetected. That
  387. means we don't have to add a new export to the CRT DLL that would
  388. damage backwards-compatibility.
  389. Of course none of this confusing behavior was documented in the code.
  390. It is now.
  391. crtw32\dllstuff\crtlib.c
  392. crtw32\heap\heapinit.c
  393. crtw32\misc\assert.c, dbgrpt.c, secfail.c, seclocf.c
  394. crtw32\rtc\pdblkup.cpp
  395. crtw32\startup\crt0msg.c, stdargv.c
  396. VS7#231284 GetModuleFileName will not zero-terminate the output buffer
  397. when a name must be truncated to fit. None of the CRT calls to GMFN
  398. accounted for that, exposing them to buffer-overrun problems.
  399. -----------------------------------------------------------------
  400. Tue 27-Mar-01 (PhilipLu)
  401. crtw32\dllstuff\crtlib.c
  402. crtw32\rtc\error.cpp
  403. crtw32\startup\crt0.c, dllcrt0.c
  404. VS7#230286 Always use GetVersionExA, not GetVersionEx, so we don't run
  405. into problems running on Win9x.
  406. srcrel\pd-b
  407. [DELETED:]
  408. crtw32\dllstuff\i386\cinitexe.a, cinitexe.mak
  409. crtw32\lowio\i386\cinitcon.a
  410. crtw32\misc\i386\cinitone.a
  411. crtw32\startup\i386\crt0init.a, crt0init.mak
  412. crtw32\stdio\i386\cinitstd.a, cinittmp.a
  413. crtw32\time\i386\cinitclk.a
  414. Get rid of ancient files that haven't been used since 1994 or so. An
  415. early part of the fix for VS7#231220.
  416. -----------------------------------------------------------------
  417. Mon 26-Mar-01 (PhilipLu)
  418. crtw32\stdhpp\xdebug
  419. libw32\include\xdebug
  420. Back out Saturday's VS buildfix, now that compiler bug VS7#230468 has
  421. been fixed.
  422. -----------------------------------------------------------------
  423. Sun 25-Mar-01 (PhilipLu)
  424. crtw32\h\mtdll.h, setlocal.h
  425. crtw32\misc\inittime.c
  426. crtw32\time\strftime.c
  427. VS7#196892 strftime specifiers %c, %x, and %X return a time formatted
  428. accorded to the current locale data, as specified in the Regional
  429. Settings control panel page, but we weren't handling these correctly.
  430. For calendars more complicated than the basic localized Gregorian, we
  431. can't simply translate the locale formatting string ourself, since it
  432. assumes a large base of knowledge of era/period strings, modified
  433. years, etc. (e.g. this is year 4334 according to one of the Korean
  434. calendar types). For these types, we should just call Win32 APIs
  435. GetDateFormat/GetTimeFormat to handle the formatting. I'm not doing
  436. this for calendar type 1, localized Gregorian, because that seems a
  437. bit riskier in that we might slightly change the existing output when
  438. what we're doing now is fine.
  439. Also fixed the handling of leading zero suppression in _store_winword,
  440. which handles these localized date/time formats (now for calendar type
  441. 1 only). Previously, leading zero suppression wasn't happening at all,
  442. which became clear when I compared the results against that returned
  443. by GetDateFormat/GetTimeFormat.
  444. crtw32\stdhpp\xhash
  445. libw32\include\xhash
  446. VS7#230612 P. J. Plauger sent me a fix for a bug a customer of his
  447. recently ran into. The hash_set/hash_map containers could hit an
  448. infinite loop. In the test case, this happened after a specific list
  449. of about 250 inserts and erases.
  450. -----------------------------------------------------------------
  451. Sat 24-Mar-01 (PhilipLu)
  452. crtw32\stdhpp\xdebug
  453. libw32\include\xdebug
  454. Rolling VS buildfix. Work around compiler bug VS7#230468 exposed by
  455. fix for VS7#201153. Don't declare placement vector operator new/delete
  456. in case non-placement vector new/delete aren't declared. Workaround
  457. will be removed in a day or two.
  458. crtw32\startup\stdargv.c, wincmdln.c
  459. VS7#229081 _acmdln and _wcmdln can be NULL under certain error
  460. conditions, so check them before dereferencing.
  461. crtw32\stdhpp\xlocinfo.h
  462. libw32\include\xlocinfo.h
  463. Add _CRTIMP2 and _CRTIMP to various prototypes in xlocinfo.h.
  464. crtw32\stdhpp\xutility, yvals.h
  465. libw32\include\xutility, yvals.h
  466. Move _cpp_max/_cpp_min #defines from yvals.h to xutility.
  467. crtw32\h\fpieee.h
  468. libw32\include\fpieee.h
  469. libw32\inc64\fpieee.h
  470. Remove workaround for x86 backend bug #163574, error using
  471. __declspec(align) on function parameters (I think).
  472. crtw32\stdhpp\exception
  473. libw32\include\exception
  474. Remove workaround for VS7#227182, VS build problem caused by the
  475. VC debugger having a header named eh.h, the same as a CRT header.
  476. The debugger team has deleted the unneeded header.
  477. crtw32\startup\tlssup.c
  478. The pointer to the callback array in the IMAGE_TLS_DIRECTORY is off by
  479. one, pointing at a NULL, so dynamic TLS inits never had a chance of
  480. working. Bump the pointer to the first actual function pointer. Still
  481. need linker and frontend work to really enable this, which will have to
  482. wait for post-VC7.0.
  483. -----------------------------------------------------------------
  484. Fri 23-Mar-01 (PhilipLu)
  485. crtw32\rtc\error.cpp
  486. crtw32\stdhpp\sstream, streambuf, strstream
  487. libw32\include\sstream, streambuf, strstream
  488. Rolling buildfix. More /Wp64 warnings just got enabled at /W3 and
  489. are firing in RTC and I/O Streams code, so add more casts to shut
  490. them up.
  491. crtw32\stdcpp\_tolower.c, ios.cpp, locale.cpp, locale0.cpp, lsources,
  492. sources.nt, strstrea.cpp, wlocale.cpp, xdebug.cpp [NEW], xlocale.cpp,
  493. xmutex.cpp
  494. crtw32\stdhpp\fstream, locale, streambuf, xdebug [NEW], xlocale, xlocmes,
  495. xlocmon, xlocnum, xloctime
  496. crtw32\time\strftime.c
  497. crtw32\tools\win32\relinc.cmd
  498. doc\copysrc.bat
  499. libw32\include\fstream, locale, streambuf, xdebug [NEW], xlocale, xlocmes,
  500. xlocmon, xlocnum, xloctime
  501. srcrel\pd-b
  502. makefile.inc
  503. VS7#201153 Customers trying to use _CrtDumpMemoryLeaks() instead of
  504. _CRTDBG_LEAK_CHECK_DF were seeing all the internal allocations for the
  505. C++ Standard Library appearing as leaks. The C++ library needed to
  506. make all internal allocations _CRT_BLOCKs, so they are ignored by the
  507. leak detection routines. That includes defining derivatives of
  508. std::allocator and std::basic_string that use the debug CRT heap with
  509. _CRT_BLOCK tagging.
  510. -----------------------------------------------------------------
  511. Thu 22-Mar-01 (PhilipLu)
  512. crtw32\h\crtdbg.h, mtdll.h
  513. crtw32\misc\dbgrpt.c
  514. crtw32\startup\mlock.c
  515. libw32\inc64\crtdbg.h
  516. libw32\include\crtdbg.h
  517. VS7#124998 Implement _CrtSetReportHook2. Uses a doubly-linked list to
  518. record registered debug report hook functions. The original function,
  519. _CrtSetReportHook, doesn't meet ATL Server's needs when DLLs try to
  520. register hooks, but cannot guarantee hooks will be added and removed
  521. in LIFO order. In that case, we can end up pointing at a hook function
  522. that has been unloaded.
  523. -----------------------------------------------------------------
  524. Wed 21-Mar-01 (PhilipLu)
  525. crtw32\eh\stdexcpt.cpp
  526. crtw32\h\typeinfo.h
  527. crtw32\stdhpp\exception, new, stdexcept, typeinfo
  528. libw32\inc64\typeinfo.h
  529. libw32\include\exception, new, stdexcept, typeinfo, typeinfo.h
  530. libw32\msvcprt.src, msvcrt.src, syscrt.src, syscrt64.src
  531. makefile
  532. VS7#5327, #5417, #127825 Make a set of exception classes used for RTTI
  533. support, ::bad_cast, ::bad_typeid, and ::__non_rtti_object, identical
  534. to those names in the std namespace, via using directives. Trickier
  535. than it sounds, because the preexisting global and std namespace
  536. definitions were not identical, and I need to preserve the same class
  537. layout and exported methods as existed previously. The slimiest hack
  538. involves the need for ::bad_cast to now have two incompatible ctors,
  539. bad_cast(const char*) and bad_cast(const char* const&). The latter was
  540. the only ctor before, but the former had to be added so std::bad_cast
  541. kept its preexisting ctor. I got rid of bad_cast(const char* const&),
  542. added a private ctor bad_cast(const char* const*), and since the two
  543. of those have identical codegen, added an alias '=' declaration in the
  544. .def file for the main CRT DLL.
  545. The .def file for the C++ DLL now has a number of forwarder lines, e.g.
  546. ??1bad_cast@std@@UAE@XZ = BASECRT.??1bad_cast@@UAE@XZ PRIVATE
  547. to preserve the existing exports from that DLL. These can be removed
  548. once the next LKG update with this code takes place.
  549. The stdhpp changes are to put _Doraise, a protected virtual member of
  550. the exception hierarchy classes in the Dinkumware code, under control
  551. of "#if !_HAS_EXCEPTIONS", since this function is only used by the
  552. special non-throwing version of the C++ Library, which does not need
  553. to use the main CRT's exception classes.
  554. crtw32/stdcpp/stdthrow.cpp
  555. Minor bug noticed while working on the previous checkin. A reference
  556. to stderr should be to _cpp_stderr, for _STATIC_CPPLIB compatibility.
  557. This wasn't detected before because stdthrow is only used for a C++
  558. Library build with _HAS_EXCEPTIONS == 0, which we don't use.
  559. -----------------------------------------------------------------
  560. Tue 20-Mar-01 (PhilipLu for KFrei)
  561. crtw32\rtc\error.cpp, pdblkup.cpp
  562. makefile
  563. VS7#227306 Fix buffer overrun problems in RTC support, and configure
  564. so /GS will not insert cookie checks in any RTC support code, by using
  565. _alloca to allocate any local string buffers.
  566. VS7#224261 Reenable /GS in the CRT build. The static link components
  567. of the msvcrt[d].lib implib must not have any /GS checks in them, since
  568. that adds new dependencies to user code that wasn't previously needing
  569. to run the CRT startup code. Now that the /GS checks in RTC have been
  570. removed, /GS is OK.
  571. srcrel\external.mkf, makefile
  572. A request from the build lab. Unconditionally clear _CL_ in these
  573. makefiles if we're doing a cross-hosted CRT build (i.e. IA64 CRT built
  574. on x86). These makefiles are used to build native-hosted tools needed
  575. during the CRT build, and the lab uses _CL_ to point to the boot-phase
  576. cross-compiler passes during the self-build. Right now, clearing _CL_
  577. is under a define set by the lab only, but they're changing the define
  578. and there's no good reason this can't be unconditional.
  579. -----------------------------------------------------------------
  580. Sun 18-Mar-01 (PhilipLu)
  581. crtw32\stdhpp\exception
  582. libw32\include\exception
  583. VS7#5283 Names terminate, set_terminate, terminate_handler, unexpected,
  584. set_unexpected, and unexpected_handler all need to be placed in
  585. namespace std, as well as the global namespace where they exist now.
  586. crtw32\h\stdexcpt.h
  587. libw32\include\stdexcpt.h
  588. libw32\inc64\stdexcpt.h
  589. Cleanup noticed while making the change for VS7#5283. There's a block
  590. of code that's been under an "#elif 0" for 5 years. It can be removed.
  591. crtw32\h\cruntime.h, new.h
  592. crtw32\heap\setnewh.cpp
  593. crtw32\stdcpp\stdhndlr.cpp
  594. crtw32\tools\win32\relinc.if, relinc64.if
  595. libw32\msvcrt.src, syscrt.src
  596. libw32\include\new.h
  597. srcrel\msvc40.if
  598. VS7#194908 Headers new.h and new were incompatible if you tried to use
  599. set_new_handler. The main CRT had an archaic version of
  600. ::set_new_handler, in setnewh.cpp, which asserted if you passed in
  601. anything except NULL. This has been superceded by the implementation
  602. of std::set_new_handler in the Dinkumware-supplied stdhndlr.cpp, but
  603. the headers botched forcing any use of set_new_handler to the std one.
  604. Fixed so including <new> will define std::set_new_handler and
  605. std::new_handler, while including <new.h> will define those two names,
  606. and inject them with using directives as ::set_new_handler and
  607. ::new_handler.
  608. setnewh.cpp, with the old definition of ::set_new_handler, is retained
  609. for backwards compatibility with old binaries, but this routine is
  610. no longer available through the headers. The old function is forcibly
  611. exported from the main CRT DLL.
  612. Defined _USE_OLD_STDCPP in cruntime.h when the old stdcpp64/stdhpp64
  613. files are used, so the changes to new.h can be done only when using
  614. stdcpp/stdhpp instead. Configured the relinc process so the include
  615. files for Win64 syscrts use the old new.h definitions, everything else
  616. uses the new ones.
  617. crtw32\stdhpp\new
  618. libw32\include\new
  619. Noticed while making the change for VS7#194908 that the fix for
  620. VS98#18416 had been undone. A declaration of a non-existant "_New_hand"
  621. had slipped back into the header.
  622. makefile
  623. Back out the actual makefile enabling of /GS that was checked in
  624. yesterday. The VS build is failing because of the extra CRT
  625. dependencies this causes, and I need to investigate why.
  626. -----------------------------------------------------------------
  627. Sat 17-Mar-01 (PhilipLu)
  628. crtw32\dllstuff\crtlib.c
  629. crtw32\startup\crt0.c, dllcrt0.c
  630. makefile
  631. VS7#224261 Turn on /GS in the x86 CRT. Not totally trivial, because
  632. the startup code that initializes the global guard cookie can't trigger
  633. the compiler's local buffer overrun guard logic, since the global cookie
  634. on entry will differ from that on exit. Worked around by allocating the
  635. OSVERSIONINFO via _alloca.
  636. crtw32\stdhpp\xloctime
  637. libw32\include\xloctime
  638. VS7#159194 Addition to Dinkumware drop 3.10. The time_get facet was
  639. not accepting dates in the same format as time_put was outputting.
  640. crtw32\stdhpp\streambuf
  641. libw32\include\streambuf
  642. Tweak to the Dinkumware drop 3.10, to bring changes I made in line with
  643. the official Dinkumware version. Just moved a _Mutex base class in
  644. basic_streambuf to be the first data member instead, and added _Lock
  645. and _Unlock non-virtual member functions.
  646. -----------------------------------------------------------------
  647. Fri 16-Mar-01 (PhilipLu)
  648. crtw32\stdhpp\complex, fstream, ios, istream, locale, ostream, sstream,
  649. streambuf, string, xcomplex, xlocale, xlocmes, xlocmon, xlocnum, xloctime,
  650. xstring
  651. crtw32\tools\win32\relinc.if, relinc64.cmd, relinc64.if [new]
  652. libw32\include\complex, fstream, ios, istream, locale, ostream, sstream,
  653. streambuf, string, xcomplex, xlocale, xlocmes, xlocmon, xlocnum, xloctime,
  654. xstring
  655. VS7#216778 The frontend now allows "template class __declspec(dllimport)
  656. myclass<char>" to mean an explicit specialization should be imported from
  657. a DLL. Previously, you needed to say "extern" at the front of that, which
  658. was an extension, so using it failed under /Za with an error, and under /Ze
  659. you got a C4231 warning. Since the frontend has changed, I've removed the
  660. unneeded extern, along with the pragmas to suppress C4231, allowing the
  661. C++ Standard Library headers to be used /Za /MD[d].
  662. The relinc changes are necessary because now the stdhpp header cleanse
  663. treats __FORCE_INSTANCE as always on, but stdhpp64 must still treat it
  664. as always off. The same relinc.if can no longer be used for both sets
  665. of headers.
  666. -----------------------------------------------------------------
  667. Thu 15-Mar-01 (PhilipLu)
  668. langapi\undname\testundn.cxx, undname.cxx
  669. VS7#5674 Fix of 10-Dec-99 was incomplete. We should use a lock in
  670. __unDNameEx as well as __unDName. Also, added a -x switch to testundn,
  671. the undecorator verification test app, to test __unDNameEx instead of
  672. __unDName. Added heap leak detection to testundn, too, to head off
  673. future problems (no leaks currently).
  674. -----------------------------------------------------------------
  675. Wed 14-Mar-01 (PhilipLu)
  676. crtw32\stdhpp\xmemory
  677. VS7#225243 As part of the 3.10 Dinkumware integration, I removed some
  678. stuff under _RETAIN_OLD_CRT_CODE that I thought was unnecessary. I was
  679. wrong. The code removed is needed until the next LKG update, when the
  680. LKG headers will pick up the enabling of _HAS_MEMBER_TEMPLATES_REBIND.
  681. crtw32\string\strlwr.c
  682. VS7#224860 _strlwr will leak the heap buffer malloc'd if _alloca can't
  683. be used because the stack is almost full. Also some minor formatting
  684. and comment changes to make this file and strupr.c look the same.
  685. crtw32\lowio\getch.c
  686. VS7#224864 _kbhit will leak the heap buffer malloc'd if _alloca can't
  687. be used because the stack is almost full.
  688. crtw32\stdio\input.c
  689. VS7#224990 _input/_winput should only allocate the bit map used for
  690. handling the %[...] spec the first time one of those is seen. The code
  691. was allocating it each time, leaking 8K for the _winput case when the
  692. stack was almost full and malloc was used instead of _alloca.
  693. crtw32\string\strupr.c
  694. VS7#224974 _strupr has a race condition because it passes 0 instead of
  695. the proper per-thread codepage to __crtLCMapStringA. If another thread
  696. changes the global locale between entry to _strupr and the load of the
  697. locale in __crtLCMapStringA, the wrong codepage will be used. Also
  698. some minor formatting and comment changes to make this file and
  699. strlwr.c look the same (which is how this turned up).
  700. -----------------------------------------------------------------
  701. Tue 13-Mar-01 (PhilipLu)
  702. crtw32\stdcpp\_tolower.c, _toupper.c
  703. VS7#190902 std::ctype<>::tolower and toupper use helper functions
  704. _Tolower and _Toupper, which take a pointer to the ctype's locale info,
  705. which may not match the current C library's global locale. But the
  706. helpers weren't using that specific locale when checking if a character
  707. below 0x100 was upper/lowercase.
  708. crtw32\stdcpp\newop2.cpp
  709. VS7#112077 The nothrow version of operator new needs to call malloc
  710. under the try/catch, instead of just calling _callnewh there. That's
  711. because malloc can itself call _callnewh, if _set_new_mode(1) is active.
  712. crtw32\stdcpp\newop.cpp, newop2.cpp
  713. VS7#221760 _callnewh needs to be marked throw(...), so the optimizer
  714. won't discard the try/catch in the nothrow version of operator new.
  715. Also fixed the _callnewh prototype in the throwing operator new for
  716. consistency.
  717. -----------------------------------------------------------------
  718. Mon 12-Mar-01 (PhilipLu)
  719. crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop2.cpp, delop2.cpp,
  720. fiopen.cpp, instances.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
  721. locale.cpp, locale0.cpp, newaop.cpp, newaop2.cpp, newop2.cpp, nomemory.cpp,
  722. nothrow.cpp, raisehan.cpp, stdhndlr.cpp, stdthrow.cpp, string.cpp,
  723. strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp, wclog.cpp, wcout.cpp,
  724. wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp, xcosh.c, xdateord.cpp,
  725. xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c, xfdscale.c,
  726. xfdtest.c, xferaise.c, xfexp.c, xfsinh.c, xfvalues.c, xgetwctype.c,
  727. xlcosh.c, xldnorm.c, xldscale.c, xldtest.c, xlexp.c, xlocale.cpp,
  728. xlock.cpp, xlpoly.c, xlsinh.c, xlvalues.c, xmath.h, xmbtowc.c, xmtx.c,
  729. xmtx.h, xmutex.cpp, xpoly.c, xsinh.c, xstod.c, xtowlower.c, xtowupper.c,
  730. xvalues.c
  731. crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  732. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  733. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
  734. fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
  735. iso646.h, istream, iterator, limits, list, locale, map, memory, new,
  736. numeric, ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf,
  737. string, strstream, utility, valarray, vector, xcomplex, xhash, xiosbase,
  738. xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
  739. xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  740. libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  741. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  742. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
  743. fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
  744. iso646.h, istream, iterator, limits, list, locale, map, memory, new,
  745. numeric, ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf,
  746. string, strstream, utility, valarray, vector, xcomplex, xhash, xiosbase,
  747. xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
  748. xmath.h, xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  749. Integrate the 010208 drop of the Dinkumware C++ Library, version 3.10.
  750. Fixes bugs VS7#150517 and 157130. Also has a start of the fix for
  751. VS7#188201, but the fix appears to need more work. Most of the work is
  752. some internal framework shuffling to make sure lazy facets aren't
  753. leaked.
  754. crtw32\stdhpp\xutility
  755. libw32\include\xutility
  756. VS7#188201 Permit comparisons between an iterator on the LHS and the
  757. corresponding const_iterator on the RHS, for _Ptrit-based iterators.
  758. The opposite order, const_iterator on the LHS, already worked fine
  759. because we have a ctor that will convert the non-const iterator to the
  760. corresponding const_iterator. For non-const on the left, add global
  761. template functions that match non-const LHS, const RHS and invert the
  762. comparison order so the RHS will get converted to a const_iterator.
  763. crtw32\h\i386\dvec.h, fvec.h, ivec.h
  764. libw32\include\dvec.h, fvec.h, ivec.h
  765. VS7#127210 The Intel-supplied headers [dfi]vec.h, for easier access
  766. to the MMX/SSE/SSE2 intrinsics, used the old I/O streams, and thus
  767. got a deprecated warning when used. Switched to using the supported
  768. Dinkumware I/O streams instead, and moved all the uses under an #ifdef
  769. _ENABLE_VEC_DEBUG, since we don't want to require compiling /GX or
  770. bloating the code whenever these are used.
  771. Also fixed level 1 warnings and a "cout <<" instead of "os <<" that
  772. I ran across while fixing this.
  773. -----------------------------------------------------------------
  774. Fri 09-Mar-01 (PhilipLu)
  775. eh\i386\lowhelpr.asm
  776. misc\i386\exsup.asm, exsup3.asm
  777. VS7#221754 Add .FPO directives to the asm code that calls into the user
  778. code for C++ EH and SEH, so callstacks are correct. Added FPO data for
  779. _CallSettingFrame, _except_handler3, _abnormal_termination, and
  780. _local_unwind2.
  781. makefile, makefile.inc, makefile.sub
  782. Fix and clean the user-rebuild makefiles. My 26-Feb change to the CRT
  783. build broke the user CRT rebuild scenario when the path to the include
  784. directory has spaces in it, as is the default. I needed to put quotes
  785. around $(VCTOOLSINC) in the recursive make invocations. I also noticed
  786. some text in the cleansed makefiles which shouldn't have been there.
  787. There were references to BLD_SYSCRT and DEVBUILD, as well as to the
  788. stdcpp64 directory and some private CRT build tools. Removed them all
  789. using additional STRIPLIN comments.
  790. -----------------------------------------------------------------
  791. Thu 08-Mar-01 (PhilipLu)
  792. crtw32\h\math.h
  793. fpw32\tran\ceil.c, floor.c, lsources, modf.c, sources.nt
  794. fpw32\tran\i386\87ctran.asm, atan.asm, atan_pentium4.asm [NEW],
  795. atan_table.c [NEW], ceil_pentium4.asm [NEW], cpu_disp.c [NEW],
  796. disp_pentium4.inc [NEW], exp_pentium4.asm [NEW], floor_pentium4.asm [NEW],
  797. ftol2.asm [NEW], libm_error.c [NEW], libm_support.h [NEW], log.asm,
  798. log10_pentium4.asm [NEW], log_pentium4.asm [NEW], modf_pentium4.asm [NEW],
  799. pow.asm, pow_pentium4.asm [NEW]
  800. libw32\inc64\math.h
  801. libw32\include\math.h
  802. libw32\msvcrt.src, syscrt.src
  803. srcrel\objects.mkf, pd-b
  804. makefile, makefile.inc
  805. VS7#215249 Pick up improved floating point functions from Intel. Most
  806. of this consists of SSE2-specific versions of ceil, floor, modf, atan,
  807. exp, log, log10, and pow, which are automatically called if running on
  808. an SSE2-capable CPU (i.e. the Pentium4).
  809. This has been in the works for a couple months, and includes a few
  810. minor bugfixes in the existing non-SSE2 code that turned up in
  811. validating the routines:
  812. modf(x) for x a negative integer should return a fractional part
  813. of -0.0, not +0.0
  814. log and log10(-denormal) were not setting an errno of EDOM
  815. pow(+/-0, -denorm) was returning 0 instead of infinity
  816. Note that the SSE2 implementations can be unavoidably different in the
  817. LSB, since SSE2 uses 8-byte FP, and the x87 stack 10 byte. To allow
  818. users to force use of the old routines, I've added new function
  819. _set_SSE2_enable().
  820. So that existing apps using MSVCRT.DLL won't suddenly get different
  821. results on a Pentium4, I've made the system CRT default to not using
  822. the new SSE2 code. You can still call _set_SSE2_enable(TRUE) to
  823. switch to the new routines when running on a Pentium4.
  824. Finally, there's _ftol2, a replacement for _ftol which doesn't need
  825. to change the rounding mode, so it avoids the FLDCW stalls. A new name
  826. is required because it uses 2 slots on the x87 stack, while _ftol only
  827. uses 1. The compiler will have to switch the name of the helper. I've
  828. made _ftol2 statically linked even in msvcrt.lib, so we don't take an
  829. unnecessary indirect branch to get into the CRT DLL.
  830. srcrel\common.mkf, external.mkf, makefile, objects.mkf
  831. makefile
  832. Some additional build work, continuing what was done for VS7#214893
  833. back on 26-Feb. Print out the current TARGET_CPU, LLP64, and
  834. BLD_SYSCRT settings. More importantly, detect attempts to use a
  835. pre-existing build tree that had different values for these vars, or
  836. attempts to use stdcpp when the tree already has stdcpp64 (or vice-
  837. versa), and issue a fatal NMAKE error.
  838. -----------------------------------------------------------------
  839. Wed 07-Mar-01 (PhilipLu)
  840. VS7#221122 My 20-Feb-01 checkin to remove _RT_LOCK fatal errors broke
  841. the CRT running on Win9x, and probably broke it elsewhere too, but NT
  842. was too kind to mention that. I was releasing the _HEAP_LOCK critsec
  843. before I was finished using the heap. Change to free all normal
  844. locks first, so they can be freed from the heap, then free all the
  845. preallocated locks, including _HEAP_LOCK.
  846. -----------------------------------------------------------------
  847. Tue 06-Mar-01 (PhilipLu)
  848. crtw32\stdhpp\xmemory
  849. libw32\include\xmemory
  850. VS7#221135 Turning on _HAS_MEMBER_TEMPLATES_REBIND broke anyone who
  851. wrote their own operator new, compiled /MD[d], and had container
  852. classes (except basic_string) specialized on char, wchar_t or unsigned
  853. short. The problem is std::allocator<T> for those types is dllimported
  854. from msvcp70 (thanks to questionable declarations in xstring), but now,
  855. std::allocator::allocate is a member template function, which means it
  856. is always locally generated, and never specialized. So allocate()
  857. would use the local operator new, and the dllimported deallocate()
  858. would use the CRT operator new, triggering a quick crash.
  859. Fix is just to make the member-template allocate() stop calling global
  860. template function _Allocate() directly, and instead call through a
  861. non-template member form of allocate(), which will be dllimported to
  862. match deallocate().
  863. crtw32\h\i386\mm3dnow.h
  864. libw32\include\mm3dnow.h
  865. VS7#199371 Add prototypes for new 3DNow intrinsics _m_from_float and
  866. _m_to_float.
  867. -----------------------------------------------------------------
  868. Mon 05-Mar-01 (PhilipLu)
  869. fpw32\tran\i386\debug.c, filter_simd.c, xmmi2_fp_emul.c, xmmi_fp_emul.c,
  870. xmmi_types.h
  871. VS7#215249 Pick up Intel's support for the Pentium4 DAZ bit in
  872. _fpieee_flt.
  873. crtw32\stdhpp\xlocale, yvals.h
  874. libw32\include\xlocale, yvals.h
  875. VS7#212255 std::_Tidyfac<_Facet>::_Tidy must be __declspec(unmanaged)
  876. for /clr compiles. This function is registered for callback via atexit,
  877. but by the time it is called, the URT has already been shut down. In
  878. general, any function run at DLL unload must be unmanaged.
  879. crtw32\startup\stdenvp.c
  880. VS7#174755 Fix a null deref problem reported by NT. If
  881. __crtGetEnvironmentStrings[AW] fails and returns a NULL during startup,
  882. _[aw]envptr will be NULL on entry to _setenvp, which failed to check
  883. for that before dereferencing it. Just added a NULL check, issuing
  884. the same _RT_SPACEENV fatal error used elsewhere in _setenvp in
  885. out-of-memory situations.
  886. -----------------------------------------------------------------
  887. Tue 27-Feb-01 (PhilipLu)
  888. crtw32\convert\isctype.c
  889. VS7#213380 Code that compiled /D_DEBUG /ML and was fine in VC6 could
  890. fail to link in VC7. That's because we added a debug test to ctype.h,
  891. which called a routine that was only present in debug CRTs. The CRT
  892. headers use _DEBUG as the flag that a debug CRT is being used, but in
  893. this case, by manually defining _DEBUG, the user is fooling that logic.
  894. The problem is that _DEBUG has been hijacked by other, non-CRT code.
  895. If we had more CRT header code under _DEBUG, the proper fix would
  896. probably be to have cl.exe define both _DEBUG and _CRT_DEBUG if the
  897. /M[LTD]d switches are used, and key the header tests off _CRT_DEBUG
  898. instead. But that can wait until we add more debug header tests.
  899. For now, this is a minor case that only shows up when using /ML and
  900. compiling C, not C++. So we're going with the simpler fix of defining
  901. the missing entrypoint, _chvalidator, in libc.lib, and not in the
  902. other retail CRTs.
  903. srcrel\common.mkf
  904. Tweak the new common.mkf file added yesterday for VS7#214893. If
  905. %VCFLAVOR% exists in the environment, then we look for the native
  906. toolset at, e.g. %DEVTOOLS%\x86\%VCFLAVOR%. If it's not defined,
  907. look for the VC7 and VCLKG trees as before.
  908. -----------------------------------------------------------------
  909. Mon 26-Feb-01 (PhilipLu)
  910. srcrel\common.mkf [NEW], external.mkf, makefile, pd-b
  911. cleanbld.cmd, makefile
  912. VS7#214893 Some CRT build changes to make it easier for other devs to
  913. build the CRT. Previously, the build relied on %VCTOOLS%, and after my
  914. 14-Feb-01 checkin, some fixed paths under %DEVTOOLS%\*\vc7. That's
  915. problematic for people who use vclkg instead of vc7 under devtools.
  916. I'm changing the build so the only thing necessary is %DEVTOOLS%. The
  917. makefiles will search for the flavor of VC that's present under there,
  918. with VC7 taking precedence over VCLKG.
  919. You can also directly specify all the various paths needed, using
  920. %VCTOOLS% or %VCTOOLSINC% for the main CRT build, and %DEVTOOLSBIN%,
  921. %DEVTOOLSLIB%, %DEVTOOLSINC%, and %DEVTOOLSSDKLIB% for the srcrel
  922. tools build.
  923. Makefile and srcrel\common.mkf now have extensive error messaging that
  924. explains what's required if the setup is in some way incorrect.
  925. mk.bat
  926. Trivial change - have mk.bat (which builds the CRT in-place in the
  927. source tree under the build directory) save the build log to bld.log
  928. instead of build.log, so mkbld and mk don't overwrite the other's log.
  929. crtw32\eh\frame.cpp
  930. VS7#217108 Finish up work on new helper function __CxxCallUnwindDtor.
  931. I noticed that the __except(terminate()) should probably be
  932. __except(FrameUnwindFilter(exception_info())), to match the unmanaged
  933. case. That permits SEH to pass out of a dtor unwind, but a throw to
  934. result in a call to terminte(). After testing, MarkLe agreed, so now
  935. it's changed.
  936. -----------------------------------------------------------------
  937. Sun 25-Feb-01 (PhilipLu)
  938. crtw32\stdhpp\yvals.h
  939. VS7#218235 Dinkumware support for MBCS in mbrtowc and other such
  940. routines was busted by the checkin for vs7#202930. The definition
  941. for _cpp_isleadbyte(c) needlessly shifts 'c' right by 8 bits, breaking
  942. the Dinkumware code in locales with leadbytes like Japanese.
  943. -----------------------------------------------------------------
  944. Sat 24-Feb-01 (PhilipLu)
  945. crtw32\eh\frame.cpp
  946. libw32\msvcrt.src, syscrt.src, syscrt64.src
  947. VS7#217108 Add helper function __CxxCallUnwindDtor from MarkLe. It
  948. is called by managed code to handle calling a destructor during an
  949. unwind so that terminate() will be called if the dtor throws.
  950. crtw32\h\i386\dvec.h, emmintrin.h, fvec.h, ivec.h, mmintrin.h, xmmintrin.h
  951. libw32\include\dvec.h, emmintrin.h, fvec.h, ivec.h, mmintrin.h, xmmintrin.h
  952. VS7#217691 Remove "INTEL CONFIDENTIAL" from dvec.h/emmintrin.h, since
  953. SSE2 is now publicly released. Also clean up the header comments,
  954. getting rid of source control system comments and a revision comment.
  955. crtw32\stdhpp\deque, iterator, list, xtree, xutility
  956. libw32\include\deque, iterator, list, xtree, xutility
  957. VS7#216777 Remove #pragma warning controls for C4284 from these C++
  958. Library headers. That warning no longer exists, and a /Wall compile
  959. will issue C4619 complaining about a non-existant warning number being
  960. used by #pragma warning.
  961. -----------------------------------------------------------------
  962. Fri 23-Feb-01 (gautamb)
  963. fpw32\tran\ia64\acos.s, acosf.s, asin.s, asinf.s, atan2.s, atan2f.s, exp.s,
  964. expf.s, ldexp.s, ldexpf.s, pow.s, powf.s, sinh.s, sinhf.s
  965. makefile
  966. VS7#212094 changed the function names in almap.lib to correct ones for ia64
  967. specific case.
  968. Added new math update libm ver 5.5.104
  969. -----------------------------------------------------------------
  970. Fri 23-Feb-01 (gautamb)
  971. crtw32\convert\wcstod.c, wtof.c
  972. crtw32\eh\typname.cpp
  973. crtw32\startup\wild.c
  974. crtw32\stdio\input.c, popen.c
  975. VS7#215477 Added check for return values for malloc. This will avoid some
  976. unwanted AVs in low memory conditions.
  977. -----------------------------------------------------------------
  978. Wed 21-Feb-01 (PhilipLu)
  979. crtw32\misc\initcrit.c
  980. Buildfix - Yesterday's change to initcrit.c would use
  981. InitializeCriticalSectionAndSpinCount on Win98/WinME, but that API on
  982. those OSes is broken. It should return a BOOL success code, but
  983. instead is a VOID return. Just use InitializeCriticalSection there.
  984. langapi\undname\undname.cxx
  985. Forgot to check in the langapi component of VS7#172586.
  986. -----------------------------------------------------------------
  987. Tue 20-Feb-01 (PhilipLu)
  988. crtw32\h\exsup.inc, internal.h, mtdll.h
  989. crtw32\lowio\ioinit.c, osfinfo.c
  990. crtw32\misc\initcrit.c
  991. crtw32\startup\mlock.c, tidtable.c
  992. crtw32\stdio\popen.c, rmtmp.c, stream.c, tempnam.c, tmpfile.c
  993. srcrel\pd-b
  994. [DELETED:]
  995. fpw32/inc/i386/os2dll.inc
  996. VS7#172586 Stop issuing _RT_LOCK fatal errors. This is an out-of-memory
  997. error when a critical section could not be allocated. CRT fatal errors
  998. have to be avoided if at all possible, because the CRT DLL could be
  999. used by some long-lived server app (e.g. IIS), and calling ExitProcess,
  1000. as CRT fatal errors do, is unacceptable in such an app. We now
  1001. preallocate all named locks, as well as the FILE* locks for stdin,
  1002. stdout, and stderr. We don't preallocate 4 named locks, but always
  1003. call _mtinitlocknum to allocate those before every use, so failure to
  1004. allocate on the first call can be detected.
  1005. This currently gives 14 preallocated locks, as compared to the 4 we
  1006. previously used. We also detect a failure to allocate a lock for other
  1007. files, and fail the file open instead of abort. Note that one instance
  1008. of _RT_LOCK still exists, when a _lock call is issued on a lock which
  1009. hasn't been allocated yet, but that should never happen. If it does,
  1010. it's an internal error in the CRT.
  1011. As part of this, got rid of file os2dll.inc, which is no longer used,
  1012. and had a number of ancient, incorrect, asm equates for the named locks.
  1013. Also got rid of a bunch of obsolete named locks that are never used.
  1014. -----------------------------------------------------------------
  1015. Wed 14-Feb-01 (PhilipLu)
  1016. cleanbld.cmd
  1017. srcrel\external.mkf, makefile
  1018. The VS team devtools project is being reorganized, so now the CRT build
  1019. requires environment variable DEVTOOLS to be set. Use %DEVTOOLS% to
  1020. find the proper native-hosted components when building the srcrel tools
  1021. during a cross-hosted Win64 CRT build.
  1022. -----------------------------------------------------------------
  1023. Mon 12-Feb-01 (PhilipLu)
  1024. crtw32\stdhpp\yvals.h
  1025. crtw32\include\yvals.h
  1026. VS7#5292 Turn on _GLOBAL_USING to wrap C library in namespace std, once
  1027. again. The new LKG compiler fixes the bugs that prevented this back on
  1028. Dec 8, 2000.
  1029. Also turn on _HAS_MEMBER_TEMPLATES_REBIND now that the compiler is
  1030. capable of handling it, and the VS build has fixed three places
  1031. where a std::map had a const key type. That's illegal - the key must
  1032. be assignable, and _HAS_MEMBER_TEMPLATES_REBIND exposed that problem
  1033. because it generated an allocator<const int>.
  1034. -----------------------------------------------------------------
  1035. Thu 08-Feb-01 (GautamB)
  1036. crtw32\h\stdlib.h
  1037. crtw32\misc\bswap.c
  1038. libw32\inc64\stdlib.h
  1039. libw32\include\stdlib.h
  1040. VS7#209247 added __cdecl before byteswap functions.
  1041. -----------------------------------------------------------------
  1042. Thu 08-Feb-01 (PhilipLu)
  1043. libw32\syscrt64.src
  1044. Buildfix for 64-bit sys CRTs.
  1045. -----------------------------------------------------------------
  1046. Wed 07-Feb-01 (PhilipLu)
  1047. crtw32\h\ctype.h, wchar.h
  1048. crtw32\misc\initctyp.c
  1049. libw32\include\ctype.h
  1050. libw32\inc64\ctype.h
  1051. Buildfixes to complete fix for VS7#202930.
  1052. crtw32\h\math.h, stdio.h
  1053. libw32\inc64\math.h, wchar.h
  1054. libw32\include\math.h, wchar.h
  1055. Cosmetic changes.
  1056. -----------------------------------------------------------------
  1057. Wed 7-Feb-01 (GautamB)
  1058. crtw32\h\ctype.h, mtdll.h, setlocal.h, stdio.h, stdlib.h
  1059. crtw32\misc\ctype.c, initctyp.c, setlocal.c
  1060. crtw32\stdcpp\_tolower.c, _toupper.c, cerr.cpp, cin.cpp, clog.cpp, cout.cpp,
  1061. stdthrow.cpp, wcerr.cpp, wcin.cpp, wclog.cpp, wcout.cpp, xdateord.cpp,
  1062. xmbtowc.c, xstrcoll.c, xstrxfrm.c, xwcscoll.c, xwcsxfrm.c, xwctomb.c
  1063. crtw32\stdhpp\xlocale, yvals.h
  1064. crtw32\stdio\_file.c
  1065. libw32\inc64\stdlib.h
  1066. libw32\include\stdlib.h, xlocale
  1067. libw32\msvcrt.src, syscrt.src, syscrt64.src
  1068. VS7#202930 Fixed problem with _STATIC_CPPLIB to work. there were some
  1069. problem with data being exported from dll.
  1070. crtw32\h\math.h
  1071. libw32\include\math.h
  1072. libw32\inc64\math.h
  1073. VS7#193177 Now we need to define _USE_MATH_DEFINES to define math
  1074. constants
  1075. -----------------------------------------------------------------
  1076. Wed 07-Feb-01 (PhilipLu)
  1077. fpw32\tran\ia64\modf.s, modff.s
  1078. VS7#209420 modf/modff can improperly raise on Invalid Exception if
  1079. passed an FP value greater than the _INT64_MAX. An fcvt.fx.trunc
  1080. should be using .s1 instead of .s0.
  1081. makefile.sub
  1082. VS7#209816 Don't use IA64 compiler option -QIA64_A0 any longer.
  1083. Cl.exe already supplies the proper default.
  1084. -----------------------------------------------------------------
  1085. Thu 14-Dec-00 (PhilipLu) Ported Tue 06-Feb-01 (KarlSi)
  1086. crtw32\stdcpp\xlock.cpp
  1087. crtw32\stdhpp\istream, ostream, streambuf, xloctime, yvals.h
  1088. libw32\include\istream, ostream, streambuf, xloctime, yvals.h
  1089. Enable new breaking CRT changes that have been waiting for next LKG
  1090. update under _CRT_NEW_STL_DROP. This is only going into the nextVCLKG
  1091. branch for now. These edits change the size of some types exported
  1092. from msvcp70.dll, so they can only happen at LKG updates.
  1093. -----------------------------------------------------------------
  1094. Mon 05-Feb-01 (PhilipLu)
  1095. crtw32\h\stdarg.h
  1096. libw32\include\stdarg.h
  1097. libw32\inc64\stdarg.h
  1098. VS7#201535 Fix va_start(ap,v) for C++, where it is incorrect to use &v,
  1099. since v may be an instance of a class that defines an operator&.
  1100. -----------------------------------------------------------------
  1101. Thu 18-Jan-01 (PhilipLu)
  1102. libw32\inc64\xlocale, xstring
  1103. Forgot to update the relinc headers for the previous checkin.
  1104. -----------------------------------------------------------------
  1105. Tue 16-Jan-01 (PhilipLu)
  1106. crtw32\stdcpp64\strstrea.cpp
  1107. crtw32\stdhpp64\xlocale, xstring
  1108. IA64 Sys CRT buildfix. Add casts to shut up new frontend warning, same as
  1109. was done for the IA64 VC CRT on Friday.
  1110. -----------------------------------------------------------------
  1111. Fri 12-Jan-01 (PhilipLu)
  1112. crtw32\tools\win32\newline.sed
  1113. Tweak sed script so it works for sed V1.08 used on x86 and V2.05 used on
  1114. IA64.
  1115. crtw32\stdcpp\strstrea.cpp
  1116. IA64 rolling build fix. Add (int) cast to shut up new frontend warning.
  1117. -----------------------------------------------------------------
  1118. Thu 04-Jan-01 (GautamB)
  1119. crtw32\h\stdlib.h
  1120. crtw32\misc\rotl.h, rotr.h, abs.h
  1121. makefile.inc
  1122. Added 64 bit intrinsics _abs64, _rtol64, _rotr64 etc. also added
  1123. __byte_swap intrinsic functions.
  1124. libw32\msvcrt.rc, msvcirt.rc, msvcprt.rc, msvcrt40.rc, syscrt.rc, sysirt.rc,
  1125. sysprt.rc, syscrt64.rc, sysirt64.rc, sysprt64.rc
  1126. Copyright changes to match the product.
  1127. -----------------------------------------------------------------
  1128. Thu 15-Dec-00 (PhilipLu)
  1129. <<< 212 files not worth listing individually >>>
  1130. Copyright update part 3. Update P.J. Plauger's copyrights to 2001,
  1131. with his approval.
  1132. -----------------------------------------------------------------
  1133. Mon 11-Dec-00 (PhilipLu)
  1134. crtw32\h\stdio.h
  1135. crtw32\stdio\tempnam.c
  1136. libw32\include\stdio.h
  1137. libw32\inc64\stdio.h
  1138. VS7#5416 Fix comments about L_tmpnam in stdio.h, and fix double-free
  1139. bug in _tempnam() I noticed while investigating this bug.
  1140. crtw32\h\crtdbg.h
  1141. libw32\include\crtdbg.h
  1142. libw32\inc64\crtdbg.h
  1143. VS7#166572 The non-_DEBUG macro definitions of _CrtSetReportHook,
  1144. _CrtSetReportFile, _CrtSetAllocHook, and _CrtSetDumpClient should be
  1145. typed the same as the _DEBUG function definitions.
  1146. crtw32\h\tchar.h
  1147. libw32\include\tchar.h
  1148. libw32\inc64\tchar.h
  1149. VS7#180102 Fix _strnextc for chars >= 0x80.
  1150. crtw32\h\cmacros.inc
  1151. crtw32\tools\fixcopyright.pl [NEW]
  1152. fpw32\conv\cfout.c, constpow.c, cvt.c
  1153. fpw32\inc\i386\cmacros.inc, elem87.inc, mathmac.inc, os2supp.inc
  1154. fpw32\tran\bessel.c, hypot.c
  1155. fpw32\tran\i386\87cdisp.asm, 87csqrt.asm, 87ctran.asm, 87ctrig.asm,
  1156. 87ctriga.asm, 87ctrigh.asm, 87disp.asm, 87fmod.asm, 87sqrt.asm, 87tran.asm,
  1157. 87trig.asm, 87triga.asm, 87trigh.asm, acos.asm, adj_fdiv.asm, asin.asm,
  1158. atan.asm, common.asm, cos.asm, fpctrl.c, frnd.c, ftol.asm, ieee.c,
  1159. ieee87.c, ldsplit.asm, log.asm, log10.asm, pow.asm, sin.asm, sqrt.asm,
  1160. tan.asm, trig.asm, triga.asm, xmmi_types.h
  1161. fpw32\tran\ia64\fpctrl.c, ieee.c
  1162. libw32\msvcrt40.rc
  1163. Copyright update part 1. In preparation for updating copyright text
  1164. from 2000 to 2001, check in a perl script which updates the copyrights
  1165. and outputs warnings for files where the copyright does not have the
  1166. proper form. Fix all those warnings, so the script runs warning-clean.
  1167. <<< 1,218 files not worth listing individually >>>
  1168. Copyright update part 2. Update copyrights to run up to 2001.
  1169. -----------------------------------------------------------------
  1170. Sun 10-Dec-00 (PhilipLu)
  1171. crtw32\dllstuff\crtexe.c
  1172. crtw32\startup\crt0.c
  1173. VS7#167293 Tighten up the check for a managed EXE in case it ever
  1174. sees a PE+ on x86 or PE on IA64, or an image without a COM Descriptor
  1175. directory entry.
  1176. crtw32\h\stdio.h
  1177. libw32\include\stdio.h
  1178. libw32\inc64\stdio.h
  1179. VS7#122990 Define _FPOSOFF for _POSIX_ so C++ I/O Streams can be
  1180. compiled.
  1181. -----------------------------------------------------------------
  1182. Fri 08-Dec-00 (PhilipLu)
  1183. crtw32\stdhpp\yvals.h
  1184. libw32\include\yvals.h
  1185. Turn off _GLOBAL_USING temporarily. Turning it on back on Wednesday,
  1186. to wrap the C library in namespace std has triggered bugs in the C++
  1187. compiler frontend (VS7#190308, 190674). This will be reenabled once
  1188. the frontend is fixed.
  1189. crtw32\h\malloc.h
  1190. libw32\include\malloc.h
  1191. libw32\inc64\malloc.h
  1192. Fix the _POSIX_ (NT) build by moving prototype for _resetstkoflw out
  1193. from under #ifndef _POSIX_.
  1194. -----------------------------------------------------------------
  1195. Thu 07-Dec-00 (PhilipLu)
  1196. crtw32\stdcpp\xgetwctype.c
  1197. Fix the 64-bit VC CRT build (missing cast from size_t -> int).
  1198. -----------------------------------------------------------------
  1199. Wed 06-Dec-00 (PhilipLu)
  1200. makefile.inc
  1201. crtw32\stdcpp\lsources, sources.nt, xdateord.cpp, xgetwctype.c, xmath.h,
  1202. xtowlower.c, xtowupper.c
  1203. crtw32\stdhpp\algorithm, fstream, ios, iosfwd, memory, sstream, utility,
  1204. vector, xcomplex, xhash, xlocinfo, xlocinfo.h, xloctime, xmemory, xutility,
  1205. yvals.h
  1206. libw32\include\algorithm, fstream, ios, iosfwd, memory, sstream, utility,
  1207. vector, xcomplex, xhash, xlocinfo, xlocinfo.h, xloctime, xmath.h, xmemory,
  1208. xutility, yvals.h
  1209. libw32\msvcrt.src, syscrt.src, syscrt64.src
  1210. Integrate the 001118 drop of the Dinkumware C++ Library. Fixes bugs
  1211. VS7#149387, 155323, and 182248. Also contains a fix for VS7#161213,
  1212. but that can't be turned on until an LKG update. Also contains a start
  1213. on the fixes for VS7#150517 and 157130.
  1214. Also turning on _GLOBAL_USING in yvals.h, so VS7#5292 is finally fixed,
  1215. with the C library properly wrapped in the std namespace. This can be
  1216. done now that the Beta 1 C++ compiler has been promoted to the LKG
  1217. toolset.
  1218. crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop2.cpp, delop2.cpp,
  1219. fiopen.cpp, instances.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
  1220. locale.cpp, locale0.cpp, newaop.cpp, newaop2.cpp, newop2.cpp, nomemory.cpp,
  1221. nothrow.cpp, raisehan.cpp, stdhndlr.cpp, stdthrow.cpp, string.cpp,
  1222. strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp, wclog.cpp, wcout.cpp,
  1223. wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp, xcosh.c, xdnorm.c,
  1224. xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c, xfdscale.c, xfdtest.c,
  1225. xferaise.c, xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldnorm.c, xldscale.c,
  1226. xldtest.c, xlexp.c, xlocale.cpp, xlock.cpp, xlpoly.c, xlsinh.c, xlvalues.c,
  1227. xmtx.c, xmtx.h, xmutex.cpp, xpoly.c, xsinh.c, xstod.c, xvalues.c
  1228. crtw32\stdhpp\bitset, cassert, cctype, cerrno, cfloat, ciso646, climits,
  1229. clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef, cstdio,
  1230. cstdlib, cstring, ctime, cwchar, cwctype, deque, exception, functional,
  1231. hash_map, hash_set, iomanip, iostream, iso646.h, istream, iterator, limits,
  1232. list, locale, map, new, numeric, ostream, queue, set, stack, stdexcept,
  1233. stl.h, streambuf, string, strstream, valarray, xiosbase, xlocale, xlocmes,
  1234. xlocmon, xlocnum, xstddef, xstring, xtree, ymath.h
  1235. libw32\include\bitset, cassert, cctype, cerrno, cfloat, ciso646, climits,
  1236. clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef, cstdio,
  1237. cstdlib, cstring, ctime, cwchar, cwctype, deque, exception, functional,
  1238. hash_map, hash_set, iomanip, iostream, iso646.h, istream, iterator, limits,
  1239. list, locale, map, new, numeric, ostream, queue, set, stack, stdexcept,
  1240. stl.h, streambuf, string, strstream, valarray, xiosbase, xlocale, xlocmes,
  1241. xlocmon, xlocnum, xstddef, xstring, xtree, ymath.h
  1242. Dinkumware files unchanged by the 001118 drop except for a change in
  1243. the version comment from V3.06:0009 to V3.09:0009
  1244. -----------------------------------------------------------------
  1245. Tue 05-Dec-00 (PhilipLu)
  1246. doc\copysrc.bat
  1247. srcrel\external.mkf, nmktobat.c, pd-b
  1248. [RENAME]
  1249. srcrel\bldwin95.bat -> srcrel\bldwin9x.bat
  1250. VS7#178683 Rename bldwin95.bat to bldwin9x.bat, since VS won't be
  1251. supporting Win95 any longer. Also renamed some references to Win95
  1252. to Win9x instead.
  1253. srcrel\makefile
  1254. Minor cleanup - hide the rule to create srcrel\pd-b under !if 0.
  1255. This file is always hand-edited nowadays, not generated, and it
  1256. was getting overwritten whenever the timestamp for pd-exe was newer
  1257. than that for pd-b (as in a newly enlisted project with pd-b then
  1258. copied from elsewhere).
  1259. crtw32\h\wchar.h
  1260. libw32\include\wchar.h
  1261. libw32\inc64\wchar.h
  1262. VS7#186936 The inline definition of mbsinit() in wchar.h was a
  1263. stub that just returned 1. Changed that to the proper definition,
  1264. which is just a simple (p == NULL || *p == 0).
  1265. -----------------------------------------------------------------
  1266. Mon 04-Dec-00 (PhilipLu)
  1267. [NEW]
  1268. crtw32\stdcpp\xdateord.cpp, xgetwctype.c, xtowlower.c, xtowupper.c
  1269. doc\copysrc.bat
  1270. srcrel\pd-b
  1271. Check in dummy placeholders for new files that will be required for
  1272. the next Dinkumware integration. This is to meet a 12/8/00 deadline
  1273. for entering new files into FLDB for the VS7 setup.
  1274. -----------------------------------------------------------------
  1275. Wed 29-Nov-00 (Gautamb)
  1276. Delete
  1277. crtw32\mbstring\i386\mbscat.asm
  1278. crtw32\mbstring\mbscat.c mbsdup.c
  1279. Edit
  1280. makefile
  1281. makefile.inc
  1282. doc\copysrc.bat
  1283. srcrel\external.mkf objects.mkf pd-b
  1284. crtw32\string\stricmp.c stricoll.c
  1285. crtw32\mbstring\sources.nt lsources
  1286. libw32\msvcrt.src syscrt.src syscrt64.src
  1287. VS7#100359 Added an alias lib for duplicate functions with same code.
  1288. -----------------------------------------------------------------
  1289. Tue 28-Nov-00 (Gautamb)
  1290. crtw32\stdio\input.c
  1291. VS7#162114, 167304. Bug fix for use of uninitialized variable and for
  1292. wscanf crashing due to low stack.
  1293. -----------------------------------------------------------------
  1294. Mon 27-Nov-00 (PhilipLu)
  1295. crtw32\stdhpp\istream, xlocale, xlocnum, xstring
  1296. libw32\include\istream, xlocale, xlocnum, xstring
  1297. Buildfix for IA64 VC CRT. Add casts to silence warnings about 64 bit
  1298. to 32 bit truncations.
  1299. fpw32\tran\ia64\acos.s, acosf.s, asin.s, asinf.s
  1300. VS7#186484 LIBM v5.4 turned off exceptions on errors in acos, acosf,
  1301. asin, and asinf. Turn the exceptions back on.
  1302. fpw32\tran\lsources, sources.nt
  1303. srcrel\pd-b
  1304. [DELETED:]
  1305. fpw32\tran\ia64\em_types.h, emfloat.s, remainder.s, remainderf.s, scalb.s,
  1306. scalbf.s
  1307. Get rid of more IA64 LIBM files that are unneeded. Files em_types.h
  1308. and emfloat.s are old _fpieee_flt support files that are no longer
  1309. needed. The remainder and scalb files are for LIBM v5.4 code that we
  1310. don't have on the x86 side and thus don't currently want for IA64.
  1311. fpw32\tran\ia64\isnan.s, isnanf.s, logb.s, logbf.s
  1312. fpw32\tran\ieeemisc.c
  1313. Get the implementations of _isnan and _logb from the IA64 LIBM asm
  1314. code instead of ieeemisc.c. Add an underscore prefix to the routine
  1315. names in the LIBM .s files, since that's what we document and declare
  1316. in the headers.
  1317. -----------------------------------------------------------------
  1318. Fri 24-Nov-00 (PhilipLu)
  1319. crtw32\h\conio.h, stdio.h, wchar.h
  1320. crtw32\lowio\putwch.c
  1321. crtw32\stdio\fputwc.c, fputwchr.c, output.c
  1322. libw32\include\conio.h, stdio.h, wchar.h
  1323. libw32\inc64\conio.h, stdio.h, wchar.h
  1324. VS7#176345 putwchar appeared twice in wchar.h, once with a wint_t arg,
  1325. once with wchar_t, leading to errors when compiling /Zc:wchar_t. On
  1326. examination, it turns out that several functions were wrongly declared
  1327. with wint_t args: fputwc, _fputwchar, putwc, putwchar, and _putwch.
  1328. Switch all of them to take a wchar_t arg instead.
  1329. -----------------------------------------------------------------
  1330. Wed 22-Nov-00 (PhilipLu)
  1331. clean.cmd, cleanbld.cmd, makefile
  1332. srcrel\clnsrcrel.bat, external.mkf, makefile, mkclnmkf.c, objects.mkf, pd-b
  1333. Checking in changes to enable a native IA64-hosted CRT build.
  1334. Currently, you still need to specify LLP64=1 in the environment.
  1335. fpw32\tran\sources.nt
  1336. fpw32\tran\ia64\acos.s, acosf.s, asin.s, asinf.s, atan.s, atan2.s, atan2f.s,
  1337. atanf.s, ceil.s, ceilf.s, cosh.s, coshf.s, exp.s, expf.s, floor.s,
  1338. floorf.s, fmod.s, fmodf.s, hypot.s, hypotf.s, ldexp.s, ldexpf.s,
  1339. libm_atan2_reg.s, libm_error.c, libm_reduce.s, libm_tan.s, log.s, logb.s,
  1340. logbf.s, logf.s, pow.s, powf.s, remainder.s, remainderf.s, scalb.s,
  1341. scalbf.s, sincos.s, sincosf.s, sinh.s, sinhf.s, sqrt.s, sqrtf.s, tan.s,
  1342. tanf.s
  1343. srcrel\pd-b
  1344. [DELETED:]
  1345. fpw32\tran\ia64\asincosf.c, atan2f.c, atanf.c, ceilf.c, expf.c, fabsf.c,
  1346. floorf.c, fmodf.c, fp80.s, fp80c.c, log10f.c, logf.c, powf.c, sincosf.c,
  1347. sincoshf.c, sqrtf.c, tanf.c
  1348. Update to IA64 LIBM v5.4 108 from Intel, dated 09/21. Also get rid of
  1349. a bunch of tran\ia64\*.c files which should have been removed when we
  1350. first switched from the C-based to asm-based LIBM.
  1351. -----------------------------------------------------------------
  1352. Mon 20-Nov-00 (PhilipLu)
  1353. crtw32\h\setjmp.h
  1354. crtw32\misc\ia64\longjmp.s, setjmp.s, setjmpex.s
  1355. libw32\include\setjmp.h
  1356. libw32\inc64\setjmp.h
  1357. Back out VS7#182574, so IA64 setjmp/longjmp once again will save/restore
  1358. the FPSR. NT rethought its decision on this.
  1359. [Added:]
  1360. libw32\tools\ia64\aliasobj.exe, detab.exe, ifstrip.exe, pd.exe, striphdr.exe,
  1361. tolwrupr.exe, trailing.exe, whackline.exe
  1362. Add IA64 versions of tools needed for a native-hosted IA64 CRT build.
  1363. -----------------------------------------------------------------
  1364. Fri 17-Nov-00 (PhilipLu)
  1365. crtw32\misc\ia64\longjmp.s
  1366. VS7#184669 The IA64 setjmp/longjmp change made on Monday for vs7#182574
  1367. can crash the OS and cause an immediate reboot without hitting the BSOD
  1368. when using _setjmpex for safe longjmps. That's because a safe longjmp
  1369. uses RtlUnwind2 to unwind and restore state back to the setjmp point,
  1370. and the code in RtlUnwind2 still assumes that the jmp_buf holds a valid
  1371. saved FPSR. Apparently, a bogus FPSR is enough to bring the machine
  1372. down!
  1373. Fixed by changing longjmp to save the ambient FPSR in the jmp_buf just
  1374. before calling RtlUnwind2 in the safe longjmp path.
  1375. -----------------------------------------------------------------
  1376. Mon 13-Nov-00 (PhilipLu)
  1377. fpw32\tran\lsources, sources.nt
  1378. fpw32\tran\ia64\modf.s, modff.s
  1379. srcrel\pd-b
  1380. VS7#180200 modff is declared in math.h but wasn't available. Rather than
  1381. add an inline modff in math.h (which was removed for VS7#2515), I'm instead
  1382. adding the Intel IA64 libm modf.s and modff.s. There are a number of libm
  1383. routines which we don't make available, but for now, I'm just going to fix
  1384. this particular pair.
  1385. crtw32\h\setjmp.h
  1386. crtw32\misc\ia64\longjmp.s, setjmp.s, setjmpex.s
  1387. libw32\include\setjmp.h
  1388. libw32\inc64\setjmp.h
  1389. VS7#182574 Setjmp/longjmp on IA64 should not save/restore the FPSR any
  1390. longer. That maintains compatibility with the other platforms. Also,
  1391. rename unused fields in the IA64 _JUMP_BUFFER to Reserved[12].
  1392. crtw32\stdhpp64\fstream, streambuf, xiosbase
  1393. libw32\inc64\fstream, streambuf, xiosbase
  1394. VS7#181246 Clean up some /Wp64 warnings in the old stdhpp64 headers for
  1395. NT. Introduce casts to silence the warnings.
  1396. -----------------------------------------------------------------
  1397. Mon 06-Nov-00 (PhilipLu)
  1398. srcrel\pd-b
  1399. Get rid of references to MIPS and PPC files that have already been
  1400. deleted from the source tree.
  1401. crtw32\misc\initnum.c, setlocal.c
  1402. VS7#181380 Fix pageheap-detected use-after-free bugs in LC_MONETARY
  1403. and LC_NUMERIC setlocale data when a thread exits and removes the last
  1404. reference to data which is still pointed to by the global locale. We
  1405. can only free data with a zero refcount if that data is not also in
  1406. the global locale.
  1407. crtw32\convert\atox.c
  1408. Trivial checkin which avoids a warning in the _NTSUBSET_ build of the
  1409. CRT.
  1410. -----------------------------------------------------------------
  1411. Fri 03-Nov-00 (PhilipLu)
  1412. crtw32\stdhpp\xlocnum
  1413. libw32\include\xlocnum
  1414. Bandaid build breakage fix for VS7#170063, which is now appearing in
  1415. the 32-bit /Wp64 build after a recent compiler change. We're warning
  1416. on a cast from unsigned long to void *, since that's not /Wp64 clean.
  1417. Change it to 'ptr = (void*)(uintptr_t)ulval;' to silence the warning.
  1418. This doesn't fix the bug, though - the code should be using unsigned
  1419. __int64 on Win64. Leave that for later.
  1420. -----------------------------------------------------------------
  1421. Wed 25-Oct-00 (PhilipLu)
  1422. crtw32\string\ia64\memcpy.s
  1423. VS7#178057 Remove superfluous reference to exit(), which triggers undesired
  1424. dependency on other CRT functions.
  1425. -----------------------------------------------------------------
  1426. Mon 23-Oct-00 (PhilipLu)
  1427. crtw32\string\ia64\strcmp.s
  1428. VS7#176998 IA64 strcmp should compare unsigned chars, not signed, for
  1429. compatibility with x86. Also for x86 compatibility, canonicalize the
  1430. result to be -1, 0, +1 instead of just <0, 0, >0.
  1431. -----------------------------------------------------------------
  1432. Sun 22-Oct-00 (PhilipLu)
  1433. srcrel\pd-b
  1434. [Deleted:]
  1435. crtw32\crt.mkf, infer.mkf, oldnames.mkf
  1436. crtw32\convert\convert.mkf
  1437. crtw32\dos\dos.mkf
  1438. crtw32\eh\eh.mkf
  1439. crtw32\exec\exec.mkf
  1440. crtw32\heap\heap.mkf
  1441. crtw32\iostream\iostream.mkf
  1442. crtw32\linkopts\linkopts.mkf
  1443. crtw32\lowio\lowio.mkf
  1444. crtw32\mbstring\mbstring.mkf
  1445. crtw32\misc\misc.mkf
  1446. crtw32\startup\startup.mkf
  1447. crtw32\stdio\stdio.mkf
  1448. crtw32\string\string.mkf
  1449. crtw32\time\time.mkf
  1450. fpw32\fp.mkf, infer.mkf
  1451. fpw32\conv\conv.mkf
  1452. fpw32\tran\tran.mkf
  1453. libw32\buildall.cmd, makefile
  1454. Build system cleanup - get rid of old make files that haven't been used
  1455. in years.
  1456. -----------------------------------------------------------------
  1457. Thu 19-Oct-00 (PhilipLu)
  1458. crtw32\lowio\ioinit.c
  1459. VS7#176001 Avoid alignment fault when mixing printf and wprintf to stdout
  1460. when stdout not available in a GUI or server app, by forcing __badioinfo
  1461. to text mode.
  1462. -----------------------------------------------------------------
  1463. Tue 17-Oct-00 (PhilipLu)
  1464. crtw32\lowio\pipe.c
  1465. VS7#173087 Remove potential deadlock on race condition in _alloc_osfhnd
  1466. called from _pipe. Do not call _alloc_osfhnd a second time without first
  1467. unlocking the _ioinfo returned by the first call. Also, don't initialize
  1468. the returned handle values until we know the operation succeeded.
  1469. -----------------------------------------------------------------
  1470. Mon 16-Oct-00 (PhilipLu)
  1471. crtw32\string\lsources
  1472. crtw32\string\ia64\memcpy.s, memset.s, strcat.s, strcmp.s, strlen.s
  1473. srcrel\objects.mkf, pd-b
  1474. makefile.inc
  1475. VS7#173518 Pick up optimized IA64 mem/str routines from Intel. These
  1476. asm routines get built in the pre-build and copied over to the post-build.
  1477. -----------------------------------------------------------------
  1478. Thu 12-Oct-00 (PhilipLu)
  1479. crtw32\misc\initmon.c, initnum.c
  1480. VS7#169596 Don't call fix_grouping when initializing monetary locale info
  1481. if any error is detected, since the mon_grouping member may not be valid.
  1482. -----------------------------------------------------------------
  1483. Thu 12-Oct-00 (GautamB)
  1484. crtw32\string\wcsxfrm.c
  1485. VS7#164393, changed wcsxfrm.c to be similar to strxfrm.c which fixes the
  1486. bug.
  1487. crtw32\misc\setlocale.c
  1488. VS7#159775, changed setlocale_set_cat to return if this locale is same as
  1489. current locale for the same category.
  1490. crtw32\convert\wtof.c
  1491. VS7#166022, Fixed buffer overrun.
  1492. crtw32\h\useoldio.h
  1493. VS7#172378, added comments for the _OLD_IOSTREAMS_ARE_DEPRECATED
  1494. -----------------------------------------------------------------
  1495. Wed 11-Oct-00 (PhilipLu)
  1496. crtw32\string\lsources
  1497. srcrel\objects.mkf, pd-b
  1498. makefile.inc
  1499. VS7#101018 Fix IA64 build so memcpy.c and memset.c are built. Since early
  1500. August, the IA64 build has been importing memcpy and memset from kernel32
  1501. instead of including them from the CRT sources. For now, don't use the
  1502. IA64 asm routines under crtw32\string\ia64.
  1503. crtw32\h\tchar.h
  1504. libw32\include\tchar.h
  1505. libw32\inc64\tchar.h
  1506. VS7#166192 Add missing _MBCS mapping for _tcserror.
  1507. -----------------------------------------------------------------
  1508. Wed 27-Sep-00 (PhilipLu)
  1509. makefile, makefile.inc, makefile.sub
  1510. Get rid of references to dead platforms MIPS and PPC. Hide references
  1511. to ALPHA and ALPHA64 platforms so they get stripped out of released
  1512. versions of makefiles.
  1513. crtw32\convert\strtoq.c
  1514. crtw32\heap\align.c
  1515. crtw32\stdcpp64\xmbtowc.c
  1516. Fix format of file header comments so revision history is properly
  1517. cleansed by build process.
  1518. srcrel\makefile
  1519. Need to cleanse several files from stdcpp/stdcpp64 instead of just copying
  1520. them, so the revision history is removed.
  1521. -----------------------------------------------------------------
  1522. Tue 26-Sep-00 (GautamB)
  1523. crtw32\lowio\putch.c
  1524. libw32\msvcrt.rc, msvcprt.rc, msvcirt.rc, syscrt.rc, sysprt.rc, sysiprt.rc,
  1525. syscrt64.rc, sysprt64.src, sysirt64.rc, msvcrt40.rc
  1526. srcrel\_sample_.rc
  1527. crtw32\misc\winsig.c, winxfltr.c
  1528. crtw32\direct\seterrm,c
  1529. crtw32\string\memcpy.c, memmove.c, i386\memcpy.asm
  1530. VS7#116063 Changed the copyright info.
  1531. -----------------------------------------------------------------
  1532. Tue 26-Sep-00 (PhilipLu)
  1533. crtw32\h\crtdbg.h
  1534. libw32\include\crtdbg.h
  1535. libw32\inc64\crtdbg.h
  1536. VS7#166894 Fix _ASSERT* and _RPT* macros so they compile /W4-clean.
  1537. Replaced the do{...}while(0) construct with an expression-form instead,
  1538. much like the one used by assert.h. This only works when _CrtDebugBreak()
  1539. is a function call, so the old form is still used when compiling with
  1540. pre-VC7 x86 compilers, where _CrtDebugBreak turns into inline asm.
  1541. libw32\msvcrt.src, syscrt.src, syscrt64.src
  1542. VS7#45611 Export _control87 from the IA64 CRT DLL, since it's already
  1543. available for IA64 in the static models. Not sure it makes sense to have
  1544. _control87 instead of _controlfp for IA64, but this makes it easier to port
  1545. existing code over.
  1546. crtw32\startup\ia64\chkstk.s
  1547. VS7#156660 Get rid of the version of _chkstk that uses B6 as the link reg.
  1548. Only the B7 version should be available.
  1549. crtw32\eh\ia64\handlers.s
  1550. crtw32\startup\ia64\chkstk.s
  1551. VS7#166899 Use Soft2.6 unwind info (version 3) instead of the old version 2
  1552. info that was there. Also, stop hardcoding the unwind info, and use the
  1553. IAS directives that generate the table automatically.
  1554. -----------------------------------------------------------------
  1555. Mon 25-Sep-00 (PhilipLu)
  1556. makefile.inc
  1557. srcrel\object.mkf
  1558. Add undname.obj to the list of object files no longer needed for the
  1559. user CRT rebuild.
  1560. makefile
  1561. Change the default value of VCTOOLS during the user CRT rebuild from
  1562. \Program Files\Microsoft Visual Studio 7\Vc7 to
  1563. \Program Files\Microsoft Visual Studio.NET\Vc7
  1564. -----------------------------------------------------------------
  1565. Mon 25-Sep-00 (PhilipLu)
  1566. makefile
  1567. VS7#160801 Standalone version of the RTC support, runtmchk.lib, was not
  1568. being built. Drop the release DLL prebuild rtc.lib as runtmchk.lib, since
  1569. that version is built /Z7 with no dependency on any CRT pdbs.
  1570. makefile, makefile.inc
  1571. libw32\msvcrt.src, syscrt.src, syscrt64.src
  1572. srcrel\objects.mkf
  1573. Replace 184 object files in the crt\src\{platform}\*_lib dirs with two
  1574. libs, eh.lib and rtc.lib, in each of the 6 CRT models. The build was
  1575. needlessly copying all the components in eh.lib and rtc.lib over from
  1576. the prebuild to the postbuild, and then dropping them out for the
  1577. user CRT rebuild. Instead, just copy those two libs from the prebuild,
  1578. for a net reduction of 172 files that get shipped.
  1579. makefile
  1580. fpw32\tran\lsources
  1581. srcrel\pd-b
  1582. Get rid of all warnings from IA64 build. Tcmap build was using mbslen.obj
  1583. twice instead of mbslen.obj and mbslen.obf. Tran lsources specified
  1584. ldexp.obj and tanh.obj twice each. Pd-b specified tanhf.c twice.
  1585. -----------------------------------------------------------------
  1586. Thu 21-Sep-00 (PhilipLu)
  1587. crtw32\misc\seccinit.c
  1588. VS7#165188 The /GS security cookie initialization was too non-random.
  1589. We now combine a number of sources of randomness, especially the high
  1590. frequency counter returned by QueryPerformanceCounter.
  1591. crtw32\stdhpp\list, xtree
  1592. libw32\include\list, xtree
  1593. VS7#5312 The node pointers in std::list and std::_Tree no longer need to
  1594. be typed void*, since the compiler properly delays instantiating template
  1595. class members until they are used, allowing us to implicitly instantiate
  1596. std::allocator on an incomplete type. The pointers are now typed with the
  1597. actual type, allowing full dumping of lists and trees in the debugger.
  1598. crtw32\h\stdarg.h
  1599. libw32\include\stdarg.h
  1600. libw32\inc64\stdarg.h
  1601. VS7#103357 The IA64 definition of va_start for C++ needed changes
  1602. coordinated with the backend and frontend.
  1603. -----------------------------------------------------------------
  1604. Mon 18-Sep-00 (PhilipLu)
  1605. crtw32\stdcpp\xlock.cpp
  1606. crtw32\stdhpp\istream, ostream, streambuf, yvals.h
  1607. libw32\include\istream, ostream, streambuf, yvals.h
  1608. VS7#163945 The 09/15/00 Dinkumware checkin fails to maintain compatibility
  1609. between old libs/headers and the new dll. The problem is the introduction
  1610. of multiple locks, especially the per-stream locks. That caused everything
  1611. in the ostream, istream, and streambuf heirarchies to get larger. Changing
  1612. the sizes of types exported from the C++ DLL can only happen at LKG toolset
  1613. updates, since that is a rebuild-everything kind of change.
  1614. Backed out the multiple locks. Everything now uses a single lock, as it
  1615. did before Friday's checkin. The new code is still there, under
  1616. #if _CRT_STL_NEW_DROP, ready to be reenabled at the next LKG update.
  1617. crtw32\tools\win32\relinc.if
  1618. libw32\include\cctype, cerrno, clocale, cmath, csetjmp, csignal, cstdarg,
  1619. cstddef, cstdio, cstdlib, cstring, ctime, cwchar, cwctype
  1620. Friday's drop did not turn on _GLOBAL_USING, as I stated below. All the
  1621. wrapping of C functions in the std namespace was being stripped out of
  1622. the headers by relinc. Stop stripping it out, but turn _GLOBAL_USING off
  1623. for now, until a compiler bug I found, vs7#163702, gets fixed.
  1624. -----------------------------------------------------------------
  1625. Sun 17-Sep-00 (PhilipLu)
  1626. crtw32\misc\crtmbox.c
  1627. VS7#123291 __crtMessageBoxA needs to set MB_SERVICE_NOTIFICATION on WinNT
  1628. in non-interactive processes like services, so the message box is visible
  1629. on the console (and the program doesn't hang).
  1630. crtw32\misc\seccinit.c, seccook.c
  1631. VS7#162619 Initialization of the /GS buffer overrun global security must
  1632. happen earlier. Also, make sure the cookie is never zero, so a buffer
  1633. overrun setting the local cookie and return address to the same value
  1634. will always be detected.
  1635. -----------------------------------------------------------------
  1636. Fri 15-Sep-00 (GautamB)
  1637. crtw32\stdio\sscanf.c swscanf.c lsources snscanf.c snwscanf.c
  1638. crtw32\h\stdio.h wchar.h tchar.h
  1639. srcrel\pd-b
  1640. libw32\msvcrt.src, syscrt.src, sys64crt.src
  1641. VS7#103628 Added new functions _snscanf and _snwscanf
  1642. -----------------------------------------------------------------
  1643. Fri 15-Sep-00 (PhilipLu)
  1644. makefile.inc
  1645. crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop2.cpp, delop2.cpp,
  1646. fiopen.cpp, instances.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
  1647. locale.cpp, locale0.cpp, lsources, newaop.cpp, newaop2.cpp, newop2.cpp,
  1648. nomemory.cpp, nothrow.cpp, raisehan.cpp, sources.nt, stdhndlr.cpp,
  1649. stdthrow.cpp, string.cpp, strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp,
  1650. wclog.cpp, wcout.cpp, wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp,
  1651. xcosh.c, xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c,
  1652. xfdscale.c, xfdtest.c, xferaise.c, xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c,
  1653. xldnorm.c, xldscale.c, xldtest.c, xlexp.c, xlocale.cpp, xlock.cpp,
  1654. xlpoly.c, xlsinh.c, xlvalues.c, xmath.h, xmtx.c [NEW], xmtx.h [NEW],
  1655. xmutex.cpp [NEW], xpoly.c, xsinh.c, xstod.c, xvalues.c
  1656. crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  1657. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  1658. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
  1659. fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
  1660. iso646.h, istream, iterator, limits, list, locale, map, memory, new,
  1661. numeric, ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf,
  1662. string, strstream, utility, valarray, vector, xcomplex, xhash, xiosbase,
  1663. xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
  1664. xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  1665. doc\copysrc.bat
  1666. libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  1667. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  1668. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
  1669. fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
  1670. iso646.h, istream, iterator, limits, list, locale, map, memory, new,
  1671. numeric, ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf,
  1672. string, strstream, utility, valarray, vector, xcomplex, xhash, xiosbase,
  1673. xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
  1674. xmath.h, xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  1675. srcrel\pd-b
  1676. Integrate the 000718 drop of Dinkumware C++ Library. It implements a more
  1677. graceful locking mechanism. Instead of a single critical section for all
  1678. the C++ Library use, there are now individual locks for each I/O stream,
  1679. as well as separate locks for locale and global stream data structures.
  1680. I'm also turning on _GLOBAL_USING, so the C headers are properly wrapped
  1681. in the std namespace. This can be done now that compiler bugs preventing
  1682. this have been fixed. This fixes VS7#5292.
  1683. -----------------------------------------------------------------
  1684. Thu 07-Sep-00 (PhilipLu)
  1685. crtw32\h\wchar.h
  1686. crtw32\stdhpp\wctype.h
  1687. crtw32\stdhpp64\wctype.h
  1688. libw32\include\wchar.h, wctype.h
  1689. libw32\inc64\wchar.h, wctype.h
  1690. More for VS7#147943. Buildfix for IA64 syscrt build, and add _wctype and
  1691. const changes in a few headers missed before.
  1692. -----------------------------------------------------------------
  1693. Thu 07-Sep-00 (PhilipLu)
  1694. crtw32\misc\getqloc.c
  1695. VS7#81673 For geopolitical correctness, refer to "country/region", not
  1696. "country", in a comment. Also, move all the data tables to .rdata.
  1697. crtw32\startup\tlssup.c
  1698. VS7#154062 _tls_start and _tls_end only need to be 1 byte long, not
  1699. sizeof(void*).
  1700. crtw32\eh\rtti.cpp, stdexcpt.cpp, typinfo.cpp, typname.cpp
  1701. crtw32\time\strftime.c
  1702. VS7#159463 Get rid of /lib:libcp{mt}[d] or /lib:msvcprt[d] directives from
  1703. main CRT objects that include stdhpp headers.
  1704. crtw32\h\internal.h, mbstring.h, stdarg.h, stdio.h, wchar.h
  1705. libw32\include\mbstring.h, stdarg.h, stdio.h, wchar.h
  1706. libw32\inc64\mbstring.h, stdarg.h, stdio.h, wchar.h
  1707. VS7#159777 Remove _M_CEE-specific definition of va_list.
  1708. crtw32\startup\crt0dat.c
  1709. Remove obsolete reference to Mac version of CRT.
  1710. crtw32\stdio\ftell.c
  1711. Reindent and reformat file for easier reading.
  1712. -----------------------------------------------------------------
  1713. Thu 07-Sep-00 (GautamB)
  1714. fpw32\tran\ia64\fmod.s, fmodf.s
  1715. VS7#126122. Fixed the problem with matherr getting wrong arguments.
  1716. -----------------------------------------------------------------
  1717. Thu 07-Sep-00 (GautamB)
  1718. crtw32\dllstuff\crtlib.c
  1719. crtw32\h\mtdll.h, setlocal.h, wchar.h, ctype.h
  1720. crtw32\misc\initctype.c, ctype.c, setlocal.c
  1721. crtw32\convert\iswctype.c
  1722. VS7#147943. pwctype was a locale dependent wctype table. Which should not
  1723. ever be local dependent. removed all the wctype and pwctype from thread
  1724. local data, and made wctype as first 256 unicode character type tabel
  1725. -----------------------------------------------------------------
  1726. Wed 06-Sep-00 (GautamB)
  1727. crtw32\startup\stdargv.c
  1728. VS7#147806. there was problem with parsing commandline. e.g.
  1729. "c:\test\"foo.exe would result in two arguments arg0 c:\test\
  1730. and arg1 as foo.exe. fixed
  1731. -----------------------------------------------------------------
  1732. Tue 05-Sep-00 (GautamB)
  1733. fpw32\conv\cfout.c, cvt.c
  1734. crtw32\h\fltintrn.h
  1735. crtw32\convert\fcvt.c, gcvt.c
  1736. VS7#156300. Fixed the problem with printf generating overflow or underflow
  1737. floating point exception when used to print doubles.The problem was
  1738. exposed when doubles like 4.94e-324 were used. This was due to the
  1739. functions being passed double as agrument and instructions like fld would
  1740. generate fp underflow exception.
  1741. -----------------------------------------------------------------
  1742. Tue 29-Aug-00 (PhilipLu)
  1743. crtw32\h\stdlib.h
  1744. crtw32\misc\seccook.c, secfail.c, seclocf.c
  1745. libw32\msvcrt.src, syscrt.src
  1746. libw32\include\stdlib.h
  1747. libw32\inc64\stdlib.h
  1748. Change the /GS support implementation so it can be easily extended in the
  1749. future. The error handler is now called __security_error_handler, and it
  1750. now takes a code for the type of failure (only _SECERR_BUFFER_OVERRUN is
  1751. defined for now) and a void* pointer to an extra data packet (unused for
  1752. now). Also add a documented function for registering a new failure
  1753. handler.
  1754. -----------------------------------------------------------------
  1755. Wed 30-Aug-00 (GautamB)
  1756. fpw32\tran\ia64\filter.c
  1757. VS7#154760 fixed problem with inexact exception thrown by fcvt
  1758. instruction.
  1759. -----------------------------------------------------------------
  1760. Tue 29-Aug-00 (PhilipLu)
  1761. crtw32\eh\rtti.cpp
  1762. VS7#156255 - IA64 bug: dynamic_cast<> and typeid need to use the image base
  1763. for the object's _RTTICompleteObjectLocator, not the return address of the
  1764. call to __RTDynamicCast or __RTtypeid.
  1765. cleanbld.cmd
  1766. Make the DELOBJ option clean the generated .def files, so setting
  1767. BLD_TESTCRT=1 and running a DELOBJ build will work.
  1768. -----------------------------------------------------------------
  1769. Fri 25-Aug-00 (PhilipLu)
  1770. crtw32\stdhpp64\xtree
  1771. libw32\inc64\xtree
  1772. VS7#152018 Propogate fix for VC6SP5 bugfix VS98#66191 to the VC6-based
  1773. 64-bit STL headers. The 10-Jul-00 change to xtree removed too many locks,
  1774. leaving std::_Tree::erase open to a race condition bug that was reported
  1775. by the NT group.
  1776. crtw32\stdhpp64\fstream
  1777. libw32\inc64\fstream
  1778. VS7#155221 Propogate fix for VC6SP6 bugfix VS98#61009. The routine
  1779. std::basic_filebuf::overflow will fail when outputting DBCS, because the
  1780. size and count args to an fwrite call were reversed.
  1781. crtw32\h\dbgint.h
  1782. VS7#153113 On IA64, the debug CRT heap was not returning 16 byte aligned
  1783. memory, even though the Win32 Heap routines do, because the debug preheader
  1784. struct _CrtMemBlockHeader wasn't set up for 64-bits. The struct's size
  1785. wasn't a multiple of 16 bytes, which is needed to maintain alignment.
  1786. Swapping the order of two fields reduced the size from 56 to 48 bytes, and
  1787. eliminated gaps between fields. This was only done for IA64, to avoid
  1788. breaking any x86 client code that looked in this struct (in an
  1789. undocumented manner - this is done by Visual Studio).
  1790. makefile
  1791. The linker no longer supports -debugtype:both, so switch to -debugtype:cv
  1792. for IA64, the same as all the other platforms.
  1793. -----------------------------------------------------------------
  1794. Thu 24-Aug-00 (GautamB)
  1795. crtw32\eh\frame.cpp
  1796. Fixed Problem with BuildCatchObject when called from __CxxExceptionFilter.
  1797. -----------------------------------------------------------------
  1798. Thu 24-Aug-00 (PhilipLu)
  1799. crtw32\eh\rtti.cpp
  1800. VS7#154575 - dynamic_cast<> wasn't thread-safe on IA64.
  1801. -----------------------------------------------------------------
  1802. Wed 24-Aug-00 (KFrei)
  1803. crtw32\rtc\error.cpp
  1804. crtw32\h\rtcapi.h
  1805. libw32\include\rtcapi.h
  1806. VS7#153812, 153067, 154281. Initialization was messed up,
  1807. and _RTC_IsEnabled is dead (so I removed it from the headers)
  1808. -----------------------------------------------------------------
  1809. Wed 23-Aug-00 (GautamB)
  1810. fpw32\tran\ia64\pow.s, atan.s
  1811. VS7#109539. The new drop from intel fixes the problem with pow()
  1812. and atan()
  1813. fpw32\tran\ia64\libm_error.c
  1814. VS7#153477 Removed calls to fputs from libm_error support.
  1815. -----------------------------------------------------------------
  1816. Tue 22-Aug-00 (GautamB)
  1817. crtw32\setlocal.c
  1818. vs7#151944. clike stuff was not working as it should. FIxed it.
  1819. crtw32\dllstuff\crtlib.c
  1820. crtw32\startup\dllcrt0.c
  1821. Fixed possible leak of ptd in _CRT_INIT functions.
  1822. crtw32\string\stricmp
  1823. VS7#100359. strcmpi was just a wrapper function around stricmp. To
  1824. increase performance, selfincluded the file so that strcmpi can use
  1825. the same code again.
  1826. -----------------------------------------------------------------
  1827. Tue 22-Aug-00 (GautamB)
  1828. crtw32\h\awint.h
  1829. crtw32\misc\a_str.c, a_cmp.c, a_map.c, w_cmp.c, w_str.c, w_map.c
  1830. Addfile
  1831. crtw32\misc\convrtcp.c
  1832. VS7#5671. All the crt implementation of Win String APIs did not
  1833. work with any code page other than Ansi code page. Fixed this by
  1834. converting to ansi codepage and then calling WinAPI.
  1835. -----------------------------------------------------------------
  1836. Fri 17-Aug-00 (GautamB)
  1837. crtw32\h\ctype.h
  1838. crtw32\misc\wcstol.c, wchtodig.c
  1839. VS7#152362 Fixed MACRO __ascii_iswalpha and __ascii_iswdigit
  1840. Addfile wchtodig.c which contains new api wchtodig()
  1841. -----------------------------------------------------------------
  1842. Thu 17-Aug-00 (PhilipLu)
  1843. crtw32\stdhpp\xhash
  1844. libw32\include\xhash
  1845. VS7#151623 Relational comparisons for hash_maps were comparing only the
  1846. keys, not the entire pair. Same bug as 97336, this time for hash_map
  1847. instead of map.
  1848. -----------------------------------------------------------------
  1849. Wed 16-Aug-00 (PhilipLu)
  1850. doc\copysrc.bat
  1851. VS7#150831 (and 5437, reopened) Copysrc.bat needs to copy the makefiles
  1852. from the CRT build using xcopy /r, so that read-only files get replaced.
  1853. The build lab wasn't picking up the latest versions of these files because
  1854. of this.
  1855. Also added a few recent additional files that were missing from the
  1856. script, and expanded the usage comments.
  1857. -----------------------------------------------------------------
  1858. Wed 09-Aug-00 (PhilipLu)
  1859. crtw32\misc\seccook.c, secfail.c
  1860. VS7#147203 /GS failed with the debug CRTs because __security_check_cookie
  1861. wasn't preserving EAX. Rewrite as __declspec(naked) inline asm so /Od
  1862. builds won't trash EAX. Also changed code so in case of a failure,
  1863. control can never return to the user code (barring some sort of longjmp
  1864. in a user-installed handler). Instead, just ExitProcess if a reporting
  1865. handler returns.
  1866. -----------------------------------------------------------------
  1867. Tue 08-Aug-00 (GautamB)
  1868. crtw32\string\lsources
  1869. srcrel\object.mkf, pd-b
  1870. makefile.inc
  1871. Backed out the changes for new string routines.
  1872. -----------------------------------------------------------------
  1873. Tue 08-Aug-00 (GautamB)
  1874. crtw32\stdhpp\complex fstream iosfwd istream locale ostream sstream
  1875. streambuf string xlocale xlocmes xlocmon xlocnum xloctime
  1876. xmemory xstring yvals.h
  1877. libw32\include\limits, yvals.h
  1878. VS7#146241 Changed the _NATIVE_CRTBLD_WCHAR_T to _CRTBLD_NATIVE_WCHAR_T
  1879. for the all the headers except limits. And instead used
  1880. _CRTBLD_NATIVE_WCHAR_T include unsigned short version of wchar_t while
  1881. building CRT with wchar_t as native data type.
  1882. -----------------------------------------------------------------
  1883. Tue 08-Aug-00 (PhilipLu)
  1884. crtw32\misc\qsort.c
  1885. VS7#123134 The fix for vs7#99674 would cause the compare function to be
  1886. called with the same pointer passed for both arguments, which triggered
  1887. asserts in some user code that wasn't expecting self-compares (even though
  1888. that's fine by the standard). In the interest of backwards-compatibility,
  1889. tweak qsort() so it will never issue a self-compare. Also uncovered a
  1890. couple more minor performance wins, so the self-compare avoidance doesn't
  1891. slow down qsort().
  1892. crtw32\h\winheap.h
  1893. Make sure __active_heap isn't available for _WIN64 builds.
  1894. -----------------------------------------------------------------
  1895. Sun 06-Aug-00 (PhilipLu)
  1896. crtw32\dllstuff\crtexe.c
  1897. crtw32\startup\crt0.c, crt0dat.c
  1898. VS7#117746 Replace references to COM+ or complus with "managed."
  1899. fpw32\tran\i386\filter_simd.c, xmmi_types.h
  1900. Placeholder fix for new DAZ status bit in C-step Pentium 4 - don't handle
  1901. WNI exceptions if DAZ bit set. Last minute change from Intel for VC6PP,
  1902. propogated to VC7.
  1903. crtw32\heap\calloc.c, expand.c, malloc.c, realloc.c
  1904. VS7#131005 When using the system heap, don't round up allocations to
  1905. paragraph-multiples, since that defeats pageheap overrun detection. Keep
  1906. doing the rounding for the V5 and V6 heaps (even when the block is too
  1907. big for the small block heap), so we don't modify the behavior there and
  1908. potentially break existing (buggy) apps.
  1909. crtw32\startup\thread.c, threadex.c
  1910. VS7#118688 Detect and give errno EINVAL on NULL threadproc in _beginthread
  1911. and _beginthreadex.
  1912. -----------------------------------------------------------------
  1913. Tue 01-Aug-00 (Gautamb)
  1914. crtw32\string\wcsstr.c
  1915. VS7#145615 Fix for wcsstr("", "").
  1916. crtw32\convert\wcstol.c, wcstoq.c
  1917. VS7#5679, Added multilingual support for wcstol().
  1918. -----------------------------------------------------------------
  1919. Tue 01-Aug-00 (Gautamb)
  1920. makefile, makefile.inc
  1921. srcrel\makefile, object.mkf, pd-b
  1922. crtw32\string\lsources, sources.nt
  1923. Addfile
  1924. crtw32\string\ia64\memcpy.s, memset.s, strcmp.s, strcpy.s, strcat.s, strlen.s
  1925. Added intels drop for string routines
  1926. -----------------------------------------------------------------
  1927. Wed 26-Jul-00 (Gautamb)
  1928. crtw32\eh\frame.cpp
  1929. VS7#124342, Fixed the multiple destruction of exception object.
  1930. -----------------------------------------------------------------
  1931. Thu 20-Jul-00 (Gautamb)
  1932. crtw32\h\conio.h, stdio.h, wchar.h, ctypes.h, tchar.h
  1933. crtw32\stdhpp\wctype.h
  1934. Changed the typedef wchar_t wint_t to typedef unsigned short wint_t. This
  1935. is useful when wchar_t is native type.
  1936. -----------------------------------------------------------------
  1937. Thu 20-Jul-00 (PhilipLu)
  1938. makefile
  1939. Make sure the retail CRT DLLs are linked with /opt:icf to enable identical
  1940. comdat folding. Chops about 50K off msvcp70.dll after the duplication
  1941. of unsigned short and wchar_t specializations checked in on 7/17.
  1942. crtw32\h\i386\dvec.h
  1943. libw32\include\dvec.h
  1944. VS7#127201 Iu16vec8 ctor with 8 args was wrong in this file from Intel.
  1945. crtw32\misc\dbgheap.c
  1946. VS7#129571 _CrtIsValidHeapPointer should only test that the debug heap
  1947. block header can be read, not written. Testing that it is writeable would
  1948. require taking the heap lock to avoid multi-threaded corruption, and is
  1949. unnecessary.
  1950. crtw32\stdhpp\yvals.h
  1951. libw32\include\yvals.h
  1952. VS7#126171 Add #define of _CPPLIB_VER so we can do conditional compilation
  1953. based on version of the C++ Standard Library. Current version is 304.
  1954. -----------------------------------------------------------------
  1955. Mon 17-Jul-00 (GautamB)
  1956. crtw32\stdhpp\complex, fstream, ios, iosfwd, istream, limits, locale, ostream,
  1957. sstream, streambuf, string, xlocale, xlocmes, xlocmon, xloctime, xmemory,
  1958. xstring
  1959. crtw32\stdcpp\instances.cpp, locale.cpp, lsources, wcerr.cpp, wcin.cpp,
  1960. wclog.cpp, wcout.cpp, wiostrea.cpp
  1961. libw32\include\iosfwd
  1962. crtw32\tools\win32\relinc.if
  1963. srcrel\pd-b
  1964. makefile, makefile.inc
  1965. Addfile:
  1966. crtw32\ushcerr.cpp, ushcin.cpp, ushclog.cpp, ushcout.cpp, ushiostr.cpp
  1967. VS7#123149 On compiling with -Zc:wchar_t, we would have replace all the
  1968. entry points in the msvcp70.dll with wchar_t version. Now the problem was
  1969. no programs compiling without -Zc:wchar_t would not be able to use this
  1970. dll. Fixed this problem by including both wchar_t version and unsigned
  1971. short versions of all the entrypoints.
  1972. -----------------------------------------------------------------
  1973. Fri 14-Jul-00 (GautamB)
  1974. crtw32\h\useoldio.h, wchar.h
  1975. libw32\inc64\useoldio.h, wchar.h
  1976. libw32\include\useoldio.h, wchar.h
  1977. VS7#5709 Adding defination for memcpy and memmove in the inline function
  1978. gave warning on PREFIX tools. move the definations out of the functions to
  1979. solve the problem.
  1980. VS7#127305 _OLD_IOSTREAMS_ARE_DEPRECATED warning was also given on IA64
  1981. which should not be there at this point.
  1982. -----------------------------------------------------------------
  1983. Mon 10-Jul-00 (PhilipLu)
  1984. crtw32\stdhpp64\xtree
  1985. libw32\inc64\xtree
  1986. Propogate VC6SP4 fix for vs98#56775 (deadlock in xtree) to the old Win64
  1987. headers.
  1988. crtw32\tools\win32\relinc64.cmd, relinc64.sed [NEW]
  1989. 64-bit release headers should not get _STATIC_CPPLIB change of Jul 6. This
  1990. is a partial fix - "do_relinc 64" is still not doing exactly the right
  1991. thing for wchar.h.
  1992. -----------------------------------------------------------------
  1993. Mon 10-Jul-00 (PhilipLu)
  1994. mkbld.cmd [NEW]
  1995. Script to call cleanbld.cmd, save output in "build.log", and grep output
  1996. for errors or warnings when done.
  1997. srcrel\msvc40.if
  1998. Silence cleansing-stage warnings about setjmp and _STATIC_CPPLIB.
  1999. libw32\msvcprt.src
  2000. Fix VC IA64 CRT build broken by Dinkumware 000524 integration.
  2001. -----------------------------------------------------------------
  2002. Fri 07-Jul-00 (PhilipLu)
  2003. makefile.inc
  2004. crtw32\stdcpp\delaop2.cpp, delop2.cpp, fiopen.cpp, instances.cpp, locale.cpp,
  2005. locale0.cpp, lsources, newaop.cpp, newaop2.cpp, sources.nt, xcosh.c,
  2006. xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdscale.c, xfdtest.c,
  2007. xferaise.c [NEW], xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldscale.c,
  2008. xldtest.c, xlexp.c, xlsinh.c, xlvalues.c, xsinh.c, xvalues.c
  2009. crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  2010. climits, clocale, cmath, csetjmp, csignal, cstdarg, cstddef, cstdio,
  2011. cstdlib, cstring, ctime, cwchar, cwctype, deque, fstream, hash_map,
  2012. hash_set, ios, iosfwd, iso646.h, istream, iterator, limits, list, locale,
  2013. map, memory, new, ostream, queue, set, sstream, stl.h, streambuf, vector,
  2014. xcomplex, xhash, xiosbase, xlocale, xlocinfo.h, xlocnum, xmemory, xstring,
  2015. xtree, xutility, ymath.h, yvals.h
  2016. crtw32\tools\win32\relinc.if
  2017. doc\copysrc.bat
  2018. libw32\msvcprt.src
  2019. libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  2020. climits, clocale, cmath, csetjmp, csignal, cstdarg, cstddef, cstdio,
  2021. cstdlib, cstring, ctime, cwchar, cwctype, deque, fstream, hash_map,
  2022. hash_set, ios, iosfwd, iso646.h, istream, iterator, limits, list, locale,
  2023. map, memory, new, ostream, queue, set, sstream, stl.h, streambuf, vector,
  2024. xcomplex, xhash, xiosbase, xlocale, xlocinfo.h, xlocnum, xmemory, xstring,
  2025. xtree, xutility, ymath.h, yvals.h
  2026. srcrel\pd-b
  2027. Finish integrating 000524 drop of Dinkumware C++ Library. This fixes VS7
  2028. bugs 5294, 5311, 72100, 97336, 113256
  2029. This code checks in a number of changes currently under #ifdef. Code under
  2030. _GLOBAL_USING and _HAS_MEMBER_TEMPLATES_REBIND is waiting for the next
  2031. vcLKG compiler update before being enabled. The code under
  2032. _HAS_TEMPLATE_PARTIAL_REORDERING is waiting for a potential compiler fix
  2033. in the VC7 timeframe. If that doesn't happen, the code will have to stay
  2034. disabled to avoid compiler errors (code is for optimization only, not
  2035. correctness). I've also got code under _RETAIN_OLD_CRT_CODE that is there
  2036. so that msvcp70.dll doesn't lose any exports. Once the next vcLKG update
  2037. takes place, the _RETAIN_OLD_CRT_CODE sections can be removed.
  2038. Finally, I've added _DEPRECATED (__declspec(deprecated)) to a number of
  2039. locale-related functions from VC6 which are being retained for backwards
  2040. compatibility but have been superceded by standard-conforming versions.
  2041. -----------------------------------------------------------------
  2042. Wed 06-July-00 (GautamB)
  2043. crtw32\h\wchar.h, internal.h
  2044. crtw32\stdhpp\yvals.h, string, xloctime, xlocnum, xlocmon, xlocmes, xlocale,
  2045. xcomplex, wctype.h, complex, fstream, ios, iosfwd, istream, locale,
  2046. use_ansi.h, typeinfo, string, streambuf, sstream, ostream, locale,
  2047. istream, iosfwd
  2048. Changed the headers so as to be able to statically link to STL even when
  2049. compiling with /MD option.
  2050. -----------------------------------------------------------------
  2051. Wed 06-July-00 (GautamB)
  2052. fpw32\tran\ia64
  2053. VS7#126252, VS7#126122, VS7#125822.
  2054. The original libm_error_support used to set return values for domain
  2055. errors which was not compatible with MS libm stuff (fixed). Also fixed the
  2056. cases where matherr did not worked for float math functions.
  2057. -----------------------------------------------------------------
  2058. Fri 23-Jun-00 (PhilipLu)
  2059. crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop2.cpp, delop2.cpp,
  2060. fiopen.cpp, instances.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
  2061. locale.cpp, locale0.cpp, newaop.cpp, newaop2.cpp, newop.cpp, newop2.cpp,
  2062. nomemory.cpp, nothrow.cpp, raisehan.cpp, stdhndlr.cpp, stdthrow.cpp,
  2063. string.cpp, strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp, wclog.cpp,
  2064. wcout.cpp, wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp, xcosh.c,
  2065. xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c, xfdscale.c,
  2066. xfdtest.c, xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldnorm.c, xldscale.c,
  2067. xldtest.c, xlexp.c, xlocale.cpp, xlpoly.c, xlsinh.c, xlvalues.c, xmath.h,
  2068. xpoly.c, xsinh.c, xstod.c, xvalues.c
  2069. crtw32\stdhpp\algorithm, bitset, complex, deque, exception, fstream,
  2070. functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream, iso646.h,
  2071. istream, iterator, limits, list, locale, map, memory, new, numeric,
  2072. ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf, string,
  2073. strstream, typeinfo, utility, valarray, vector, xcomplex, xhash, xiosbase,
  2074. xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
  2075. xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  2076. libw32\stdhpp\algorithm, bitset, complex, deque, exception, fstream,
  2077. functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream, iso646.h,
  2078. istream, iterator, limits, list, locale, map, memory, new, numeric,
  2079. ostream, queue, set, sstream, stack, stdexcept, stl.h, streambuf, string,
  2080. strstream, typeinfo, utility, valarray, vector, xcomplex, xhash, xiosbase,
  2081. xlocale, xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime,
  2082. xmath.h, xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  2083. First step in integrating 000524 drop of Dinkumware C++ Library.
  2084. Reformatting sources and renaming some variables to bring in line with
  2085. the new drop, while not changing semantics at all (verified by doing
  2086. binary compares of the compiled libraries). Done so I can cleanly compare
  2087. the current sources against the new drop.
  2088. -----------------------------------------------------------------
  2089. Wed 21-Jun-00 (PhilipLu)
  2090. crtw32\stdhpp\iso646.h
  2091. libw32\include\iso646.h
  2092. VS7#23138 The names #defined in iso646.h are keywords in C++ under /Za
  2093. only, so for /Ze, the defines should stay.
  2094. crtw32\stdhpp\exception, typeinfo
  2095. crtw32\stdhpp64\exception, typeinfo
  2096. libw32\include\exception, typeinfo
  2097. libw32\inc64\exception
  2098. Remove obsolete references to _NTSDK in conditional definition of _CRTIMP.
  2099. -----------------------------------------------------------------
  2100. Wed 21-Jun-00 (GautamB)
  2101. Modified
  2102. crtw32\eh\frame.cpp
  2103. VS7#107054 Fixed differece in order of destruction depending on inlining.
  2104. crtw32\heap\align.c
  2105. crtw32\misc\dbgheap.c
  2106. VS7#116389 Changed _aligned_realloc to mimic _realloc.
  2107. fpw32\tran\fpexcept.c
  2108. VS7#122777 Added _logb in the list of get_fname() so that matherr could be
  2109. called for _logb.
  2110. crtw32\h\useoldio.h
  2111. Added #pragma deprecated(_OLD_IOSTREAMS_ARE_DEPRECATED) to generate
  2112. warning for _OLD_IOSTREAMS_ARE_DEPRECATED.
  2113. fpw32\tran\ia64\libm_error.c libm_support.h
  2114. VS7#120653 Added _MS_ as new LIB_VARIABLE to support ms matherr handling.
  2115. -----------------------------------------------------------------
  2116. Tue 20-Jun-00 (PhilipLu)
  2117. crtw32\eh\hooks.cpp
  2118. Improve stackwalk through terminate() or _inconsistency() by getting rid
  2119. of unnecessary __try/__finally protection, since __try/__except already
  2120. present.
  2121. crtw32\mbstring\mbctype.c
  2122. Reenable 6/3/00 fix for VS7#115987. Prevent reoccurence of VS7#116902 by
  2123. getting rid of circular pprev/pnext linked list pointers in threadmbcinfo
  2124. struct. Fix _POSIX_ problem that could fail to initialize fSystemSet.
  2125. Fix minor performance issue in _setmbcp that would unnecessarily update
  2126. __ptmbcinfo when setting codepage _MB_CP_OEM/_MP_CP_ANSI/_MB_CP_LOCALE that
  2127. was already set.
  2128. crtw32\startup\tidtable.c
  2129. VS7#118174 _freeptd shouldn't free thread mbcinfo if its the same as
  2130. global __ptmbcinfo.
  2131. crtw32\h\mbctype.h, mbdata.h, mbstring.h, mtdll.h, setlocal.h
  2132. srcrel\msvc40.if
  2133. Remove threadmbcinfo.{pprev,pnext}, and rename THREADMBCINFO to
  2134. _THREADMBCINFO, THREADLOCALEINFO to _THREADLOCALEINFO.
  2135. crtw32\stdcpp\newaop.cpp, newop.cpp
  2136. crtw32\stdhpp\new, xstddef
  2137. libw32\include\new, xstddef
  2138. VS7#112746 Use _THROW1(exception) instead of _THROW0(/*exception*/) so
  2139. /EHs compiles get proper throw info. Also define _THROW1(x) as (...) to
  2140. avoid warning C4290.
  2141. crtw32\h\trnsctrl.h
  2142. crtw32\eh\frame.cpp
  2143. crtw32\eh\ia64\trnsctrl.cpp
  2144. VS7#111429 (From RLanser/TiborL) IA64 workaround for SQL crash while
  2145. handling a throw.
  2146. -----------------------------------------------------------------
  2147. Tue 06-Jun-00 (KFrei)
  2148. Modified
  2149. crtw32\rtc\pdblkup.cpp
  2150. VS7#110178 Modified Src/Line# lookup to use PDB7 format
  2151. -----------------------------------------------------------------
  2152. Wed 07-Jun-00 (GautamB)
  2153. Modified
  2154. crtw32\stdhpp64\deque
  2155. libw32\inc64\deque
  2156. VS7#78357 Fixed Leaks in deque.
  2157. -----------------------------------------------------------------
  2158. Wed 07-Jun-00 (PhilipLu)
  2159. crtw32\mbstring\mbctype.c
  2160. VS7#116902 Back out the fix of Jun 3 for vs7#115987. That fix exposes a
  2161. bug in the circular linked list insertion in multithread version of
  2162. _setmbcp. The fix for 115987 will be reinstated with a fix for the
  2163. _setmbcp bug next week, after we split the trees for the PDC.
  2164. -----------------------------------------------------------------
  2165. Sun 04-Jun-00 (PhilipLu)
  2166. cleanbld.cmd, clns_bld.bat, makefile
  2167. srcrel\bldnt.cmd, bldwin95.bat, external.mkf, makefile
  2168. Change the environment variable pointing to the VC++ tools installation
  2169. from V6TOOLS to VCTOOLS. The old environment variable V6TOOLS is still
  2170. supported for now for internal builds, but not in the user CRT rebuild.
  2171. cleanbld.cmd
  2172. Tweaking the CRTMKDEP and DELOBJ options of cleanbld.cmd to make the
  2173. V6TOOLS->VCTOOLS switch go smoothly. CRTMKDEP will regenerate the
  2174. depend.def dependency files even if they already exist. DELOBJ will now
  2175. delete the %CRT_BUILDDIR%\srcrel directory tree (an oversite I should have
  2176. done when the files produced from the %CRTSRC%\srcrel stuff was moved into
  2177. the %CRT_BUILDDIR% directory).
  2178. makefile
  2179. VS7#5678 The makefile should default VCTOOLS to the default installation
  2180. point for VC7, not "\MSDEV", so the user CRT rebuild will work in a clean
  2181. installation without user intervention.
  2182. -----------------------------------------------------------------
  2183. Sat 03-Jun-00 (PhilipLu)
  2184. crtw32\mbstring\mbctype.c
  2185. VS7#115987 __updatetmbcinfo wasn't updating the per-thread mbcinfo(!).
  2186. Every call to something like _ismbcspace would thus call __updatetmbcinfo,
  2187. which takes a lock, so multithread apps using the MBCS APIs can exhibit
  2188. a big performance loss when moving from NT4 (with a VC6 CRT) to Win2K
  2189. (with a VC6.1 CRT).
  2190. crtw32\mbstring\ismbdgt.c, ismbspc.c
  2191. VS7#116057 speed up multithread version of _ismbcspace and _ismbcdigit.
  2192. crtw32\stdhpp\xhash
  2193. libw32\include\xhash
  2194. VS7#85385 hash_set/hash_map could crash because of bugs in growing the
  2195. underlying hash structure. Surgically applying fix from Dinkumware.
  2196. crtw32\stdcpp\ios.cpp, locale.cpp, locale0.cpp
  2197. crtw32\stdhpp\xlocale
  2198. libw32\include\xlocale
  2199. VS7#116039 Lock instantiations of the form "_Lockit _Lock(_LOCK_LOCALE);"
  2200. were useless because _LOCK_LOCALE was defined to nothing, turning the
  2201. object definition into a prototype for a function _Lock, so no lock was
  2202. actually taken.
  2203. -----------------------------------------------------------------
  2204. Fri 02-Jun-00 (GautamB)
  2205. Modified
  2206. crtw32\convert\strtoq.c, wcstoq.c
  2207. VS7#115219 Fixed the special case for _I64_MIN. Previously underflow
  2208. occurred at -_I64_MAX.
  2209. -----------------------------------------------------------------
  2210. Thu 01-Jun-00 (PhilipLu)
  2211. crtw32\h\crtdbg.h
  2212. crtw32\misc\dbgheap.c
  2213. libw32\include\crtdbg.h
  2214. libw32\inc64\crtdbg.h
  2215. VS7#55049 Add new routine _CrtReportBlockType which can be called from a
  2216. client block dumper (as called by _CrtDoForAllClientObjects) to retrieve
  2217. the block type, allowing the subblock types of _CLIENT_BLOCK's to be
  2218. queried.
  2219. makefile
  2220. VS7#109278 Base the VC++ CRTs into the 0x5D?????? range so they don't
  2221. conflict with the URT DLLs.
  2222. crtw32\startup\threadex.c
  2223. VS7#114394 If _beginthreadex is called with a NULL thrdaddr parameter,
  2224. call CreateThread with a pointer to a dummy location to store the thread
  2225. ID. CreateThread on Win9x cannot be called with a non-NULL final argument.
  2226. -----------------------------------------------------------------
  2227. Thu 01-Jun-00 (GautamB)
  2228. Modified
  2229. crtw32\h\setjmpex.h
  2230. VS7#113737 fixed the macro redefination problem arising due to order of
  2231. including the header setjmp.h and setjmpex.h. Now for the case on IA64,
  2232. inclusion of setjmpex.h will define setjmp to _setjmpex on matter if
  2233. setjmp.h is included or not.
  2234. -----------------------------------------------------------------
  2235. Tue 30-May-00 (GautamB)
  2236. Modified
  2237. crtw32\h\setjmpex.h
  2238. VS7#113737 fixed the macro redefination problem arising due to order of
  2239. including the header setjmp.h and setjmpex.h
  2240. Modified
  2241. crtw32\misc\ia64\setjmp.s
  2242. libw32\msvcrt.src, syscrt.src, syscrt64.src
  2243. VS7#103476 Added entry point for _setjmp() along with setjmp() in setjmp.s
  2244. to make it compatible to what function we have on x86. The problem was
  2245. that we had setjmp() on x86 and _setjmp() on ia64.
  2246. crtw32\stdio\input.c
  2247. vs7#5473 Fixed the problem with scanf while reading octal or hex integers
  2248. when format specifier is %d. Which was not according to the standards
  2249. -----------------------------------------------------------------
  2250. Wed 31-May-00 (KFrei)
  2251. crtw32\rtc\error.cpp
  2252. crtw32\rtc\init.cpp
  2253. crtw32\rtc\initsect.cpp
  2254. crtw32\rtc\userapi.cpp
  2255. VS7#95387,110897 initialization simplified - no more locking
  2256. -----------------------------------------------------------------
  2257. Tue 30-May-00 (PhilipLu)
  2258. crtw32\h\i386\fvec.h
  2259. libw32\include\fvec.h
  2260. VS7#101068 add missing functions simd_avg (from Intel).
  2261. -----------------------------------------------------------------
  2262. Tue 30-May-00 (GautamB)
  2263. Modified
  2264. crtw32\eh\frame.cpp
  2265. VS7#112630 Some more COM+ bug fixes for rethrows from different points.
  2266. -----------------------------------------------------------------
  2267. Wed 24-May-00 (GautamB)
  2268. Modified
  2269. Makefile.sub
  2270. VS7#84575 The retail IA64 CRT is currently built with /Zx (use debuggable
  2271. optimizations). This is removed from makefile.sub.
  2272. Modified
  2273. crtw32\eh\frame.cpp
  2274. VS7#5704 Handling STATUS_BREAKPOINT by catch() was not intended. Fixed
  2275. this for cases when this exception could be caught by catch(...) of any
  2276. other catch by use of __set_se_translator().
  2277. -----------------------------------------------------------------
  2278. Tue 23-May-00 (GautamB)
  2279. modified
  2280. crtw32\misc\setenv.c
  2281. VS7#100392 Fixed setenv to return error for the case when
  2282. SetEnvironmentVariable() returns error even if the variable is set in CRT
  2283. environment.
  2284. Modified
  2285. crtw32\convert\atox.c, wtox.c, lsources, sources.nt
  2286. crtw32\h\tchar.h, wchar.h, stdlib.h
  2287. Add File
  2288. crtw32\convert\wtof.c
  2289. VS7#5708 Added new function _wtof and macros for _wtof, _wtoi, _wtoi64
  2290. Modified
  2291. doc\copysrc.bat
  2292. vs7# 110154Added the filenames of newly added file.
  2293. -----------------------------------------------------------------
  2294. Thu 18-May-00 (GautamB)
  2295. modified
  2296. crtw32\misc\w_cmp.c
  2297. crtw32\lowio\getwch.c, putwch.c
  2298. VS7#100392 Fixed the return values when W API return with error not equal
  2299. to ERROR_CALL_NOT_IMPLEMENTED.
  2300. -----------------------------------------------------------------
  2301. Wed 17-May-00 (PhilipLu)
  2302. crtw32\h\stdarg.h, varargs.h
  2303. libw32\include\stdarg.h, varargs.h
  2304. libw32\inc64\stdarg.h, varargs.h
  2305. VS7#109619 - support soft2.5 changes to varargs handling of structs.
  2306. Changes to _APALIGN macro required for IA64, using __alignof intrinsic.
  2307. -----------------------------------------------------------------
  2308. Wed 17-May-00 (GautamB)
  2309. modified
  2310. crtw32\misc\getqloc.c
  2311. VS7#62160 For most LCIDs, the combination of the expanded English-language
  2312. Language/Country pair is unique, but that's not true for 0414 and 0814 on
  2313. NT5. They both map to Norwegian/Norway. Taking LCID 0814 as special
  2314. case, we return Langauge name as Norwegian-Nynorsk.
  2315. -----------------------------------------------------------------
  2316. Wed 17-May-00 (GautamB)
  2317. modified
  2318. crtw32\misc\a_cmp.c, a_env.c, a_loc.c, a_map.c, a_str.c, aw_com.c, w_cmp.c,
  2319. w_env.c, w_loc.c, w_map.c, w_str.c
  2320. crtw32\lowio\getwch.c, cgetws.c, putwch.c
  2321. VS7#100392. Used error = ERROR_CALL_NOT_IMPLEMENTED to check for
  2322. availablity of Unicode version of APIs. This prevents quick fall back to
  2323. A version of APIs.
  2324. -----------------------------------------------------------------
  2325. Wed 17-May-00 (PhilipLu)
  2326. crtw32\h\i386\emmintrin.h, mmintrin.h, xmmintrin.h
  2327. libw32\include\i386\emmintrin.h, mmintrin.h, xmmintrin.h
  2328. For JasonSh - the __m128, __m64, __m128i, and __m128d are now declared in
  2329. the headers, instead of automatically being defined by the C/C++ frontend.
  2330. -----------------------------------------------------------------
  2331. Mon 15-May-00 (PhilipLu)
  2332. makefile, makefile.inc
  2333. crtw32\eh\ehvccctr.cpp [NEW], ehvcccvb.cpp [NEW], lsources
  2334. crtw32\eh\dll\sources
  2335. crtw32\eh\dlllib\sources
  2336. crtw32\eh\i386\ehcrt.mak
  2337. crtw32\eh\ia64\ehcrt.mak
  2338. crtw32\eh\mt\sources
  2339. crtw32\eh\nt\sources
  2340. crtw32\eh\st\sources
  2341. libw32\makefile
  2342. srcrel\objects.mkf, pd-b
  2343. VS7#103362 - Add new compiler support routines for EH-aware vector copy
  2344. constructors. When the compiler generates a default copy-ctor for an
  2345. object which has a data member that's an array of constructable types, and
  2346. exceptions are enabled, it needs to call a helper which unwinds the
  2347. partially constructed array in case a copy-ctor of an array element throws.
  2348. -----------------------------------------------------------------
  2349. Mon 15-May-00 (GautamB)
  2350. modified
  2351. fpw32\tran\lsources
  2352. srcrel\pd-b
  2353. fpw32\tran\ia64\atan.s, atanf.s, powf.s, pow.s, hypot.s, hypotf.s
  2354. Newer version of atan used uninitialised states and causing wrong
  2355. calculations. Restored the older version of atan. Newer version of pow did
  2356. not handle errors correctly. Restored the older version.
  2357. delfile
  2358. fpw32\tran\ia64\matherr.c, matherrf.c, math_err.c math_errf.c
  2359. Deleted the intel math error handling files so as to use CRT math error
  2360. handling functions.
  2361. -----------------------------------------------------------------
  2362. Thu 11-May-00 (PhilipLu)
  2363. makefile.sub
  2364. IA64 build: if debug info is enabled, then add "-d debug" switch to ias
  2365. cmdlines.
  2366. -----------------------------------------------------------------
  2367. Thu 11-May-00 (GautamB)
  2368. crtw32\startup\crt0msg.c
  2369. VS7#104567 Modified _NMSG_WRITE so not to call _CrtDbgReport for _RT_BANNER.
  2370. -----------------------------------------------------------------
  2371. Thu 11-May-00 (PhilipLu)
  2372. crtw32\misc\qsort.c
  2373. VS7#99674 Performance tuning on qsort(). Sorting the pathological case
  2374. of 0,1,0,1,... sped up by 2500x(!). Also made sure all comments about
  2375. invariant conditions are up-to-date.
  2376. -----------------------------------------------------------------
  2377. Wed 10-May-00 (GautamB)
  2378. fpieee\tran\i386\87triga.asm
  2379. VS7#99780. fixed atan2(-0.0, 1.0) to return -0.0.
  2380. -----------------------------------------------------------------
  2381. Wed 03-May-00 (Build Lab for PhilipLu)
  2382. crtw32\stdhpp\sstream, xiosbase, xlocnum, xstring
  2383. libw32\include\sstream, xiosbase, xlocnum, xstring
  2384. Check in files from the 000202 Dinkumware drop that break backward
  2385. compatibility with the C++ Library DLL entrypoint list. Done as part of
  2386. updating the devtools LKG toolset.
  2387. -----------------------------------------------------------------
  2388. Wed 03-May-00 (PhilipLu)
  2389. makefile.sub
  2390. The DLL build should always be built /Z7, not just when doing a build on
  2391. a multi-proc machine. Don't want the build producing a different set of
  2392. files depending on how many CPUs the build machine happens to have.
  2393. libw32\inc64\math.h, stdlib.h
  2394. Backing out BryanT's last checkin of these headers. The math.h checkin
  2395. wipes out a change made last year, and the stdlib.h checkin wipes out some
  2396. CRT DLL entrypoints which are obsolete, but should probably be preserved.
  2397. The stdlib.h change is actually an overly-aggressive fix for the problem
  2398. noted in VS7#22423.
  2399. srcrel\mkclnmkf.c
  2400. Fix trivial typo reported by X-Box (== should have been =).
  2401. -----------------------------------------------------------------
  2402. Mon 01-May-00 (BryanT)
  2403. makefile
  2404. crtw32\crt32.nt, dirs
  2405. crtw32\eh\dirs
  2406. crtw32\helper\nt\sources
  2407. crtw32\linkopts\sources
  2408. crtw32\small\makefile.inc, sources
  2409. fpw32\fp32.nt
  2410. fpw32\tran\sources.nt
  2411. libw32\dirs
  2412. libw32\lib\sources.nt
  2413. libw32\lib\dll\makefile.inc
  2414. libw32\lib\dll40\sources
  2415. libw32\lib\exsup\makefile, sources
  2416. NT Build cleanup.
  2417. crtw32\heap\malloc.c, sbheap.c
  2418. crtw32\startup\crt0dat.c
  2419. crtw32\string\strlwr.c, strupr.c
  2420. POSIX changes
  2421. crtw32\startup\crt0.c
  2422. libw32\inc64\deque, list, math.h, stdlib.h, typeinfo, vector, xlocale, xlocnum
  2423. WIN64 changes
  2424. -----------------------------------------------------------------
  2425. Mon 01-May-00 (GautamB)
  2426. Addfile
  2427. fpieee\tran\ia64\acos.s, acosf.s, asin.s, asinf.s, atan.s, atan2.s, atan2f.c,
  2428. atan2f.s, atanf.c, atanf.s, ceil.s, ceilf.c, ceilf.s, ceill.s, cosh.s,
  2429. coshf.s, exp.s, expf.c, expf.s, fabs.s, fabsf.s, floor.s, floorf.s, fmod.s,
  2430. fmodf.c, fmodf.s, hypot.s, hypotf.s, isnan.s, isnanf.s, ldexp.s, ldexpf.s,
  2431. libm_atan2_reg.s, libm_error.c, libm_reduce.s, libm_support.h, libm_tan.s,
  2432. log.s, logb.s, logbf.s, logf.s, pow.s, powf.s, remainder.s, remainderf.s,
  2433. scalb.s, scalbf.s, sincos.s, sincosf.s, sinh.s, sinhf.s, sqrt.s, sqrtf.s,
  2434. tan.s, tanf.s
  2435. Added new IA64 math routines files in assembly.
  2436. -----------------------------------------------------------------
  2437. Mon 01-May-00 (GautamB)
  2438. fpeee\tran\i386\log.asm, pow.asm, sqrt.asm, trig.asm, triga.asm
  2439. VS7#86209 Speeding up the math routines by assuming (Guranteed for
  2440. optimisation for speed) that the esp will be offset by 4 byte from
  2441. alignment on 8 and then subtracting 4 extra bytes to align it to 8 for
  2442. faster float excess.
  2443. -----------------------------------------------------------------
  2444. Mon 01-May-00 (BryanT)
  2445. crtw32\eh\mips
  2446. crtw32\eh\ppc
  2447. crtw32\helper\mips
  2448. crtw32\helper\ppc
  2449. crtw32\misc\mips
  2450. crtw32\misc\ppc
  2451. crtw32\small\mips
  2452. crtw32\startup\mips
  2453. crtw32\startup\ppc
  2454. crtw32\string\mips
  2455. crtw32\string\ppc
  2456. fpw32\tran\mips
  2457. fpw32\tran\ppc
  2458. libw32\lib\mips
  2459. libw32\lib\ppc
  2460. Delete dead code for mips and ppc. Don't delete dirs in case someone
  2461. wants to resurrect code at a later date...
  2462. -----------------------------------------------------------------
  2463. Tue 25-Apr-00 (GautamB)
  2464. addfile
  2465. crtw32\lowio\getwch.c, cgetws.c
  2466. crtw32\stdio\cwscanf.c
  2467. modified
  2468. crtw32\h\wchar.h, tchar.h, conio.h (libw32\include and libw32\inc64)
  2469. libw32\msvcrt.src, syscrt.src, syscrt64.src
  2470. srcrel\pd-b
  2471. makefile.inc
  2472. VS7#86398. Added Unicode version of console input functions.
  2473. -----------------------------------------------------------------
  2474. Tue 25-Apr-00 (PhilipLu)
  2475. fpw32\tran\i386\debug.c, debug.h, filter.c, filter_simd.c, xmmi2_fp_emul.c
  2476. VS7#90752, 90760, 90764, 90769, 90775, 90779, 90782, 91746 - fixes for SIMD
  2477. support in _fpieee_flt from Intel.
  2478. makefile, makefile.sub
  2479. Add BLD_CRT_LTCG to makefiles, to enable building a CRT with Link Time
  2480. CodeGen enabled. Off by default, only there for internal use.
  2481. -----------------------------------------------------------------
  2482. Mon 24-Apr-00 (PhilipLu)
  2483. crtw32\misc\ia64\memcpys.s, memsets.s
  2484. UTC_P7#1509 - memset and memcpy were truncting the size to 32-bits.
  2485. Propogate RLanser's fix from the \\lang5\v7.ia64sdk3!crt SLM tree.
  2486. crtw32\stdcpp64\xdnorm.c, xfdnorm.c, xfvalues.c, xlvalues.c, xvalues.c
  2487. Work around new warning C4554 for code like "1 << _OFF + 1". Added parens
  2488. to give "1 << (_OFF + 1)". The old code was fine, just needed to shut up
  2489. the warning.
  2490. crtw32\misc\sbheap.c
  2491. Fix memset typo reported by X-Box. Count and value args were reversed.
  2492. Only in V5 SBH code, so not a big deal.
  2493. -----------------------------------------------------------------
  2494. Fri 21-Apr-00 (PhilipLu)
  2495. crtw32\eh\rtti.cpp
  2496. crtw32\h\rtti.h
  2497. Disable new warning C4297 about a throw in an extern "C" function by
  2498. adding explicit exception specification to compiler helpers for
  2499. dynamic_cast and RTTI.
  2500. -----------------------------------------------------------------
  2501. Wed 19-Apr-00 (GautamB)
  2502. crtw32\eh\frame.cpp
  2503. VS7#96508 96370 96341 93684 89697 Bug fixes.
  2504. -----------------------------------------------------------------
  2505. Tue 18-Apr-00 (GautamB)
  2506. crtw32\eh\frame.cpp
  2507. Minor Bug fixes.
  2508. -----------------------------------------------------------------
  2509. Thu 14-Apr-00 (GautamB)
  2510. crtw32\stdcpp\xdnorm.c, xfdnorm.c, xvalues.c, xfvalues.c, xlvalues.c
  2511. Fixed warning no. C4554 about the precedence of - and << operator.
  2512. -----------------------------------------------------------------
  2513. Thu 06-Apr-00 (GautamB)
  2514. crtw32\eh\frame.cpp
  2515. Add more functions for C++ eh support in com+
  2516. -----------------------------------------------------------------
  2517. Wed 05-Apr-00 (PhilipLu)
  2518. makefile
  2519. Buildfix for msvcp* C++ DLL. Stdhndlr.obj wasn't being included in the
  2520. DLL.
  2521. -----------------------------------------------------------------
  2522. Wed 05-Apr-00 (PhilipLu)
  2523. crtw32\eh\ia64\trnsctrl.cpp
  2524. New version of macro GetLanguageSpecificData copied from ntia64.h, supplied
  2525. by Steve Hanson.
  2526. -----------------------------------------------------------------
  2527. Wed 05-Apr-00 (PhilipLu)
  2528. crtw32\misc\i386\sehprolg.asm [NEW]
  2529. crtw32\misc\lsources
  2530. crtw32\misc\dll\sources
  2531. crtw32\misc\dlllib\sources
  2532. crtw32\misc\mt\sources
  2533. crtw32\misc\nt\sources
  2534. crtw32\misc\psx\sources
  2535. crtw32\misc\st\sources
  2536. srcrel\makefile, objects.mkf, pd-b
  2537. makefile, makefile.inc
  2538. Add __SEH_prolog compiler helper for /O1 SEH support.
  2539. -----------------------------------------------------------------
  2540. Tue 28-Mar-00 (GautamB)
  2541. crtw32\eh\frame.cpp
  2542. VS7#88408. HT_DISPCATCH is used to detect no object (catch by type) for
  2543. native, but doesn't work for COM+ - check for a null in the catch object.
  2544. -----------------------------------------------------------------
  2545. Mon 27-Mar-00 (PhilipLu)
  2546. makefile, makefile.inc
  2547. libw32\msvcrt.src, syscrt.src
  2548. srcrel\makefile, mkclnmkf.c
  2549. Enable 64-bit VC CRT build by setting SYS_BLDCRT=0 and LLP64=1 during
  2550. build. Will build CRT DLLs with the VC7.0 names instead of the old
  2551. system names.
  2552. crtw32\stdcpp\strstrea.cpp
  2553. crtw32\stdhpp\istream, strstream, xiosbase
  2554. libw32\include\istream, strstream, xiosbase
  2555. Bugfixes to enable building VC7.0 C++ Standard Library for Win64.
  2556. crtw32\stdhpp\fstream, sstream, streambuf
  2557. libw32\include\fstream, sstream, streambuf
  2558. Temporary casts to enable building VC7.0 C++ Standard Library for Win64.
  2559. Looks like some C++ Standard methods assume an int can be used for
  2560. stream offsets, others use "streamsize" which we currently set to signed
  2561. __int64 on Win64. Until those can be reconciled, add casts to silence
  2562. warnings. Code currently can experience problems with file sizes > 2 GB.
  2563. -----------------------------------------------------------------
  2564. Mon 27-Mar-00 (PhilipLu)
  2565. crtw32\eh\ehvecctr.cpp, ehveccvb.cpp, ehvecdtr.cpp, frame.cpp, rtti.cpp,
  2566. throw.cpp
  2567. crtw32\eh\ia64\handlers.s, trnsctrl.cpp
  2568. crtw32\misc\ia64\jmpuwind.s
  2569. makefile.sub, ntia64bld.cmd
  2570. langapi\include\ehdata.h, rttidata.h
  2571. Remove CC_P7_SOFT25 references from IA64 build, and make it the default.
  2572. -----------------------------------------------------------------
  2573. Tue 21-Mar-00 (GautamB)
  2574. crtw32\misc\dbgheap.c
  2575. crtw32\heap\align.c
  2576. ReOrganised _aligned_offset routines. Fixed vs7#87724. Made
  2577. _aligned_malloc and _aligned_realloc as one liner that would return the
  2578. value from _aligned_offset routines with offset = 0.
  2579. -----------------------------------------------------------------
  2580. Fri 17-Mar-00 (PhilipLu)
  2581. crtw32\time\strftime.c
  2582. VS7#9374 std::time_put::put failed because time formatting for _Strftime
  2583. wasn't initializing the final element ww_timefmt. Fix from PJP (actually,
  2584. it's been there since mid-'98 in a file I didn't understand should be
  2585. merged into the main CRT tree).
  2586. -----------------------------------------------------------------
  2587. Thu 16-Mar-00 (GautamB)
  2588. crtw32\misc\dbgheap.c
  2589. crtw32\heap\align.c
  2590. VS7#86467 Offset >= size doesn't make any sense. If offset is >=, then
  2591. 1) assert for debug version, 2) return EINVAL error.
  2592. -----------------------------------------------------------------
  2593. Thu 16-Mar-00 (GautamB)
  2594. crtw32\misc\dbgheap.c
  2595. crtw32\heap\align.c
  2596. VS7#87084, 86467. Aligned routines were using 1 extra byte. (fixed). Also
  2597. checked to -ve values of offset.
  2598. -----------------------------------------------------------------
  2599. Thu 16-Mar-00 (GautamB)
  2600. crtw32\convert\toupper.c, tolower.c
  2601. VS7#9616 The performance enhancement changes were only visible for
  2602. _tolower(). __tolower_mt() is also used at a lot of places. Modified code
  2603. such that the performance changes are visible for both of them.
  2604. -----------------------------------------------------------------
  2605. Thu 16-Mar-00 (GautamB)
  2606. crtw32\lowio\putwch.c
  2607. VS7#58257 _putwch was using GetConsoleCP() for conversion from Unicode to
  2608. MBCS. Changed it to more suitable GetConsoleOutputCP().
  2609. -----------------------------------------------------------------
  2610. Wed 15-Mar-00 (GautamB)
  2611. crtw32\stdio\sprintf.c swprintf.c vsprint.c vswprint.c
  2612. crtw32\h\stdio.h wchar.h tchar.h
  2613. libw32\include\stdio.h wchar.h tchar.h
  2614. libw32\inc64\stdio.h wchar.h tchar.h
  2615. Added a set of new functions which can be used to count the number of
  2616. characters needed for printing formatted data using printf or any such
  2617. function. (_scprintf(), _scwprintf(), _vscprintf(), _vscwprintf())
  2618. -----------------------------------------------------------------
  2619. Fri 10-Mar-00 (GautamB)
  2620. crtw32\convert\tolower.c, toupper.c
  2621. crtw32\string\stricmp.c, stnicmp.c, memicmp.c
  2622. Moved the performance enhancement stuff from stricmp routines to
  2623. conversion routines.
  2624. -----------------------------------------------------------------
  2625. Fri 10-Mar-00 (GautamB)
  2626. crtw32\stdio\output.c, sprintf.c vsprintf.c
  2627. VS7#83962 - Modified sprintf and vsprintf so as to return length of the
  2628. formatted even on passing NULL pointer for destination string
  2629. -----------------------------------------------------------------
  2630. Thu 09-Mar-00 (PhilipLu)
  2631. crtw32\h\i386\xmmintrin.h
  2632. libw32\include\xmmintrin.h
  2633. VSPP#78 - xmmintrin.h should not declare _mm_malloc and _mm_free when
  2634. using VC. It should include malloc.h to get them, instead.
  2635. srcrel\pd-b
  2636. Copy over the Intel- and AMD-supplied headers from libw32\include to the
  2637. build tree.
  2638. -----------------------------------------------------------------
  2639. Wed 08-Mar-00 (PhilipLu)
  2640. crtw32\h\i386\emmintrin.h, fvec.h, ivec.h, mmintrin.h, xmmintrin.h
  2641. libw32\include\emmintrin.h, fvec.h, ivec.h, mmintrin.h, xmmintrin.h
  2642. Latest versions of Intel-supplied FP intrinsics headers.
  2643. -----------------------------------------------------------------
  2644. Tue 07-Mar-00 (PhilipLu)
  2645. fpw32\tran\ia64\huge.s
  2646. UTC_P7#1386 - _HUGE was 4-byte aligned, should be 8.
  2647. -----------------------------------------------------------------
  2648. Mon 06-Mar-00 (PhilipLu)
  2649. crtw32\h\internal.h
  2650. crtw32\startup\crt0.c, crt0dat.c, mlock.c
  2651. VS7#83663 - Call __crtExitProcess instead of ExitProcess. __crtExitProcess
  2652. checks to see if this is a COM+ app by doing a GetModuleHandle on
  2653. mscoree.dll, then looking for the CorExitProcess entrypoint, and calling
  2654. that instead of ExitProcess if it's found. This allows COM+ to clean up
  2655. cleanly when using the CRT, so the FinalizerThread has a chance to do its
  2656. exit processing.
  2657. -----------------------------------------------------------------
  2658. Mon 06-Mar-00 (PhilipLu)
  2659. Propogate fixes/changes made to the VC6 ProcessorPack CRT:
  2660. crtw32\eh\i386\trnsctrl.cpp
  2661. Warning C4851 is gone for VC6 and VC7, now just C4731.
  2662. crtw32\h\fpieee.h
  2663. fpw32\tran\lsources
  2664. fpw32\tran\i386\debug.c [NEW], debug.h [NEW], filter.h, filter_simd.c,
  2665. xmmi2_fp_emul.c [NEW], xmmi_fp_emul.c, xmmi_types.h
  2666. libw32\include\fpieee.h
  2667. libw32\inc64\fpieee.h
  2668. srcrel\pd-b
  2669. New WNI support and KNI bugfixes for _fpieee_flt.
  2670. crtw32\h\i386\dvec.h [NEW], emmintrin.h [NEW], fvec.h [NEW], ivec.h [NEW],
  2671. mm3dnow.h [NEW], mmintrin.h [NEW], xmmintrin.h [NEW]
  2672. libw32\include\dvec.h [NEW], emmintrin.h [NEW], fvec.h [NEW], ivec.h [NEW],
  2673. mm3dnow.h [NEW], mmintrin.h [NEW], xmmintrin.h [NEW]
  2674. srcrel\makefile, pd-b
  2675. New headers of vendor-supplied FP intrinsics. These do not get used by
  2676. the CRT build; they are simply there to be dropped to users.
  2677. crtw32\tools\win32\relinc.cmd
  2678. Handle new vendor-supplied FP intrinsic headers for 32-bit includes.
  2679. -----------------------------------------------------------------
  2680. Fri 03-Mar-00 (PhilipLu)
  2681. crtw32\misc\ia64\chandler.c
  2682. Fix for SEH support from Intel.
  2683. -----------------------------------------------------------------
  2684. Fri 03-Mar-00 (GautamB)
  2685. crtw32\h\trnsctrl.h
  2686. crtw32\eh\frame.cpp
  2687. libw32\msvcrt.src, syscrt.src, syscrt64.src
  2688. Exported __DestructExceptionObject from dll and made slight changes to
  2689. definition of __CxxExceptionFilter.
  2690. -----------------------------------------------------------------
  2691. Thu 02-Mar-00 (PhilipLu)
  2692. crtw32\eh\i386\trnsctrl.cpp
  2693. VS7#83643 - _UnwindNestedFrames must preserve callee-save regs EBX, ESI,
  2694. and EDI, since RtlUnwind will trash them all.
  2695. -----------------------------------------------------------------
  2696. Mon 28-Feb-00 (PhilipLu)
  2697. makefile, makefile.inc
  2698. crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop2.cpp, delop2.cpp,
  2699. fiopen.cpp, instances.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
  2700. locale.cpp, locale0.cpp, lsources, newaop.cpp, newaop2.cpp, newop2.cpp,
  2701. nomemory.cpp, nothrow.cpp [NEW], raisehan.cpp, sources.nt, stdhndlr.cpp,
  2702. stdthrow.cpp, string.cpp, strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp,
  2703. wclog.cpp, wcout.cpp, wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp,
  2704. xcosh.c, xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c,
  2705. xfdscale.c, xfdtest.c, xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldnorm.c,
  2706. xldscale.c, xldtest.c, xlexp.c, xlocale.cpp, xlpoly.c, xlsinh.c,
  2707. xlvalues.c, xmath.h, xpoly.c, xsinh.c, xstod.c, xvalues.c
  2708. crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  2709. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  2710. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
  2711. fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
  2712. iso646.h, istream, iterator, limits, list, locale, map, memory, new,
  2713. numeric, ostream, queue, set, sstream, stack, stdexcept, streambuf, string,
  2714. strstream, utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale,
  2715. xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmemory,
  2716. xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  2717. doc\copysrc.bat
  2718. libw32\msvcprt.src
  2719. libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  2720. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  2721. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
  2722. fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
  2723. iso646.h, istream, iterator, limits, list, locale, map, memory, new,
  2724. numeric, ostream, queue, set, sstream, stack, stdexcept, streambuf, string,
  2725. strstream, utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale,
  2726. xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmath.h,
  2727. xmemory, xstddef, xtree, xutility, ymath.h, yvals.h
  2728. srcrel\pd-b
  2729. Integrate the 000202 drop of the C++ Library from Dinkumware. Main change
  2730. is to reformat all the headers and use longer identifiers. Header xstring
  2731. not yet integrated, because basic_string was rewritten too much to maintain
  2732. compatibility between old libs and new MSVCP*.DLL. Other new code which
  2733. cannot be turned on yet under #if _CRT_NEW_STL_DROP.
  2734. Removes code which was previously under _RETAIN_OLD_CRT_CODE, and puts
  2735. old code which must be maintained until next LKG toolset update under
  2736. _RETAIN_OLD_CRT_CODE.
  2737. makefile.sub
  2738. Enable /Wp64 in the x86 build.
  2739. -----------------------------------------------------------------
  2740. Fri 25-Feb-00 (PhilipLu)
  2741. crtw32\h\crtdbg.h
  2742. libw32\include\crtdbg.h
  2743. libw32\inc64\crtdbg.h
  2744. VS7#79719 - The _CrtDbgBreak macro should use the __debugbreak intrinsic
  2745. when _MSC_VER >= 1300.
  2746. crtw32\h\setjmp.h
  2747. libw32\include\setjmp.h
  2748. libw32\inc64\setjmp.h
  2749. VS7#81945 - setjmp.h is now allowed with /com+.
  2750. -----------------------------------------------------------------
  2751. Thu 24-Feb-00 (PhilipLu)
  2752. doc\copysrc.bat
  2753. Add 'platdst <path>' option to copy platform-specific files to different
  2754. directory from main files. Wanted by the build lab for copying to
  2755. devtools\common and devtools\%PLATFORM%.
  2756. -----------------------------------------------------------------
  2757. Thu 24-Feb-00 (GautamB)
  2758. crtw32\misc\setenv.c
  2759. VS7#66530 _wputenv didn't use to work on Win9x as there was call in it
  2760. SetEnvironmentVariable() which pointed to SetEnvironVariableW() and this
  2761. API is not on Win9x so in effect environment didn't get updated. Fixed
  2762. this.
  2763. -----------------------------------------------------------------
  2764. Thu 24-Feb-00 (GautamB)
  2765. crtw32\h\wchar.h
  2766. VS7#80515 Checked all othe cases where order of including wchar.h with
  2767. other header file does not make any difference. Only stdio.h had this
  2768. problem. which is fixed.
  2769. -----------------------------------------------------------------
  2770. Tue 16-Feb-00 (GautamB)
  2771. crtw32\dllstuff\crtexe.c
  2772. VS7#79603 Left out files for earlier checkin.
  2773. -----------------------------------------------------------------
  2774. Tue 15-Feb-00 (PhilipLu)
  2775. cleanbld.cmd
  2776. srcrel\clnsrcrel.bat, external.mkf, makefile
  2777. The cleanbld.cmd build no longer creates files in %CRT_SRC%\srcrel.
  2778. Instead, any srcrel-related files that get built are created in
  2779. %CRT_BUILDDIR%\srcrel\%PLATFORM% instead. That allows Win32 and Win64
  2780. builds to more easily share the same enlistment.
  2781. -----------------------------------------------------------------
  2782. Tue 15-Feb-00 (GautamB)
  2783. crtw32\lowio\lowio.mkf, lsources, putwch.c (New)
  2784. crtw32\stdio\lsources, makdfile.c, output.c, cwprintf.c (New)
  2785. crtw32\h\wchar.h, conio.h, tchar.h
  2786. srcrel\pd-b
  2787. makefile
  2788. makefile.inc
  2789. VS7#58257 Added unicode versions for cprintf, _putch and _cputs.
  2790. (_cwprintf, _putwch, _cputws respectively).
  2791. -----------------------------------------------------------------
  2792. Tue 15-Feb-00 (GautamB)
  2793. crtw32\convert\convert.mkf, lsources, sources.nt, strtoq.c, wcstoq.c(New)
  2794. crtw32\h\wchar.h, stdlib.h, tchar.h
  2795. VS7#5427 Added strtoi64, strtoui64, wcstoi64 and wcstoui64, which converts
  2796. string to __int64.
  2797. -----------------------------------------------------------------
  2798. Tue 15-Feb-00 (GautamB)
  2799. crtw32\startup\crt0.c
  2800. VS7#79603 Changed GetModuleHandle() in check_complus_app() to
  2801. GetModuleHandleA(). GetModuleHandle() maps to GetModuleHandleW() for
  2802. UNICODE main (wmain) which breaks the app on Win9X.
  2803. -----------------------------------------------------------------
  2804. Tue 15-Feb-00 (GautamB)
  2805. crtw32\eh\frame.cpp
  2806. VS7#79598 Added a function CxxExceptionFilter for use in COM+ EH. This
  2807. function can be used to turn "try{...}catch(foo a){...}" to
  2808. "try{...} except(_CxxExceptionFilter(foo.typeinfo, _exception_info(), &a)){...}".
  2809. -----------------------------------------------------------------
  2810. Tue 15-Feb-00 (PhilipLu)
  2811. crtw32\eh\frame.cpp
  2812. VS7#79460 std::uncaught_exception() support broke unwinding. We were
  2813. putting a __try/__finally around the call to _UnwindNestedFrames, which
  2814. calls RtlUnwind, but _UnwindNestedFrames will only work if the top-most
  2815. exception frame is from the exception dispatcher, not anything of ours.
  2816. -----------------------------------------------------------------
  2817. Mon 14-Feb-00 (PhilipLu)
  2818. crtw32\eh\i386\trnsctrl.cpp
  2819. Warning C4851, disabled in Jan 31 checkin, is actually C4731 in the VC7
  2820. backend.
  2821. -----------------------------------------------------------------
  2822. Fri 11-Feb-00 (GautamB)
  2823. crtw32\dllstuff\crtlib.c
  2824. crtw32\startup\dllcrt0.c, thread.c, threadex.c
  2825. VS7#47322 There were two problem in the way threads were created. 1) if we
  2826. called some locale dependent function, it would result in leak of ptd
  2827. allocated during the call to the function. Second we would like to know if
  2828. the thread is created ASAP, even if theread is created by some call to API
  2829. so that later on when we could allocate memory for ptd failing in which
  2830. results in termination of thread creation process. Earlier failing in
  2831. alloting the memory for ptd, once the thread is created would terminate
  2832. the whole process.
  2833. -----------------------------------------------------------------
  2834. Thu 03-Feb-00 (PhilipLu)
  2835. libw32\syscrt.rc, sysirt.rc, sysprt.rc
  2836. srcrel\external.mkf, objects.mkf
  2837. makefile
  2838. Tweak the system CRT build. Version number is 7.0, not 6.1. The implibs
  2839. are created as msvcrt.lib etc., not syscrt.lib. And the C++ Library DLL is
  2840. now named syspr70.dll, not msvcp??.dll, so we can still have a versioned
  2841. C++ DLL name, but have it for the system only.
  2842. libw32\msvcrt.rc
  2843. The internal filename in the version resource should be MSVCR70.DLL,
  2844. not MSVCRT70.dll.
  2845. -----------------------------------------------------------------
  2846. Tue 01-Feb-00 (PhilipLu)
  2847. makefile.inc
  2848. VS7#76534 Win64 static CRTs are not being built with delop2.cpp that was
  2849. added for the Win64 CRT DLL build back in early Dec '99.
  2850. -----------------------------------------------------------------
  2851. Mon 31-Jan-00 (PhilipLu)
  2852. crtw32\eh\i386\trnsctrl.cpp
  2853. Disable new warning C4851 about EBP being modified by inline-asm.
  2854. srcrel\external.mkf, makefile
  2855. Checkin for the build lab doing 64-bit builds. Clear _CL_ when we need
  2856. to use the 32-bit compiler to build an .EXE, since the build lab uses
  2857. _CL_ to point to the 64-bit compiler passes while self-building.
  2858. -----------------------------------------------------------------
  2859. Sun 30-Jan-00 (PhilipLu)
  2860. srcrel\makefile
  2861. Clean up IA64 build so x86 components aren't copied over to crtbld\crt\src.
  2862. doc\copysrc.bat
  2863. Copy proper files for IA64 build, and don't copy CRT rebuild components
  2864. when doing a SYSCRT copy. Also, copy files to the destination root, not
  2865. dest-root\crt\src.
  2866. -----------------------------------------------------------------
  2867. Fri 28-Jan-00 (GautamB)
  2868. crtw32/string/stricmp.c, memicmp.c, strnicmp.c
  2869. crtw32/h/setlocale.h, mtdll.h
  2870. crtw32/misc/setlocale.c, nlsdata2.c
  2871. VS7#9616 Enhanced the performance for locale based case insensitive
  2872. comparision. What we do here is check if the current CTYPE locale has
  2873. first 127 characters same as CLOCALE. If yes the we can convert the UPPER
  2874. case character less then 127 to LOWER without calling time consuming
  2875. tolower.
  2876. -----------------------------------------------------------------
  2877. Fri 28-Jan-00 (GautamB)
  2878. crtw32/stdio/popen.c
  2879. VS7#16833 Changed the way popen used to work. Also made if threadsafe.
  2880. What popen used to do was first duplicate the current stdio handle that
  2881. we were supposed to trap, then close the local copy and set the one end
  2882. of the pipe as that handle, then spawn the new process and then again
  2883. setting up and new handle for stdio. Now we just pass the existing pipe
  2884. to new process as the handle we wish to trap.
  2885. -----------------------------------------------------------------
  2886. Fri 28-Jan-00 (GautamB)
  2887. crtw32/align.c
  2888. Performance enhancement of _aligned_realloc and _aligned_offset_realloc.
  2889. -----------------------------------------------------------------
  2890. Thu 27-Jan-00 (PhilipLu)
  2891. makefile
  2892. VS7#5437 - The user rebuild scenario wasn't creating PDBs for the DLL
  2893. CRTs. Actually, it was creating them, in the root directory!
  2894. makefile
  2895. VS7#14930 - Uses of the V6TOOLS macro need to be quote-protected in case
  2896. V6TOOLS is a path with spaces in it.
  2897. libw32\msvcrt.src
  2898. srcrel\external.mkf, makefile
  2899. makefile, makefile.inc, makefile.sub
  2900. VS7#16831 - The user rebuild scenario was pretty thoroughly broken. This
  2901. repairs it and cleans it up significantly, removing references to things
  2902. like BLD_SYSCRT from the cleansed makefiles.
  2903. doc\copysrc.bat
  2904. Major cleanup on this file, which can now be used to copy the result of
  2905. a CRT build using cleanbld.cmd into a separate tree to create the image
  2906. that would be installed as %VC-ROOT%\crt\src.
  2907. -----------------------------------------------------------------
  2908. Tue 25-Jan-00 (PhilipLu)
  2909. crtw32\h\sect_attribs.h
  2910. crtw32\misc\lsources, seccinit.c [NEW], seccook.c [NEW], secfail.c [NEW],
  2911. seclocf.c [NEW]
  2912. doc\copysrc.bat
  2913. libw32\msvcrt.src, syscrt.src
  2914. srcrel\pd-b
  2915. makefile, makefile.inc
  2916. Implement the CRT support for compiler switch /GS. This is used to protect
  2917. against overwriting a local buffer variable and wiping out a return
  2918. address, which can allow a hacker to hijack a program's execution.
  2919. crtw32\startup\crt0msg.c
  2920. Fix a buffer overwrite problem (!) I happened to notice while doing the
  2921. /GS support. _NMSG_WRITE could overflow a local buffer when creating the
  2922. text to display in a message box.
  2923. -----------------------------------------------------------------
  2924. Mon 24-Jan-00 (GautamB)
  2925. crtw32\heap\align.c
  2926. Modified the _aligned_realloc reoutines to save the content of memblock
  2927. that is reallocated as much as possible.
  2928. -----------------------------------------------------------------
  2929. Mon 24-Jan-00 (PhilipLu)
  2930. crtw32\h\wchar.h
  2931. libw32\include\wchar.h
  2932. libw32\inc64\wchar.h
  2933. VS7#74640 - _wexec* and _wspawn* prototypes in wchar.h should return
  2934. intptr_t, not int, for compatibility with process.h and definitions.
  2935. -----------------------------------------------------------------
  2936. Thu 20-Jan-00 (PhilipLu)
  2937. crtw32\h\stdarg.h, varargs.h
  2938. libw32\include\stdarg.h, varargs.h
  2939. libw32\inc64\stdarg.h, varargs.h
  2940. srcrel\msvc40.if
  2941. VS7#73359 - Remove __epcg__ references. This was an old Intel define that
  2942. they no longer need.
  2943. -----------------------------------------------------------------
  2944. Mon 17-Jan-00 (v-vadimp)
  2945. crtw32\eh\ia64\handlers.s
  2946. crtw32\eh\ia64\trnsctrl.cpp
  2947. Fixed 2.5 IA64 software convention deficiencies in the previous checkins
  2948. -----------------------------------------------------------------
  2949. Fri 14-Jan-00 (v-vadimp)
  2950. crtw32\eh\frame.cpp
  2951. crtw32\eh\ia64\handlers.s
  2952. crtw32\eh\ia64\trnsctrl.cpp
  2953. crtw32\misc\ia64\jmpuwind.s
  2954. NLG support for the debugger, some macro defs to make code backward
  2955. compatible with 2.4, __NLG_Destination & __NLG_Dispatch got an extra "_"
  2956. for IA64
  2957. -----------------------------------------------------------------
  2958. Wed 12-Jan-00 (gautamb)
  2959. crtw32\h\malloc.h
  2960. vs7#71409 fixed the macro _mm_free which was supposed to have one parameter.
  2961. -----------------------------------------------------------------
  2962. Mon 10-Jan-00 (PhilipLu)
  2963. crtw32\exec\dospawn.c
  2964. VS7#71206 - _spawn* called with _P_WAIT needs to sign-extend the exit
  2965. code into an intptr_t for WIN64.
  2966. -----------------------------------------------------------------
  2967. Thu 06-Jan-00 (rlanser)
  2968. crtw32\eh\frame.cpp
  2969. crtw32\eh\throw.cpp
  2970. crtw32\eh\ia64\trnsctrl.cpp
  2971. crtw32\h\mtdll.h
  2972. crtw32\h\trnsctrl.h
  2973. IA64: SOFT25 Image Relative bug fixes.
  2974. -----------------------------------------------------------------
  2975. Wed 05-Jan-00 (Gautamb)
  2976. crtw32\h\dbgint.h, crtdbg.h
  2977. crtw32\misc\dbgheap.c
  2978. crtw32\heap\align.c
  2979. libw32\include\crtdbg.h
  2980. libw32\inc64\crtdbg.h
  2981. Added debug support for aligned routines.
  2982. -----------------------------------------------------------------
  2983. Tue 04-Jan-00 (Gautamb)
  2984. libw32\tools\source\ifstrip\eval.c ifstrip.c
  2985. libw32\tools\source\striphdr\striphdr.c
  2986. Added support for internal CRT build.
  2987. -----------------------------------------------------------------
  2988. Wed 29-Dec-99 (Gautamb)
  2989. crtw32\heap\align.c
  2990. Fixed some serious bug in _aligned_offset_**() routines.
  2991. -----------------------------------------------------------------
  2992. Fri 17-Dec-99 (PhilipLu)
  2993. makefile
  2994. VS7#65276 - Create alias records for data symbols and function descriptors,
  2995. not just function entrypoints, e.g. create alias timezone -> _timezone,
  2996. not just .timezone -> ._timezone.
  2997. -----------------------------------------------------------------
  2998. Thu 16-Dec-99 (GautamB)
  2999. modified
  3000. crtw32\h\limits.h
  3001. crtw32\stdio\fputwc.c, ungetwc.c
  3002. VS7#5414 - Updated the value of MB_LEN_MAX to 5 and modified functions
  3003. fputwc() and ungetwc() accordingly.
  3004. -----------------------------------------------------------------
  3005. Thu 16-Dec-99 (GautamB)
  3006. modified
  3007. all files
  3008. VS7#30929 - Modified the Copyright years for Microsoft files to -2000.
  3009. -----------------------------------------------------------------
  3010. Thu 16-Dec-99 (GautamB)
  3011. modified
  3012. crtw32\malloc.h
  3013. VS7#49169 - Modified HEAP_MAXREQ to 0xFFFFFFFFFFFFFFE0 for win64
  3014. -----------------------------------------------------------------
  3015. Thu 16-Dec-99 (PhilipLu)
  3016. makefile
  3017. VS7#45623 - Build of tcmapdll.lib for IA64 was incorrect, so alias records
  3018. for _t* names to the equivalent _mb* names weren't working.
  3019. Also, added a new build flag. Set BLD_TESTCRT=1, then the build will
  3020. create CRT DLLs testcrt[d], testprt[d] and testirt[d] instead of the
  3021. normal names. This allows building CRTs which can be safely tested without
  3022. interfering with system protected files or the existing CRTs.
  3023. -----------------------------------------------------------------
  3024. Fri 10-Dec-99 (GautamB)
  3025. modified
  3026. makefile.inc
  3027. libw32\msvcrt.src, syscrt.src, syscrt64.src
  3028. srcrel\pd-b
  3029. crtw32\h\malloc.h
  3030. crtw32\heap\heap.mkf, lsources
  3031. crtw32\misc\a_cmp.c, a_loc.c, a_map.c, a_str.c, w_cmp.c, w_loc.c, w_map.c,
  3032. w_str.c
  3033. crtw32\string\strlwr.c, strupr.c, wcslwr.c, wcsupr.c, wcsxfrm.c
  3034. crtw32\time\wcsftime.c
  3035. crtw32\lowio\getch.c
  3036. Add file
  3037. crtw32\heap\resetstk.c
  3038. VS7#62239 Secured the use of _alloca in case of stackoverflow. Also
  3039. introduced a new function (_resetstkoflw() )which recovers for
  3040. stackoverflow.
  3041. -----------------------------------------------------------------
  3042. Fri 10-Dec-99 (GautamB)
  3043. modified
  3044. makefile.inc
  3045. libw32\msvcrt.src, syscrt.src, syscrt64.src
  3046. srcrel\pd-b
  3047. crtw32\h\malloc.h
  3048. crtw32\heap\heap.mkf, lsources
  3049. crtw32\heap\mt\lsources
  3050. crtw32\heap\dll\lsources
  3051. libw32\include\malloc.h
  3052. libw32\inc64\malloc.h
  3053. addfile
  3054. crtw32\heap\align.c
  3055. Added _aligned_malloc, _aligned_realloc, _aligned_offset_malloc,
  3056. _aligned_offset_realloc and _aligned_free functions.
  3057. -----------------------------------------------------------------
  3058. Fri 10-Dec-99 (GautamB)
  3059. modified
  3060. crtw32\h\mtdll.h
  3061. crtw32\startup\mlock.h
  3062. langapi\undname\undname.cxx
  3063. VS7#5674 Added a new lock for critical section in unDName()
  3064. -----------------------------------------------------------------
  3065. Fri 10-Dec-99 (GautamB)
  3066. modified
  3067. crtw32\h\ctime.h
  3068. crtw32\time\dtoxtime.c
  3069. VS7#21083 Modified localtotime for taking into account leap years upto
  3070. 2999. Also changed _MAX_YEAR for Win64 to 1099
  3071. -----------------------------------------------------------------
  3072. Fri 10-Dec-99 (GautamB)
  3073. modified
  3074. crtw32\startup\i386\crtstk.asm
  3075. VS7#27118 Converted _chkstk and _alloca_probe to procedure
  3076. -----------------------------------------------------------------
  3077. Fri 10-Dec-99 (GautamB)
  3078. modified
  3079. crtw32\h\eh.h, mtdll.h
  3080. crtw32\eh\frame.cpp
  3081. crtw32\stdcpp\UNCAUGHT.cpp
  3082. VS#5340 Added a new function (our version of uncaught_exception) which is
  3083. then used by uncaught_exception for doing it's work. Also
  3084. introduced new flag in struct tiddata for keeping a look on
  3085. exception.
  3086. -----------------------------------------------------------------
  3087. Fri 10-Dec-99 (GautamB)
  3088. modified
  3089. crtw32\h\wchar.h
  3090. VS#5709 Modified wmemcpy and wmemmove for faster perfomance.
  3091. -----------------------------------------------------------------
  3092. Sat 08-Dec-99 (rlanser)
  3093. crtw32\stdhpp64\new
  3094. libw32\inc64\new
  3095. Change "operator delete(void *, const std::nothrow_t&)" to _WIN64.
  3096. -----------------------------------------------------------------
  3097. Sat 04-Dec-99 (rlanser)
  3098. crtw32\stdcpp64\delop2.cpp, delop2_s.cpp, lsources, sources.nt
  3099. crtw32\stdhpp64\new
  3100. libw32\inc64\new
  3101. srcrel\pd-b
  3102. Add "operator delete(void *, const std::nothrow_t&)" to the
  3103. hacked NT headers etal (stdhpp64, stdcpp64, inc64).
  3104. -----------------------------------------------------------------
  3105. Fri 03-Dec-99 (PhilipLu)
  3106. crtw32\h\math.h
  3107. libw32\include\math.h
  3108. libw32\inc64\math.h
  3109. VS7#65291 - the headers do '#if _M_MRX000' in one place, and
  3110. '#if defined(_M_MRX000)' in another. That interferes with a new warning
  3111. the frontend wants to make available. Change to use defined(_M_MRX000)
  3112. everywhere.
  3113. srcrel\makefile
  3114. We should not be copying trnsctrl.h into the crt\src user rebuild dir,
  3115. since we don't ship source for the EH support and this header isn't used
  3116. for the user rebuild scenario. Looks like this header was being shipped
  3117. accidentally. Change the build cleansing procedure to stop copying this
  3118. file over for shipping.
  3119. crtw32\h\crtdbg.h, direct.h, heap.h, malloc.h, mbstring.h, memory.h, mtdll.h,
  3120. new.h, nlsint.h, process.h, search.h, stdarg.h, stddef.h, stdexcpt.h,
  3121. stdio.h, stdlib.h, string.h, varargs.h
  3122. crtw32\heap\sbheap.c
  3123. crtw32\lowio\write.c
  3124. srcrel\msvc40.if
  3125. The build cleansing procedure was issuing a bunch of warnings while running
  3126. the ifstrip tool. Get rid of them all.
  3127. -----------------------------------------------------------------
  3128. Thu 02-Dec-99 (PhilipLu)
  3129. libw32\msvcprt.src
  3130. VS7#66372 - The _RETAIN_OLD_CRT_CODE fix of Nov 14 was incomplete. All of
  3131. the exception class methods and vtables which are no longer dllimport must
  3132. be added as private exports in the .def file for msvcp*.dll so they will
  3133. not appear in the msvcprt*.lib import lib.
  3134. -----------------------------------------------------------------
  3135. Wed 01-Dec-99 (GautamB)
  3136. modified
  3137. crtw32\h\string.h
  3138. crtw32\misc\lsources, strerror.c, _strerr.c
  3139. add files
  3140. crtw32\misc\wcserror.c, _wcserr.c
  3141. VS#5706 Added wide char version for strerror() and _strerror()
  3142. -----------------------------------------------------------------
  3143. Wed 01-Dec-99 (rlanser)
  3144. crtw32\misc\ia64\chandler.c
  3145. [v-willc] Support for reordering blocks in a try scope.
  3146. -----------------------------------------------------------------
  3147. Wed 01-Dec-99 (PhilipLu)
  3148. makefile.sub
  3149. Enable CC_P7_SOFT25 when building for IA64.
  3150. -----------------------------------------------------------------
  3151. Wed 01-Dec-99 (GautamB)
  3152. crtw32\tchar.h
  3153. libw32\include\tchar.h
  3154. libw32\inc64\tchar.h
  3155. Add alias for _tpgmptr
  3156. -----------------------------------------------------------------
  3157. Tue 30-Nov-99 (PhilipLu)
  3158. crtw32\eh\i386\trnsctrl.cpp
  3159. crtw32\h\winheap.h
  3160. crtw32\heap\sbheap.c
  3161. crtw32\rtc\error.cpp, init.cpp, pdblkup.cpp
  3162. crtw32\startup\tlssup.c
  3163. crtw32\stdhpp\xlocale
  3164. crtw32\stdio\output.c
  3165. fpw32\tran\i386\filter.c, filter_simd.c
  3166. libw32\include\xlocale
  3167. Add casts, minor fixes, and #pragma warnings to compile cleanly on x86
  3168. with /Wp64.
  3169. crtw32\h\crtdbg.h
  3170. libw32\include\crtdbg.h
  3171. libw32\inc64\crtdbg.h
  3172. Forward declare _CrtMemBlockHeader to work around vs7#63059.
  3173. cleanbld.cmd, makefile, makefile.sub
  3174. Default to building release builds with debug info, and multiprocessor
  3175. compile for DLL. Get rid of makefile flags BLD_REL_DBINFO and _VCBUILD.
  3176. Add BLD_REL_NO_DBINFO to allow building release builds without debug info.
  3177. -----------------------------------------------------------------
  3178. Thu 18-Nov-99 (PhilipLu)
  3179. makefile, makefile.inc
  3180. crtw32\eh\lsources
  3181. crtw32\eh\dll\sources
  3182. crtw32\eh\i386\ehprolg2.c [NEW]
  3183. crtw32\eh\mt\sources
  3184. crtw32\eh\st\sources
  3185. crtw32\libw32\msvcrt.src, syscrt.src, syscrt64.src
  3186. srcrel\makefile, objects.mkf, pd-b
  3187. VS7#57098 - Add new compiler helper __EH_prolog2 as a static link component
  3188. whose source does not get shipped. Needed to handle stack frame creation
  3189. in a function compiled /Os with both a C++ EH frame and a stack that must
  3190. be aligned thanks to __declspec(align()) locals. Also changing the older
  3191. compiler helper __EH_prolog so it is always statically linked, instead of
  3192. being used from the CRT DLL.
  3193. -----------------------------------------------------------------
  3194. Wed 17-Nov-99 (GautamB)
  3195. crtw32\dostypes.h
  3196. Vs7#37766 Deleted this file as this file was not used anymore.
  3197. -----------------------------------------------------------------
  3198. Tue 16-Nov-99 (PhilipLu)
  3199. makefile, makefile.inc
  3200. crtw32\dllstuff\crtexe.c, lsources
  3201. crtw32\dllstuff\dlllib\sources
  3202. crtw32\startup\crt0.c, lsources
  3203. crtw32\startup\mt\sources
  3204. crtw32\startup\st\sources
  3205. doc\copysrc.bat
  3206. libw32\makefile
  3207. srcrel\msvc40.if, pd-b
  3208. [delfiled:]
  3209. crtw32\dllstuff\corexe.c, corexew.c, wcorexe.c, wcorexew.c
  3210. crtw32\startup\cor0.c, wcor0.c, wincor0.c, wwincor0.c
  3211. VS7#61850 (again) - The fix on 13-Nov won't work, because the linker must
  3212. choose an entrypoint before starting library searching, but may not know
  3213. if an app is COM+ until after it drags in a library object with metadata.
  3214. So back out the previous fix and implement a new one. On entry, search the
  3215. image header of the process EXE to see if the COM+ Descriptor entry in the
  3216. Image Directory is empty, and handle as a COM+ app if it not.
  3217. -----------------------------------------------------------------
  3218. Sun 14-Nov-99 (PhilipLu)
  3219. makefile
  3220. crtw32\stdcpp\instances.cpp
  3221. crtw32\stdhpp\exception, new, stdexcept, xlocinfo, xstring, yvals.h
  3222. crtw32\tools\win32\relinc.if
  3223. libw32\include\xlocinfo, yvals.h
  3224. Buildfix - msvcp70[d].dll must maintain all existing exports except at
  3225. major updates of the vcLKG toolset. Restore all the old exports which were
  3226. lost at the STL integration of 9-Nov-99. The functions corresponding to
  3227. these exports are reintroduced into the headers in stdhpp by placing them
  3228. under #if _RETAIN_OLD_CRT_CODE, which is only defined when compiling the
  3229. STL DLL. Also, this #if is cleansed from the headers by relinc.cmd, so
  3230. the released headers are unchanged and new code will not see any definition
  3231. of the old exports. Once we update vcLKG and VS is built with the new
  3232. headers, the old code under #if can be removed totally.
  3233. As part of this, removing private copy-ctor and assign-ops declarations
  3234. (without definitions) for _Locinfo and _Lockit, so the compiler generated
  3235. defaults again appear as exports. I originally added these definitions to
  3236. work around an integration problem which doesn't exist any longer.
  3237. crtw32\tools\win32\relinc.cmd, relinc64.cmd
  3238. Trivial cleanup - detabify and line up file.
  3239. -----------------------------------------------------------------
  3240. Sat 13-Nov-99 (PhilipLu)
  3241. makefile, makefile.inc
  3242. crtw32\dllstuff\corexe.c [NEW], corexew.c [NEW], crtexe.c, crtexew.c, lsources,
  3243. wcorexe.c [NEW], wcorexew.c [NEW], wcrtexe.c, wcrtexew.c
  3244. crtw32\dllstuff\dlllib\sources
  3245. crtw32\startup\ cor0.c [NEW], crt0.c, lsources, wcor0.c [NEW], wcrt0.c,
  3246. wincor0.c [NEW], wincrt0.c, wwincor0.c [NEW], wwincrt0.c
  3247. crtw32\startup\mt\sources
  3248. crtw32\startup\st\sources
  3249. doc\copysrc.bat
  3250. libw32\makefile
  3251. srcrel\pd-b
  3252. VS7#61850 - Apps using COM+ IJW, with a native CRT startup object linked to
  3253. a COM+ MSIL app, have to use a special COM+-aware version of the CRT
  3254. startup code. For now, all this code does differently is return back to
  3255. COM+ instead of calling exit(). Introduces 4 new entrypoints which the
  3256. linker knows about and uses when linking a COM+ app, with the basic name
  3257. being mainCorCRTStartup.
  3258. crtw32\h\internal.h, io.h, time.h, wchar.h
  3259. libw32\inc64\io.h, time.h, wchar.h
  3260. libw32\include\io.h, time.h, wchar.h
  3261. srcrel\msvc40.if
  3262. Wrap the definition of _time64_t under #ifndef _TIME64_T_DEFINED instead
  3263. of putting in under _TIME_T_DEFINED, so it's easier to mix and match VC6
  3264. and VC7 CRT headers.
  3265. -----------------------------------------------------------------
  3266. Fri 12-Nov-99 (GautamB)
  3267. crtw32\lowio\fstat64.c
  3268. crtw32\dos\stat64.c
  3269. VS7#57599 - Modified fstat64 and stat64 to take DST into account.
  3270. -----------------------------------------------------------------
  3271. Fri 12-Nov-99 (PhilipLu)
  3272. crtw32\misc\getqloc.c
  3273. Setlocale should first try to use the language string given before using
  3274. the substituted abbreviation from __rg_language[]. That's because there
  3275. are language names which map to multiple abbreviations. On NT5, language
  3276. 'Chinese' can be abbreviation CHS or CHT. Because of this, it's possible
  3277. to have setlocale(LC_ALL,setlocale(LC_ALL,NULL)) fail, even though setlocale
  3278. should always return a settings dump that is valid input to reset the
  3279. locale. If the substitution table is used first, then Chinese_Taiwan.950
  3280. will be searched for as CHS_Taiwan.950, but the LCID actually corresponds
  3281. to CHT_Taiwan.950. This happened because NT5 changed the language name
  3282. for Taiwan from 'Chinese(Taiwan)' to 'Chinese' (vs7#61130, ntbug#426382).
  3283. makefile, makefile.inc
  3284. crtw32\stdcpp\lsources, sources.nt
  3285. doc\copysrc.bat
  3286. doc\pjp\makefile, makefile.inc, pd-b
  3287. srcrel\pd-b
  3288. [delfiled:]
  3289. crtw32\stdcpp\delaop.cpp, delaop_s.cpp, delop.cpp, delop_s.cpp
  3290. VS7#5435 - C++ Library should not define its own one-arg versions of
  3291. operator delete/delete[] (the nothrow_t versions are OK). This was a
  3292. problem because the C++ Library version of delete called free, but in a
  3293. debug build, it should call _free_dbg in case we're not deleting a
  3294. _NORMAL_BLOCK. Rather than change the definitions, it makes more sense
  3295. just to get rid of them.
  3296. -----------------------------------------------------------------
  3297. Tue 09-Nov-99 (GautamB)
  3298. \crtw32\lowio\write.c
  3299. VS7#52023 - Fixed the bug by replacing lseek_lk by lseeki64_lk.
  3300. -----------------------------------------------------------------
  3301. Tue 09-Nov-99 (PhilipLu)
  3302. makefile, makefile.inc
  3303. \crtw32\eh\stdexcpt.cpp
  3304. \crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop.cpp,
  3305. delaop2.cpp [NEW], delaop2_s.cpp [NEW], delop.cpp, delop2.cpp [NEW],
  3306. delop2_s.cpp [NEW], fiopen.cpp, instances.cpp [NEW], iomanip.cpp, ios.cpp,
  3307. iosptrs.cpp, iostream.cpp, locale.cpp, locale0.cpp, lsources, newaop.cpp,
  3308. newaop2.cpp, newop2.cpp, nomemory.cpp, raisehan.cpp, sources.nt,
  3309. stdhndlr.cpp, stdthrow.cpp, string.cpp, strstrea.cpp, uncaught.cpp,
  3310. wcerr.cpp, wcin.cpp, wclog.cpp, wcout.cpp, wctrans.c, wctype.c,
  3311. wiostrea.cpp, wlocale.cpp, xcosh.c, xdnorm.c, xdscale.c, xdtest.c, xexp.c,
  3312. xfcosh.c, xfdnorm.c, xfdscale.c, xfdtest.c, xfexp.c, xfsinh.c, xfvalues.c,
  3313. xlcosh.c, xldnorm.c, xldscale.c, xldtest.c, xlexp.c, xlocale.cpp, xlpoly.c,
  3314. xlsinh.c, xlvalues.c, xmath.h, xpoly.c, xsinh.c, xstod.c, xvalues.c
  3315. \crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  3316. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  3317. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
  3318. fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
  3319. iso646.h, istream, iterator, limits, list, locale, map, memory, new,
  3320. numeric, ostream, queue, set, sstream, stack, stdexcept, streambuf, string,
  3321. strstream, utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale,
  3322. xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmemory,
  3323. xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  3324. \doc\copysrc.bat
  3325. \doc\pjp\makefile, makefile.inc, pd-b
  3326. \libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  3327. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  3328. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
  3329. fstream, functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream,
  3330. iso646.h, istream, iterator, limits, list, locale, map, memory, new,
  3331. numeric, ostream, queue, set, sstream, stack, stdexcept, streambuf, string,
  3332. strstream, utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale,
  3333. xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmath.h,
  3334. xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  3335. \srcrel\pd-b
  3336. [delfiled:]
  3337. crtw32\stdcpp\dlldef.cpp, limits.cpp
  3338. Integrate the 990718 drop of the C++ Library from Dinkumware.
  3339. -----------------------------------------------------------------
  3340. Tue 09-Nov-99 (GautamB)
  3341. crtw32\h\cmsgs.h
  3342. VS7#27275 - Fixed the message abort pops up.
  3343. -----------------------------------------------------------------
  3344. Tue 09-Nov-99 (PhilipLu)
  3345. crtw32\h\crtdbg.h
  3346. libw32\msvcrt.src, syscrt.src, syscrt64.src
  3347. libw32\include\crtdbg.h
  3348. libw32\inc64\crtdbg.h
  3349. VS7#16060 - Don't mark the debug operator new/new[] _CRTIMP in crtdbg.h,
  3350. and add them to the .def files so they still get exported. Makes it easier
  3351. for users to intercept these (something VSEE does).
  3352. -----------------------------------------------------------------
  3353. Mon 08-Nov-99 (PhilipLu)
  3354. crtw32\h\ctype.h, stdio.h, tchar.h, wchar.h
  3355. crtw32\stdcpp\wctrans.c
  3356. crtw32\stdhpp\wctype.h
  3357. crtw32\stdhpp64\wctype.h
  3358. libw32\include\ctype.h, stdio.h, tchar.h, wchar.h, wctype.h
  3359. libw32\inc64\ctype.h, stdio.h, tchar.h, wchar.h, wctype.h
  3360. Buildfix. New frontend enabled wchar_t as a native type, exposing bug in
  3361. definition of wctype_t. Was a wchar_t, but wctype_t is really an unsigned
  3362. short collection of bitflags.
  3363. fpw32\tran\i386\xmmi_fp_emul.c
  3364. KNI exception handler fixes from Intel.
  3365. -----------------------------------------------------------------
  3366. Fri 05-Nov-99 (PhilipLu)
  3367. crtw32\stdhpp64\xiosbase, xlocmon
  3368. libw32\inc64\xiosbase, xlocmon
  3369. Disable warning C4786 in a couple more files to fix IA64 build.
  3370. -----------------------------------------------------------------
  3371. Thu 04-Nov-99 (PhilipLu)
  3372. crtw32\h\string.h
  3373. libw32\include\string.h
  3374. libw32\inc64\string.h
  3375. Back out checkin for VS7#33641 - breaking too much existing code, need to
  3376. rethink if this will just be "won't fix". Leaving in the change I made to
  3377. wchar.h (moved the secondary definitions under the #ifndef _WSTRING_DEFINED)
  3378. so it should at least be safer to #include string.h and wchar.h together.
  3379. crtw32\h\crtdbg.h
  3380. libw32\include\crtdbg.h
  3381. libw32\inc64\crtdbg.h
  3382. Work around useless warning C4507. This warning is being removed, but it
  3383. needs to be ignored until we drop a compiler without it.
  3384. -----------------------------------------------------------------
  3385. Wed 03-Nov-99 (GautamB)
  3386. crtw32\stdio\output.c
  3387. VS7#5431 Deleted unnecessary #ifs for fixing the bug with L format
  3388. specifier used with wprintf.
  3389. -----------------------------------------------------------------
  3390. Wed 03-Nov-99 (PhilipLu)
  3391. crtw32\h\string.h, wchar.h
  3392. libw32\include\string.h, wchar.h
  3393. libw32\inc64\string.h, wchar.h
  3394. VS7#33641 - wcschr, wcsrchr, wcsstr, and wcspbrk must be defined in
  3395. string.h the same as in wchar.h, with two versions for C++.
  3396. crtw32\h\crtdbg.h, math.h
  3397. libw32\include\crtdbg.h, math.h
  3398. libw32\inc64\crtdbg.h, math.h
  3399. Place any C++ definitions within an extern "C++" block, so the header
  3400. can be safely included inside an extern "C" block. (Also for string.h
  3401. and wchar.h)
  3402. crtw32\h\internal.h, mbstring.h, stdio.h, wchar.h
  3403. libw32\include\mbstring.h, stdio.h, wchar.h
  3404. libw32\inc64\mbstring.h, stdio.h, wchar.h
  3405. Continuation of VS7#54572 - Add _M_CEE version of va_list definition to
  3406. all other files defining it, not just stdarg.h.
  3407. crtw32\h\cruntime.h
  3408. crtw32\tools\win32\relinc.sed
  3409. Get rid of unneeded _VA_LIST_T.
  3410. crtw32\startup\crt0.c, tidtable.c
  3411. crtw32\time\localtim.c
  3412. Checkins from RLanser. Fix some Win64 warnings in the _POSIX_ and
  3413. _NTSUBSET_ builds.
  3414. -----------------------------------------------------------------
  3415. Mon 01-Nov-99 (PhilipLu)
  3416. crtw32\eh\frame.cpp, hooks.cpp, throw.cpp, validate.cpp
  3417. crtw32\eh\i386\trnsctrl.cpp
  3418. crtw32\h\ehassert.h, mtdll.h, trnsctrl.h
  3419. VS7#5361 - A rethrow could lead to the thrown object being destroyed twice.
  3420. The C++ EH code would destroy a exception object on exit from a catch block
  3421. if the exit was not due to a rethrow, even if the exception object was from
  3422. a rethrow inside a catch we were nested in. The fix for this is x86-only,
  3423. since it introduces a FRAMEINFO linked list to track currently available
  3424. exception objects. All RISC platforms already have a FRAMEINFO list, but
  3425. use it in a different enough way that porting this fix requires more work.
  3426. In particular, I'm popping items from the FRAMEINFO list inside the
  3427. __finally handler in CallCatchBlock. All RISC platforms are instead doing
  3428. this in normal code in CatchIt, which I think is error-prone.
  3429. Also improved the /DENABLE_EHTRACE EH tracing dump using indenting to
  3430. indicate the depth on the callstack of the current function, and with more
  3431. data about what's actually being thrown/caught/destroyed/filtered/....
  3432. -----------------------------------------------------------------
  3433. Fri 29-Oct-99 (PhilipLu)
  3434. crtw32\h\math.h
  3435. libw32\include\math.h
  3436. libw32\inc64\math.h
  3437. VS7#22017 - add useful math constants a la UNIX's math.h, to make porting
  3438. easier.
  3439. crtw32\misc\ia64\jmpuwind.s
  3440. Bugfix for IA64 from TiborL.
  3441. crtw32\stdhpp64\utility
  3442. libw32\inc64\utility
  3443. Disable warning C4786, which appeared building dlldef.cpp for IA64 with a
  3444. new frontend.
  3445. -----------------------------------------------------------------
  3446. Thu 28-Oct-99 (Gautamb)
  3447. crtw32\h\tchar.h
  3448. libw32\include\tchar.h
  3449. libw32\inc64\tchar.h
  3450. VS7#5418 - fixed _tcsnextc() for handling MBCS.
  3451. -----------------------------------------------------------------
  3452. Thu 28-Oct-99 (PhilipLu)
  3453. crtw32\stdhpp\iosfwd
  3454. crtw32\stdhpp64\iosfwd
  3455. libw32\include\iosfwd
  3456. libw32\inc64\iosfwd
  3457. On Win64, std::streamoff and std::streamsize should be __int64, not long
  3458. and int.
  3459. crtw32\h\memory.h, string.h
  3460. crtw32\string\memccpy.c, memicmp.c
  3461. libw32\include\memory.h, string.h
  3462. libw32\inc64\memory.h, string.h
  3463. VS7#22416 - _memccpy, _memicmp and __ascii_memicmp should take a size_t
  3464. count, not an unsigned int.
  3465. crtw32\stdio\input.c
  3466. VS7#10705 - scanf format %p was totally broken on Win64.
  3467. -----------------------------------------------------------------
  3468. Wed 27-Oct-99 (Gautamb)
  3469. crtw32\lowio\fstat.c
  3470. crtw32\lowio\fstat64.c
  3471. crtw32\dos\stat.c
  3472. crtw32\dos\stat64.c
  3473. crtw32\time\ftime.c
  3474. crtw32\time\ftime64.c
  3475. crtw32\time\utime.c
  3476. crtw32\time\utime64.c
  3477. VS7#37766. Deleted the #include<dostypes.h> in all the file as it is of no
  3478. use.
  3479. -----------------------------------------------------------------
  3480. Wed 27-Oct-99 (GautamB)
  3481. crtw32\lowio\open.c
  3482. VS7#14742 Fixed the _sopen for opening the same by file in share as well as
  3483. O_TEMPORARY mode.
  3484. -----------------------------------------------------------------
  3485. Wed 27-Oct-99 (PhilipLu)
  3486. crtw32\misc\ia64\jmpuwind.s
  3487. New implementation of __jump_unwind for CC_P7_SOFT25 calling convention
  3488. on IA64 from TiborL.
  3489. cleanbld.cmd, makefile, makefile.inc, makefile.sub
  3490. crtw32\mbstring\lsources
  3491. crtw32\stdcpp\lsources
  3492. crtw32\stdcpp64\lsources [NEW]
  3493. More makefile tweaks:
  3494. * Repair in-place build for IA64.
  3495. * Fix dependency creation (nmake depend) for in-place build.
  3496. * Enable building with browser info under BLD_BROWSE=1.
  3497. * For x86 asm files whose source is not shipped, assemble files with full
  3498. pathnames, so a developer build (DEVBUILD=1) or in-place build will allow
  3499. debugger to automatically bring up asm source without an open file popup.
  3500. * add DELOBJ option to cleanbld.cmd to delete all objects before building,
  3501. but leaving all sources - avoids file copy/cleanse cycle.
  3502. * Use undocumented -ignore link switch to silence linker warnings. Switch
  3503. is cleansed from user-rebuild makefiles.
  3504. * Add "-N so" option to ias.exe invocation (equiv of -nologo).
  3505. crtw32\eh\frame.cpp, unhandld.cpp, validate.cpp
  3506. crtw32\eh\i386\ehcrt.mak [NEW]
  3507. crtw32\h\ehassert.h
  3508. Add an x86 version of ehcrt.mak, used to build the C++ EH support into a
  3509. stand-alone lib for test purposes. Tweak some EH support code to fix
  3510. problems in the stand-alone lib with ENABLE_EHTRACE on. Also added an
  3511. EHTRACE_FMT1 dump of the 'this' pointer to _DestructExceptionObject.
  3512. -----------------------------------------------------------------
  3513. Tue 26-Oct-99 (GautamB)
  3514. crtw32\h\ctype.h
  3515. crtw32\convert\isctype.c
  3516. libw32\include\ctype.h
  3517. libw32\inc64\ctype.h
  3518. libw32\msvcrt.src
  3519. libw32\syscrt.src
  3520. libw32\syscrt64.src
  3521. VS7#5695 - Added additional function for debug version to check the
  3522. validity of call for character checking functions
  3523. -----------------------------------------------------------------
  3524. Mon 25-Oct-99 (PhilipLu)
  3525. crtw32\h\setjmp.h, stdarg.h, varargs.h
  3526. crtw32\tools\win32\relinc.if
  3527. libw32\include\setjmp.h, stdarg.h, varargs.h
  3528. libw32\inc64\setjmp.h, stdarg.h, varargs.h
  3529. srcrel\msvc40.if
  3530. VS7#54572 - Add _M_CEE support for varargs to stdarg.h, issue error if
  3531. varargs.h or setjmp.h used with _M_CEE.
  3532. VS7#51838 - Fix varargs.h for IA64.
  3533. -----------------------------------------------------------------
  3534. Mon 25-Oct-99 (PhilipLu)
  3535. makefile, makefile.inc, makefile.sub, mk.bat
  3536. crtw32\dllstuff\lsources
  3537. crtw32\eh\lsources
  3538. crtw32\heap\lsources
  3539. crtw32\iostream\lsources
  3540. crtw32\startup\lsources
  3541. crtw32\stdcpp\lsources [NEW]
  3542. Repair in-place build to build\<arch> in the source tree, for development
  3543. use. Faster than copy-and-cleanse build used for released CRTs, and allows
  3544. building isolated CRT versions (st, mt, dll, xst, xmt, xdll). Also fixes
  3545. to allow using CFLAGS or AFLAGS as nmake args to specify compiler/assembler
  3546. flags for special builds.
  3547. crtw32\eh\frame.cpp, hooks.cpp, validate.cpp
  3548. crtw32\eh\i386\trnsctrl.cpp
  3549. crtw32\h\ehassert.h
  3550. Implement EH tracing, debug output recording path through EH support
  3551. routines. Need to compile special CRT with /DENABLE_EHTRACE to turn this
  3552. on. See EHTRACE_* macros in ehassert.h.
  3553. -----------------------------------------------------------------
  3554. Fri 22-Oct-99 (PhilipLu)
  3555. crtw32\eh\frame.cpp, rtti.cpp
  3556. crtw32\eh\ia64\ehstate.cpp, trnsctrl.cpp
  3557. IA64 exception handling changes from TiborL.
  3558. -----------------------------------------------------------------
  3559. Fri 22-Oct-99 (PhilipLu)
  3560. makefile.inc
  3561. crtw32\heap\delete.cpp, delete2.cpp [NEW], heap.mkf, lsources
  3562. crtw32\heap\dll\sources
  3563. crtw32\heap\mt\sources
  3564. crtw32\heap\st\sources
  3565. crtw32\misc\dbgdel.cpp
  3566. doc\copysrc.bat
  3567. srcrel\pd-b
  3568. VS7#53440 - operator delete and operator delete[] must be implemented in
  3569. separate files, to avoid multiple definition link errors if user only
  3570. supplies definition for one of the two. Also, only need one definition
  3571. of delete[], in delete2.cpp, so get rid of the debug definition in
  3572. dbgdel.cpp.
  3573. -----------------------------------------------------------------
  3574. THU 21-Oct-99 <rlanser>
  3575. crtw32\eh\sources.nt
  3576. Binl is a C++ flag for the libcntpr build. Changed for IA64.
  3577. -----------------------------------------------------------------
  3578. THU 21-Oct-99 <GautamB>
  3579. crtw32\misc\assert.c
  3580. VS7#4731 Fixed the way the output of the filenames that were too long
  3581. was displayed.
  3582. -----------------------------------------------------------------
  3583. Mon 18-Oct-99 (PhilipLu)
  3584. makefile.inc
  3585. crtw32\h\internal.h, rtcpriv.h
  3586. crtw32\lowio\osfinfo.c
  3587. crtw32\misc\initcrit.c [NEW], lsources
  3588. crtw32\misc\dll\sources
  3589. crtw32\misc\mt\sources
  3590. crtw32\misc\psx\sources
  3591. crtw32\misc\st\sources
  3592. crtw32\startup\mlock.c
  3593. crtw32\stdio\stream.c
  3594. doc\copysrc.bat
  3595. srcrel\pd-b
  3596. VS7#49164, NtBug#413400 - Where available (NT4SP3 or better), set a
  3597. spin count on critical sections when they are initialized. Also detect
  3598. exceptions raised by InitializeCriticalSection.
  3599. fpw32\tran\i386\filter.c
  3600. VS7#5422 - Push/pop FP register save area when fixing up an FP exception,
  3601. instead of just incrementing/decrementing the Top counter.
  3602. crtw32\eh\frame.cpp
  3603. VS7#5419 - During unwind, set EH state before entering each unwind funclet,
  3604. instead of once after all funclets called, to better handle case of SEH
  3605. during unwind.
  3606. srcrel\makefile
  3607. srcrel\mkclnmkf.c
  3608. Add -noclean option to mkclnmkf, triggered by set NOCLEAN=1, to copy all
  3609. source files to build tree instead of cleansing them. Preparation for
  3610. getting -DDEBUG working again.
  3611. -----------------------------------------------------------------
  3612. Tue 12-Oct-99 (PhilipLu)
  3613. fpw32\tran\i386\filter.c
  3614. VS7#6472 - Prevent _fpieee_flt from overwriting exception handling stack
  3615. frame when an FP instruction exception was writing to a no-longer-existing
  3616. stack local.
  3617. -----------------------------------------------------------------
  3618. Mon 11-Oct-99 (KFrei)
  3619. crtw32\rtc\init.cpp
  3620. VS7#48979 - fix bug in removing image from list of active RTC images during
  3621. shutdown.
  3622. -----------------------------------------------------------------
  3623. Mon 11-Oct-99 (PhilipLu)
  3624. crtw32\heap\sbheap.c
  3625. libw32\msvcrt.src, syscrt.src, syscrt64.src
  3626. VS7#49546 - Win64 build must define stubs for _{get,set}_sbh_threshold,
  3627. even though small block heap is disabled there.
  3628. -----------------------------------------------------------------
  3629. Mon 11-Oct-99 (PhilipLu)
  3630. fpw32\tran\ia64\frnd.s
  3631. VS7#15807 - Port new implementation of _frnd from CRT 64 sourcesafe tree.
  3632. Old version failed whenever abs(arg) >= 2^63.
  3633. crtw32\misc\ia64\chandler.c, cinitone.s, jmpuwind.s, longjmp.s, memcpys.s,
  3634. memsets.s, miscs.s, setjmp.s, setjmpex.s
  3635. crtw32\startup\ia64\chkstk.s, fp8.c
  3636. fpw32\tran\ia64\asincosf.c, atan2f.c, atanf.c, ceilf.c, em_types.h, emfloat.s,
  3637. expf.c, fabsf.c, filter.c, floorf.c, fmodf.c, fp80.s, fp80c.c, fpctrl.c,
  3638. fpieee_flt.h, frnd.s, huge.s, ieee.c, log10f.c, logf.c, powf.c, sincosf.c,
  3639. sincoshf.c, sqrtf.c, tanf.c, tanhf.c
  3640. Intel has given permission to check the IA64-specific routines into the
  3641. main CRT tree, so these files have been addfiled from the SLM project at
  3642. \\lang3\p7!crt_ia64_asm.
  3643. -----------------------------------------------------------------
  3644. Thu 07-Oct-99 (PhilipLu)
  3645. crtw32\eh\ia64\trnsctrl.cpp
  3646. Port SHanson change from CRT 64 sourcesafe tree. utc_p7#1126: sysmode
  3647. test eh\extest fails /Ox.
  3648. -----------------------------------------------------------------
  3649. Thu 07-Oct-99 (PhilipLu)
  3650. crtw32\h\crtdbg.h, direct.h, heap.h, internal.h, io.h, malloc.h, mbstring.h,
  3651. memory.h, mtdll.h, new.h, nlsint.h, process.h, search.h, stdarg.h,
  3652. stddef.h, stdexcpt.h, stdio.h, stdlib.h, string.h, time.h, wchar.h
  3653. fpw32\include\trans.h
  3654. libw32\include\crtdbg.h, direct.h, io.h, malloc.h, mbstring.h, memory.h, new.h,
  3655. process.h, search.h, stdarg.h, stddef.h, stdexcpt.h, stdio.h, stdlib.h,
  3656. string.h, time.h, wchar.h
  3657. libw32\inc64\crtdbg.h, direct.h, io.h, malloc.h, mbstring.h, memory.h, new.h,
  3658. process.h, search.h, stdarg.h, stddef.h, stdexcpt.h, stdio.h, stdlib.h,
  3659. string.h, time.h, wchar.h
  3660. srcrel\msvc40.if
  3661. VS7#29043 - Update CRTs to support /Wp64 by adding __w64 modifier as
  3662. appropriate to typedefs of size_t, ptrdiff_t, time_t, intptr_t, uintptr_t.
  3663. crtw32\misc\dbgheap.c
  3664. VS7#5677 - Debug heap output needs to use %p when outputting pointers, %Iu
  3665. when outputting size_t data.
  3666. crtw32\stdio\fdopen.c, fopen.c, tmpfile.c
  3667. VS7#16832 - Set errno to EMFILE when fopen and related functions run out
  3668. of streams.
  3669. fpw32\conv\cfin.c, fltinf.c
  3670. VS7#5672 - Prevent underflow exception during strtod by copying bytes
  3671. instead of a double (which might use FP instrs) in _fltin.
  3672. -----------------------------------------------------------------
  3673. Thu 30-Sep-99 (PhilipLu)
  3674. crtw32\time\tzset.c
  3675. Fix double-free bug in tzset() when freeing lastTZ (ntbug#390281).
  3676. crtw32\heap\heapinit.c
  3677. Change handling of env var __MSCVRT_HEAP_SELECTED in heap init - don't
  3678. use any routine that requires the heap to be available (vs7#44259). Also,
  3679. check the env var before checking for NT5.0 or better, so we can change
  3680. heap selection even on Win2000 (only here, not in the CRT60a tree used
  3681. to build the Win2K system CRT).
  3682. -----------------------------------------------------------------
  3683. Wed 29-Sep-99 (PhilipLu)
  3684. Port recent fixes from CRT 64 SourceSafe tree:
  3685. crtw32\makefile.sub
  3686. Build IA64 with cl flags /QIA64_A0 and /Zx (release only), and ias flag
  3687. -X explicit.
  3688. crtw32\misc\ia64\setjmp.s
  3689. All branch registers weren't being saved.
  3690. crtw32\misc\ia64\longjmp.s
  3691. Fix RSE hazard.
  3692. -----------------------------------------------------------------
  3693. Thu 23-Sep-99 (PhilipLu)
  3694. crtw32\stdhpp64\xlocnum
  3695. libw32\inc64\xlocnum
  3696. Fix previous checkin - use %Id, not %Ld, to sprintf an __int64.
  3697. -----------------------------------------------------------------
  3698. Fri 17-Sep-99 (PhilipLu)
  3699. crtw32\stdhpp64\istream, ostream, xlocnum
  3700. libw32\inc64\istream, ostream, xlocnum
  3701. VS7#5291 - backport __int64 support for iostream << and >> to the old
  3702. 64-bit C++ headers.
  3703. crtw32\eh\typname.cpp
  3704. crtw32\stdhpp64\xlocale
  3705. libw32\inc64\xlocale
  3706. Add typecasts to fix 64-bit warnings with newest IA64 compiler.
  3707. -----------------------------------------------------------------
  3708. Thu 02-Sep-99 (PhilipLu)
  3709. langapi\undname\undname.cxx, undname.inl
  3710. Attempt to fix VS7#23225 - reports that undecorator suballocator in
  3711. HeapManager::getMemory is causing unaligned allocations. Make sure that
  3712. Win32 and Win64 CRT versions of the undecorator use 8 byte alignment
  3713. (should have been happening already anyway, but make more explicit), and
  3714. that an attempt to suballocate 0 bytes will not trigger unaligned
  3715. allocations (but I can't see anywhere that would try to allocate 0 bytes).
  3716. langapi\undname\stubmain.cxx, testundn.cxx
  3717. Fix build of stand-along undecorator and undecorator verifier test app
  3718. using the CRT __unDName.
  3719. makefile
  3720. srcrel\msvc40.if
  3721. Define _SYSCRT when doing a system CRT build.
  3722. crtw32\dllstuff\crtlib.c
  3723. Noticed by RichardS - CRT DLL issues a popup and refuses to run if started
  3724. on Win32s. The popup references "MSVCRT.DLL". Change to do this for
  3725. system CRT only, since the name for the VC CRT DLL is different and there's
  3726. no good reason to keep checking for Win32s there.
  3727. -----------------------------------------------------------------
  3728. Mon 30-Aug-99 (PhilipLu)
  3729. makefile, makefile.inc
  3730. crtw32\dllstuff\lsources, wdll_av.c [NEW]
  3731. crtw32\dllstuff\dlllib\sources
  3732. doc\copysrc.bat
  3733. libw32\makefile
  3734. srcrel\pd-b
  3735. VS7#5425 - ___wsetargv was missing from msvcrt[d].lib, so linking with
  3736. wsetargv.obj when using the CRT DLL gave a link error. Add new source
  3737. file wdll_av.c corresponding to the ANSI version dll_argv.c.
  3738. -----------------------------------------------------------------
  3739. Mon 30-Aug-99 (PhilipLu)
  3740. Minor issues uncovered during Y2K code review
  3741. crtw32\time\ctime.c, ctime64.c, difftime.c, systime.c
  3742. Fix function header comments.
  3743. crtw32\time\mktime.c
  3744. Replace 'long' with 'time_t'.
  3745. crtw32\time\strftime.c
  3746. Don't overflow buffer on finding mbcs leadbyte in store_winword.
  3747. crtw32\h\crtdbg.h
  3748. libw32\inc64\crtdbg.h
  3749. libw32\include\crtdbg.h
  3750. Remove unprintable character from comment (confused 'findstr /p').
  3751. -----------------------------------------------------------------
  3752. Thu 12-Aug-99 (v-JohnMo)
  3753. fpw32\tran\lsources,sources.nt
  3754. Alpha/Alpha64: build using correct FP support flags
  3755. fpw32\tran\alpha\dpml_exc.c
  3756. Alpha/Alpha64: remove unneeded declaration
  3757. fpw32\tran\alpha\getsetrg.c
  3758. Alpha/Alpha64: supply default return value to avoid warning
  3759. libw32\msvcrt.src
  3760. Alpha/Alpha64: export new UTC compiler helper functions
  3761. -----------------------------------------------------------------
  3762. Wed 11-Aug-99 (PhilipLu for v-ABorni)
  3763. makefile.inc
  3764. crtw32\helper\lsources, sources.nt
  3765. crtw32\helper\alpha\memcmp_.s [NEW], otsnote.txt
  3766. srcrel\objects.mkf, pd-b
  3767. Alpha/Alpha64: add new memcmp intrinsic.
  3768. -----------------------------------------------------------------
  3769. Wed 11-Aug-99 (PhilipLu for RLanser, SHanson)
  3770. Porting recent checkins to the CRT64 sourcesafe tree
  3771. makefile.sub
  3772. crtw32\misc\ia64\setjmp.s
  3773. Hazard fixes. Requires new Intel assembler (1.7) that checks for hazards.
  3774. crtw32\misc\ia64\miscs.s
  3775. Remove InterlockedExchangeAdd() since it's an intrinsic.
  3776. crtw32\eh\ehvecctr.cpp, ehveccvb.cpp, ehvecdtr.cpp, frame.cpp
  3777. crtw32\eh\ia64\trnsctrl.cpp
  3778. IA64 EH image relative changes (SW 2.5 convention) under
  3779. #if defined(CC_P7_SOFT25).
  3780. -----------------------------------------------------------------
  3781. Tue 10-Aug-99 (PhilipLu for RichardS)
  3782. crtw32\h\sect_attribs.h
  3783. crtw32\rtc\initsect.cpp
  3784. Use external symbols for RTC initializer/terminator table boundaries for
  3785. BBT support.
  3786. -----------------------------------------------------------------
  3787. Mon 09-Aug-99 (PhilipLu)
  3788. makefile
  3789. libw32\msvcirt.rc, msvcirt.src, msvcrt.src, syscrt.rc [NEW], syscrt.src [NEW],
  3790. syscrt64.rc [NEW], syscrt64.src [NEW], sysirt.rc [NEW], sysirt.src [NEW],
  3791. sysirt64.rc [NEW], sysirt64.src [NEW], sysprt.rc [NEW], sysprt.src [NEW],
  3792. sysprt64.rc [NEW], sysprt64.src [NEW]
  3793. srcrel\external.mkf, makefile, mkclnmkf.c, objects.mkf, pd-b, relmkf.sed
  3794. Complete configuration of build for system CRT. Building with BLD_SYSCRT=1
  3795. will build the system CRT instead of the VC crt. Building with LLP64=1
  3796. implies building a system CRT, but for Win64 instead of Win32. Addfiled
  3797. new .rc/.src files specific to Win32-system and Win64-system CRTs.
  3798. -----------------------------------------------------------------
  3799. Wed 04-Aug-99 (PhilipLu)
  3800. makefile
  3801. libw32\msvcirt.rc, msvcirt.src, msvcprt.rc [NEW], msvcprt.src, msvcrt.rc,
  3802. msvcrt.src
  3803. srcrel\_sample_.rc, external.mkf, mkclnmkf.c, objects.mkf, pd-b, relmkf.sed
  3804. Rename CRT: msvcrt.dll -> msvcr70.dll
  3805. msvcrtd.dll -> msvcr70d.dll
  3806. msvcp61.dll -> msvcp70.dll
  3807. msvcp61d.dll -> msvcp70d.dll
  3808. msvcirt.dll -> msvci70.dll
  3809. msvcirtd.dll -> msvci70d.dll
  3810. Also began configuration for build with BLD_SYSCRT=1 to build the system
  3811. CRT instead of the VC crt. This is not complete yet.
  3812. [delfiled:]
  3813. libw32\msvcp42.rc, msvcp50.rc, msvcp60.rc, msvcp61.rc
  3814. Replaced by msvcprt.rc
  3815. crtw32\misc\setenv.c
  3816. Fix use-after-free bug in __crtsetenv() when removing an existing
  3817. enviroment variable.
  3818. crtw32\stdio\vsprintf.c, vswprint.c
  3819. Minor function header fix
  3820. -----------------------------------------------------------------
  3821. Wed 04-Aug-99 (KFrei)
  3822. crtw32\h\rtcsup.h rtcpriv.h
  3823. crtw32\rtc\bintree.cpp chsyheap.cpp memory.cpp shadow.cpp init.cpp
  3824. crtw32\misc\i386\chkesp.c
  3825. crtw32\misc\alpha\chkesp.c
  3826. Added _RTC_ to all external objects. Added comments to keep versioning
  3827. issues in your face. Fixed some seriously leaking handles in the init code
  3828. -----------------------------------------------------------------
  3829. Fri 09-Jul-99 (GregF)
  3830. crtw32\h\winheap.h
  3831. crtw32\heap\calloc.c, expand.c, free.c, heapchk.c, heapinit.c, heapmin.c,
  3832. malloc.c, msize.c, realloc.c, sbheap.c
  3833. crtw32\misc\dbgheap.c
  3834. Removed VC 5.0 small-block heap, and the selection logic to enable it, from
  3835. the static libraries. This was intended only for the DLL which was not
  3836. affected by this change.
  3837. -----------------------------------------------------------------
  3838. Wed 07-Jul-99 (GregF)
  3839. crtw32\dllstfull\crtlib.c
  3840. Don't clean up system resources if the process is known to be terminating.
  3841. This fixes VS7 #16829
  3842. -----------------------------------------------------------------
  3843. Wed 16-Jun-99 (PhilipLu)
  3844. makefile
  3845. makefile.sub
  3846. Partially back out checkin of 8-Jun-99. Release build no longer built by
  3847. default with debug info. Necessary until I can get the build lab to drop
  3848. the associated PDBs along with the libs and dlls. Debug info for release
  3849. build can be selected by setting BLD_REL_DBINFO in the environment.
  3850. -----------------------------------------------------------------
  3851. Mon 14-Jun-99 (PhilipLu)
  3852. crtw32\tools\win32\relinc.if
  3853. libw32\include\rtcapi.h
  3854. libw32\inc64\rtcapi.h
  3855. Cleanse #ifdef _RTC from header rtcapi.h, with _RTC on (vs7#22400).
  3856. makefile
  3857. makefile.sub
  3858. srcrel\pd-b
  3859. Fix use of whackline.exe in Alpha build (vs7#23911).
  3860. -----------------------------------------------------------------
  3861. Thu 10-Jun-99 (GregF)
  3862. crtw32\time\tzset.c
  3863. Fixed handling of non-existent or empty TZ environment variable. This
  3864. fixes VS7 #16203.
  3865. -----------------------------------------------------------------
  3866. Tue 08-Jun-99 (PhilipLu)
  3867. makefile
  3868. makefile.sub
  3869. libw32\tools\alpha\whackline.exe [NEW]
  3870. BBT/Vulcan support - build debug and release targets with full debug info,
  3871. running whackline over objs for which we don't ship source. This gets rid
  3872. of the need to have a separate bbt target, but the bbt target remains until
  3873. the build lab switches to using the release target instead. Also, if built
  3874. with DEVBUILD=1 in the environment, whackline won't be run, so full line
  3875. number info is available for all sources, allowing developer builds to step
  3876. into these routines.
  3877. -----------------------------------------------------------------
  3878. Mon 07-Jun-99 (PhilipLu)
  3879. crtw32\h\float.h
  3880. crtw32\startup\ia64\fp8.c
  3881. libw32\include\float.h
  3882. libw32\inc64\float.h
  3883. For IA64, default to _PC_64 bit mode, not _PC_53.
  3884. crtw32\h\math.h
  3885. libw32\include\math.h
  3886. libw32\inc64\math.h
  3887. modff and hypotf are intrinsics for IA64 (vs7#2515).
  3888. crtw32\h\process.h
  3889. libw32\include\process.h
  3890. libw32\inc64\process.h
  3891. The oldnames (!__STDC__) versions of the exec/spawn APIs need to use
  3892. intptr_t, not int, for the handle arg/return vals, same as the real APIs.
  3893. [delfile:]
  3894. libw32\tools\ia64\aliasobj.exe, detab.exe, ifstrip.exe, pd.exe, striphdr.exe,
  3895. tolwrupr.exe, trailing.exe
  3896. These are actually x86 executables. The x86-based cross-build for IA64
  3897. now pulls these tools from libw32\tools\i386, as it should, so these are
  3898. no longer needed. Once we have native IA64 builds, the IA64 executables
  3899. will go here.
  3900. srcrel\pd-b
  3901. Remove libw32\tools\{ia64,ppc,mips}\*.exe. The ppc and mips tools were
  3902. delfiled a while ago by Rich Shupak.
  3903. srcrel\makefile
  3904. Fix typo for Alpha64 build ("!else if" should be "!elseif")
  3905. -----------------------------------------------------------------
  3906. Thu 03-Jun-99 (PhilipLu)
  3907. makefile
  3908. Fix oldnames.lib build for IA64.
  3909. crtw32\h\float.h
  3910. libw32\inc64\float.h
  3911. libw32\include\float.h
  3912. Define _CW_DEFAULT for IA64 (vs7#22100).
  3913. libw32\inc64\rtcapi.h
  3914. libw32\inc64\typeinfo.h
  3915. Pick up Win64 cleansed headers from recent checkins.
  3916. -----------------------------------------------------------------
  3917. Wed 02-Jun-99 (PhilipLu)
  3918. crtw32\convert\mbstowcs.c, mbtowc.c, wcstombs.c
  3919. fpw32\tran\alpha\filter.c
  3920. Warning fixes from v-kimpe for _NTSUBSET_ and Alpha build.
  3921. -----------------------------------------------------------------
  3922. Wed 02-Jun-99 (GregF)
  3923. crtw32\h\internal.h
  3924. crtw32\misc\putenv.c, setenv.c
  3925. Fixed several leaks which manifested in _putenv(). A copy of the arg
  3926. string is made in _putenv first thing, but it was not subsequently freed
  3927. in some cases when it should have been. This fixes VS7 #18971.
  3928. -----------------------------------------------------------------
  3929. Tue 01-Jun-99 (PhilipLu)
  3930. makefile.inc
  3931. crtw32\eh\stdexcpt.cpp
  3932. crtw32\h\internal.h, typeinfo.h
  3933. crtw32\stdcpp\cerr.cpp, cin.cpp, clog.cpp, cout.cpp, delaop.cpp, delop.cpp,
  3934. dlldef.cpp, fiopen.cpp, iomanip.cpp, ios.cpp, iosptrs.cpp, iostream.cpp,
  3935. locale.cpp, locale0.cpp, newaop.cpp, newaop2.cpp, newop.cpp, newop2.cpp,
  3936. nomemory.cpp, raisehan.cpp [NEW], sources.nt, stdhndlr.cpp [NEW],
  3937. stdthrow.cpp, string.cpp, strstrea.cpp, uncaught.cpp, wcerr.cpp, wcin.cpp,
  3938. wclog.cpp, wcout.cpp, wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp,
  3939. xcosh.c, xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c,
  3940. xfdscale.c, xfdtest.c, xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldnorm.c,
  3941. xldscale.c, xldtest.c, xlexp.c, xlocale.cpp, xlock.cpp, xlpoly.c, xlsinh.c,
  3942. xlvalues.c, xmath.h, xpoly.c, xsinh.c, xstod.c, xstrcoll.c, xvalues.c
  3943. crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  3944. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  3945. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception, fstream,
  3946. functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream, iso646.h,
  3947. istream, iterator, limits, list, locale, map, memory, new, numeric, ostream,
  3948. queue, set, sstream, stack, stdexcept, streambuf, string, strstream,
  3949. utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale, xlocinfo,
  3950. xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmemory, xstddef, xstring,
  3951. xtree, xutility, ymath.h, yvals.h
  3952. doc\copysrc.bat
  3953. doc\pjp\makefile.inc, pd-b
  3954. libw32\include\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  3955. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  3956. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception, fstream,
  3957. functional, hash_map, hash_set, iomanip, ios, iosfwd, iostream, iso646.h,
  3958. istream, iterator, limits, list, locale, map, memory, new, numeric, ostream,
  3959. queue, set, sstream, stack, stdexcept, streambuf, string, strstream,
  3960. typeinfo.h, utility, valarray, vector, xcomplex, xhash, xiosbase, xlocale,
  3961. xlocinfo, xlocinfo.h, xlocmes, xlocmon, xlocnum, xloctime, xmath.h, xmemory,
  3962. xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  3963. srcrel\pd-b
  3964. Integrate 05/03/99 drop of STL from Plauger.
  3965. -----------------------------------------------------------------
  3966. Wed 26-May-99 (KFrei)
  3967. crtw32\h\rtcapi.h, rtcpriv.h, rtcsup.h
  3968. crtw32\heap\calloc.c, delete.cpp, expand.c, free.c, malloc.c, new.cpp, new2.cpp,
  3969. realloc.c
  3970. crtw32\misc\dbgdel.cpp, dbgheap.c, dbgnew.cpp, i386\chkesp.c
  3971. crtw32\rtc\bintree.cpp, callsite.cpp, chsyheap.cpp, contain.cpp, error.cpp,
  3972. fileio.cpp, init.cpp, memory.cpp, pdblkup.cpp, shadow.cpp, userapi.cpp
  3973. crtw32\stdcpp\delaop.cpp, delop.cpp, newaop.cpp, newaop2.cpp, newop.cpp,
  3974. newop2.cpp
  3975. crtw32\tools\win32\relinc.if
  3976. libw32\include\rtcapi.h
  3977. srcrel\msvc40.if
  3978. Remove /RTCl and /RTCv, add /RTCu. Put shadow mem stuff under _RTC_ADVMEM,
  3979. which is disabled. Clean up names to always use _RTC_ prefix. Simplify
  3980. _RTC_Allocate_hook.
  3981. -----------------------------------------------------------------
  3982. Fri 21-May-99 (PhilipLu)
  3983. makefile
  3984. Link IA64 xdll targets /debugtype:both. Also add -osversion link switches
  3985. used for other Win64 dll targets to the zdll (BBT) target too.
  3986. -----------------------------------------------------------------
  3987. Thu 20-May-99 (PhilipLu)
  3988. crtw32\eh\ehveccrt.cpp, ehveccvb.cpp, ehvecdtr.cpp
  3989. Turn off __thiscall for IA64.
  3990. makefile
  3991. srcrel\external.mkf, mkclnmkf.c, objects.mkf, pd-b
  3992. Build msvcp60.dll for Win64, not msvcp61.dll.
  3993. -----------------------------------------------------------------
  3994. Thu 20-May-99 (PhilipLu)
  3995. [addfiled:]
  3996. crtw32\tools\win32\relinc64.cmd
  3997. libw32\inc64\algorithm, assert.h, bitset, cassert, cctype, cerrno, cfloat,
  3998. ciso646, climits, clocale, cmath, complex, conio.h, crtdbg.h, csetjmp,
  3999. csignal, cstdarg, cstddef, cstdio, cstdlib, cstring, ctime, ctype.h, cwchar,
  4000. cwctype, deque, direct.h, dos.h, eh.h, errno.h, exception, excpt.h, fcntl.h,
  4001. float.h, fpieee.h, fstream, fstream.h, functional, io.h, iomanip, iomanip.h,
  4002. ios, ios.h, iosfwd, iostream, iostream.h, iso646.h, istream, istream.h,
  4003. iterator, limits, limits.h, list, locale, locale.h, malloc.h, map, math.h,
  4004. mbctype.h, mbstring.h, memory, memory.h, minmax.h, new, new.h, numeric,
  4005. ostream, ostream.h, process.h, queue, rtcapi.h, search.h, set, setjmp.h,
  4006. setjmpex.h, share.h, signal.h, sstream, stack, stdarg.h, stddef.h,
  4007. stdexcept, stdexcpt.h, stdio.h, stdiostr.h, stdlib.h, stl.h, streamb.h,
  4008. streambuf, string, string.h, strstrea.h, strstream, tchar.h, time.h,
  4009. typeinfo, typeinfo.h, use_ansi.h, useoldio.h, utility, valarray, varargs.h,
  4010. vector, wchar.h, wctype.h, xcomplex, xiosbase, xlocale, xlocinfo,
  4011. xlocinfo.h, xlocmon, xlocnum, xloctime, xmath.h, xmemory, xstddef, xstring,
  4012. xtree, xutility, ymath.h, yvals.h
  4013. libw32\inc64\sys\locking.h, stat.h, timeb.h, types.h, utime.h
  4014. Cleansed headers for Win64 build. This should be temporary - delete once
  4015. NT5 ships and Win32 and Win64 builds start using same STL headers.
  4016. srcrel\makefile, pd-b
  4017. Handle new libw32\inc64 files for Win64 build.
  4018. -----------------------------------------------------------------
  4019. Thu 20-May-99 (PhilipLu)
  4020. crtw32\misc\dbgheap.c
  4021. Don't DebugBreak if heap allocation counter wraps around back to -1
  4022. (vs7#5363).
  4023. -----------------------------------------------------------------
  4024. Wed 19-May-99 (PhilipLu)
  4025. [addfiled:]
  4026. crtw32\stdcpp64\_tolower.c, _toupper.c, delop.cpp, delop_s.cpp, dirs,
  4027. dlldef.cpp, fiopen.cpp, iomanip.cpp, ios.cpp, iostream.cpp, locale.cpp,
  4028. locale0.cpp, newop.cpp, newop2.cpp, newop2_s.cpp, newop_s.cpp,
  4029. nomemory.cpp, sources.nt, string.cpp, strstrea.cpp, uncaught.cpp,
  4030. wctrans.c, wctype.c, wiostrea.cpp, wlocale.cpp, xcosh.c, xdnorm.c,
  4031. xdscale.c, xdtest.c, xexp.c, xfcosh.c, xfdnorm.c, xfdscale.c, xfdtest.c,
  4032. xfexp.c, xfsinh.c, xfvalues.c, xlcosh.c, xldnorm.c, xldscale.c, xldtest.c,
  4033. xlexp.c, xlocale.cpp, xlock.cpp, xlpoly.c, xlsinh.c, xlvalues.c, xmath.h,
  4034. xmbtowc.c, xpoly.c, xsinh.c, xstod.c, xstrcoll.c, xstrxfrm.c, xvalues.c,
  4035. xwcscoll.c, xwcsxfrm.c, xwctomb.c
  4036. crtw32\stdhpp64\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  4037. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  4038. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
  4039. fstream, functional, iomanip, ios, iosfwd, iostream, iso646.h, istream,
  4040. iterator, limits, list, locale, map, memory, new, numeric, ostream, queue,
  4041. set, sstream, stack, stdexcept, stl.h, streambuf, string, strstream,
  4042. typeinfo, use_ansi.h, utility, valarray, vector, wctype.h, xcomplex,
  4043. xiosbase, xlocale, xlocinfo, xlocinfo.h, xlocmon, xlocnum, xloctime,
  4044. xmemory, xstddef, xstring, xtree, xutility, ymath.h, yvals.h
  4045. Add in old STL files from \\lang5\rtl CRT 64 sourcesafe tree. These files
  4046. are used to build the Win64 version of STL for as long as NT keeps using
  4047. the old STL headers for their Win32/Win64 builds. These files should go
  4048. away once NT5 ships and NT updates to current STL headers.
  4049. makefile, makefile.inc, makefile.sub
  4050. crtw32\dirs
  4051. srcrel\makefile, mkclnmkf.c, pd-b
  4052. For Win64, build the STL components with the stdcpp64\stdhpp64 sources, not
  4053. the stdcpp\stdhpp ones used for Win32 builds.
  4054. -----------------------------------------------------------------
  4055. Wed 19-May-99 (PhilipLu)
  4056. srcrel\external.mkf, makefile
  4057. When building a 64-bit crt on a 32-bit system, use the V6TOOLS compiler to
  4058. build the 32-bit hosted mkclnmkf.exe and striplin.exe. Also, build the
  4059. proper cross-hosted 64-bit targetted version of mkclnmkf.exe.
  4060. -----------------------------------------------------------------
  4061. Mon 17-May-99 (PhilipLu)
  4062. crtw32\convert\isctype.c, mblen.c, mbstowcs.c, mbtowc.c, tolower.c, toupper.c,
  4063. wcstombs.c, wctomb.c
  4064. crtw32\dllstuff\atonexit.c, cinitexe.c, crtdll.c, crtexe.c
  4065. crtw32\dos\access.c, chdir.c, chmod.c, dosmap.c, drive.c, fullpath.c, getcwd.c,
  4066. getpid.c, mkdir.c, rename.c, rmdir.c, stat.c, unlink.c
  4067. crtw32\eh\ehvecctr.cpp, ehveccvb.cpp, ehvecdtr.cpp, frame.cpp, hooks.cpp,
  4068. oldexcpt.h, rtti.cpp, throw.cpp, unhandld.cpp, user.cpp, validate.cpp
  4069. crtw32\h\assert.h, cmsgs.h, conio.h, crtdbg.h, cruntime.h, ctype.h, direct.h,
  4070. dos.h, dostypes.h, eh.h, ehassert.h, ehhooks.h, ehstate.h, errno.h,
  4071. excpt.h, fcntl.h, float.h, fltintrn.h, fpieee.h, fstream.h, heap.h,
  4072. internal.h, io.h, iomanip.h, ios.h, iostream.h, istream.h, limits.h,
  4073. locale.h, malloc.h, math.h, mbctype.h, mbstring.h, memory.h, msdos.h,
  4074. mtdll.h, new.h, oscalls.h, ostream.h, process.h, rtcsup.h, search.h,
  4075. setjmp.h, setjmpex.h, share.h, signal.h, stdarg.h, stddef.h, stdexcpt.h,
  4076. stdio.h, stdiostr.h, stdlib.h, streamb.h, string.h, strstrea.h, tchar.h,
  4077. time.h, trnsctrl.h, typeinfo.h, varargs.h, wchar.h
  4078. crtw32\h\sys\locking.h, stat.h, timeb.h, types.h, utime.h
  4079. crtw32\heap\free.c, heapdump.c, heapgrow.c, heapinit.c, heapmin.c, realloc.c
  4080. crtw32\iostream\filebuf.cpp, stdiostr.cpp
  4081. crtw32\lowio\chsize.c, close.c, commit.c, dup.c, dup2.c, eof.c, flength.c,
  4082. fstat.c, isatty.c, locking.c, lseek.c, mktemp.c, open.c, osfinfo.c, read.c,
  4083. setmode.c, tell.c, write.c
  4084. crtw32\mbstring\ismbalnm.c, ismbalph.c, ismbdgt.c, ismbgrph.c, ismblwr.c,
  4085. ismbprn.c, ismbpunc.c, ismbspc.c, ismbupr.c, mbctype.c, mbscoll.c,
  4086. mbsicmp.c, mbsicoll.c, mbslwr.c, mbsnbcol.c, mbsnbico.c, mbsncoll.c,
  4087. mbsnicol.c, mbsupr.c, mbtolwr.c, mbtoupr.c
  4088. crtw32\misc\abs.c, assert.c, crtmbox.c, dbgheap.c, dbgrpt.c, getenv.c,
  4089. getpath.c, lconv.c, onexit.c, perror.c, putenv.c, searchen.c, syserr.c
  4090. crtw32\startup\crt0.c, crt0dat.c, crt0msg.c, dllcrt0.c, dllmain.c, stdargv.c
  4091. crtw32\stdcpp\_tolower.c, _toupper.c, xmbtowc.c, xstrcoll.c, xstrxfrm.c,
  4092. xwctomb.c
  4093. crtw32\stdhpp\exception, typeinfo, wctype.h
  4094. crtw32\stdio\_filbuf.c, _file.c, _flsbuf.c, _freebuf.c, _getbuf.c, _open.c,
  4095. _sftbuf.c, clearerr.c, closeall.c, fclose.c, fdopen.c, fflush.c, fgetpos.c,
  4096. fread.c, fseek.c, fsetpos.c, ftell.c, fwrite.c, input.c, maketabc.c,
  4097. output.c, rewind.c, rmtmp.c, setvbuf.c, stream.c, tempnam.c, test_out.c,
  4098. tmpfile.c
  4099. crtw32\string\memicmp.c, strcoll.c, stricmp.c, stricoll.c, strlwr.c,
  4100. strncoll.c, strnicmp.c, strnicol.c, strset.c, strupr.c, strxfrm.c
  4101. crtw32\time\clock.c, dtoxtime.c, ftime.c, localtim.c, mktime.c, mktime64.c,
  4102. strdate.c, strftime.c, strtime.c, time.c, tzset.c, utime.c
  4103. doc\pjp\mkclnmkf.c
  4104. fpw32\include\cv.h, trans.h
  4105. fpw32\tran\fabs.c, sincosh.c, tanh.c
  4106. libw32\include\assert.h, conio.h, crtdbg.h, ctype.h, direct.h, dos.h, eh.h,
  4107. errno.h, exception, excpt.h, fcntl.h, float.h, fpieee.h, fstream.h, io.h,
  4108. iomanip.h, ios.h, iostream.h, istream.h, limits.h, locale.h, malloc.h,
  4109. math.h, mbctype.h, mbstring.h, memory.h, new.h, ostream.h, process.h,
  4110. search.h, setjmp.h, setjmpex.h, share.h, signal.h, stdarg.h, stddef.h,
  4111. stdexcpt.h, stdio.h, stdiostr.h, stdlib.h, streamb.h, string.h, strstrea.h,
  4112. tchar.h, time.h, typeinfo, typeinfo.h, varargs.h, wchar.h, wctype.h
  4113. libw32\include\sys\locking.h, stat.h, timeb.h, types.h, utime.h
  4114. srcrel\msvc40.if
  4115. Removing Macintosh support, stage 2: Remove all Mac support from source
  4116. files. Also remove most _WIN32 #ifs, since _WIN32 is always on now and
  4117. some Mac code was actually under #ifndef _WIN32 instead of #ifdef _MAC.
  4118. -----------------------------------------------------------------
  4119. Mon 17-May-99 (PhilipLu)
  4120. clean.cmd, makefile, makefile.inc, makefile.sub
  4121. crtw32\crt.mkf, crt32.nt
  4122. crtw32\convert\convert.mkf, lsources
  4123. crtw32\dllstuff\lsources
  4124. crtw32\dos\dos.mkf, lsources
  4125. crtw32\eh\eh.mkf, lsources
  4126. crtw32\exec\exec.mkf, lsources
  4127. crtw32\heap\heap.mkf, lsources
  4128. crtw32\helper\lsources
  4129. crtw32\iostream\iostream.mkf, lsources
  4130. crtw32\linkopts\lsources
  4131. crtw32\lowio\lowio.mkf, lsources
  4132. crtw32\mbstring\lsources, mbstring.mkf
  4133. crtw32\misc\lsources, misc.mkf
  4134. crtw32\startup\lsources, startup.mkf
  4135. crtw32\stdio\lsources, stdio.mkf
  4136. crtw32\string\lsources, string.mkf
  4137. crtw32\time\lsources, time.mkf
  4138. doc\copycrt.bat, copysrc.bat
  4139. doc\pjp\makefile.srcrel
  4140. fpw32\fp.mkf, fp32.nt, infer.mkf
  4141. fpw32\conv\conv.mkf, lsources
  4142. fpw32\tran\lsources, tran.mkf
  4143. srcrel\bldnt.cmd, bldwin95.bat, external.mkf, makefile, mkclnmkf.c,
  4144. mkfiles.sed, objects.mkf, pd-b
  4145. Removing Macintosh support, stage 1: Remove all Mac support from makefiles
  4146. and scripts and delfile Mac-only files.
  4147. [delfiled:]
  4148. mkmac.bat
  4149. crtw32\mac.mkf, makemac.cmd, mkm68k.bat, mkpmac.bat
  4150. crtw32\convert\mac\atold.c, strtold.c
  4151. crtw32\dllstuff\macdll\makedll.cmd, makedlld.cmd, msvcrt.def, msvcrt.r,
  4152. msvcrtd.def
  4153. crtw32\dos\mac\remove.c
  4154. crtw32\eh\mac\m68k\frame.cpp, trnsctrl.a
  4155. crtw32\eh\mac\pmac\ehstate.cpp, exdsptch.cpp, handlers.asm, lowhelpr.asm,
  4156. ntstatus.h, ppcinst.h, trnsctrl.cpp, unwind.asm, vunwind.cpp
  4157. crtw32\exec\mac\spawn.c
  4158. crtw32\h\plstring.h
  4159. crtw32\h\mac\mpw.h, rtlib.h
  4160. crtw32\h\mac\m68k\assert.a, crtequ.a, sysequ.a, traps.a
  4161. crtw32\heap\mac\heapaslm.c
  4162. crtw32\helper\mac\pmac\i64div.asm, i64rem.asm, i64rsh.asm, rfpr.asm, rgpr.asm,
  4163. sfpr.asm, sgpr.asm, u64div.asm, u64rem.asm
  4164. crtw32\lowio\mac\_endlow.c, dupx.c
  4165. crtw32\misc\mac\cinitenv.c, cinitone.c, gestalt.c, id2path.c, signal.c,
  4166. xcptfltr.c
  4167. crtw32\misc\mac\m68k\libhlprs.a, rts.a, setjmp.a, stkavl.a
  4168. crtw32\misc\mac\pmac\exsup.asm, setjmp.asm, stkavl.c
  4169. crtw32\startup\mac\amsg.c, exit.c, init.c, libcinfo.c, runtime.c
  4170. crtw32\startup\mac\m68k\applyfix.a, astart.a, chkstk.a, fixupseg.a, getstack.a,
  4171. loaddata.a, loadseg.a, qd.a, quit.a, shellrtn.a, stdalone.a, unloadsn.a
  4172. crtw32\startup\mac\pmac\astart.c, chkstk.asm, crtdllex.c, crtexit.c, dllexit.c,
  4173. qd.c, shellrtn.c, sp.c, testexit.c
  4174. crtw32\stdio\mac\initstd.c
  4175. crtw32\string\special.mak
  4176. crtw32\string\mac\c2pstr.c, p2cstr.c, plstrcat.c, plstrchr.c, plstrcmp.c,
  4177. plstrlen.c, plstrnca.c, plstrncm.c, plstrncp.c, plstrpbr.c, plstrrch.c,
  4178. plstrspn.c, plstrstr.c
  4179. crtw32\time\mac\cinitclk.c
  4180. crtw32\tools\mac\addseg.c, addseg.exe, adep.bat, adep.sed, asm68.exe, cdep.bat,
  4181. cdep.sed, cp.exe, gawk.exe, getver.exe, ifstrip.exe, make.exe, ml.err,
  4182. ml.exe, nmake.exe, relinc.cmd, relinc.if, relinc.sed, sort.exe, uniq.exe
  4183. fpw32\m68k.mkf, makemac.cmd, mkm68k.bat, mkpmac.bat, pmac.mkf
  4184. fpw32\conv\mac\m68k\_xtos.c, _xtou.c, cfinl.c, cfout.c, clfout.c, cvt.c,
  4185. decode.a, fpdata.c, fpinit.c, lddata.c, ldinit.c, libcinfo.c
  4186. fpw32\conv\mac\pmac\dtoi.asm, dtoi64.asm, dtou.asm, dtou64.asm, fpinit.c,
  4187. ftou.asm, i64tod.asm, itod.asm, itof.asm, u64tod.asm, utod.asm, utof.asm
  4188. fpw32\include\mac\transl.h
  4189. fpw32\include\mac\m68k\sane.a, trans.a, traps.a
  4190. fpw32\tran\special.mak
  4191. fpw32\tran\mac\m68k\_fpxpt.c, asincosl.c, atan2.c, atan2l.c, bessell.c, ceil.a,
  4192. ceill.a, error.a, exphlp.c, exphlpl.c, fabs.a, fabsl.a, floor.a, floorl.a,
  4193. fmod.a, fmodl.a, fpctrl.a, frexpl.c, frnd.a, frndl.a, fsqrt.c, fsqrtl.c,
  4194. huge.a, hypotl.c, iceil.a, ieee.c, ifloor.a, ifmod.a, isqrt.a, itran.a,
  4195. itrig.a, itriga.a, itrigh.a, ldexpl.c, matherr.c, matherrl.c, modfl.c,
  4196. sincoshl.c, sqrt.a, sqrtl.a, tanhl.c, tran.a, tranl.a, trig.a, triga.a,
  4197. trigal.a, trigh.a, trighl.a, trigl.a, utill.c
  4198. fpw32\tran\mac\pmac\_fpctrl.c, _fpxpt.c, fpctrl.asm, frnd.c, huge.c, ieee.c
  4199. libw32\include\mrc\cfrg.r, cfrg1024.r, cfrg256.r, cfrg512.r
  4200. libw32\lib\mppc\cfrg.rsc, cfrg1024.rsc, cfrg256.rsc, cfrg512.rsc
  4201. libw32\tools\m68k\aliasobj.exe
  4202. libw32\tools\pmac\aliasobj.exe, detab.exe, ifstrip.exe, pd.exe, striphdr.exe,
  4203. tolwrupr.exe, trailing.exe
  4204. srcrel\_sample_.r
  4205. Mac-only files delfiled from source tree.
  4206. -----------------------------------------------------------------
  4207. Fri 14-May-99 (PhilipLu)
  4208. crtw32\h\assert.h, conio.h, ctype.h, direct.h, dos.h, eh.h, errno.h, excpt.h,
  4209. float.h, fpieee.h, io.h, locale.h, malloc.h, math.h, mbctype.h, mbstring.h,
  4210. memory.h, new.h, process.h, search.h, setjmp.h, signal.h, stddef.h, stdio.h,
  4211. stdlib.h, string.h, time.h, wchar.h
  4212. crtw32\h\sys\stat.h, timeb.h, utime.h
  4213. crtw32\stdhpp\wctype.h
  4214. fpw32\include\cv.h, trans.h
  4215. libw32\include\assert.h, conio.h, ctype.h, direct.h, dos.h, eh.h, errno.h,
  4216. excpt.h, float.h, fpieee.h, io.h, locale.h, malloc.h, math.h, mbctype.h,
  4217. mbstring.h, memory.h, new.h, process.h, search.h, setjmp.h, signal.h,
  4218. stddef.h, stdio.h, stdlib.h, string.h, time.h, wchar.h, wctype.h
  4219. libw32\include\sys\stat.h, timeb.h, utime.h
  4220. srcrel\msvc40.if
  4221. Remove all defs of _CRTAPI1/2. There were no uses.
  4222. crtw32\h\win32s.h [delfiled]
  4223. crtw32\heap\handler.cpp, heapinit.c, malloc.c, oldnew.c, _newmode.c
  4224. crtw32\iostream\cerrinit.cpp, cininit.cpp, cloginit.cpp, iostrini.cpp
  4225. crtw32\linkopts\newnew.c
  4226. crtw32\lowio\lowio.mkf
  4227. crtw32\misc\ctype.c, dbghook.c, inithelp.c, lconv.c, misc.mkf, nlsdata1.c,
  4228. nlsdata3.c, wsetloca.c
  4229. crtw32\startup\mlock.c
  4230. crtw32\stdio\ncommode.c, rmtmp.c, stream.c, tmpfile.c
  4231. crtw32\time\timeset.c
  4232. doc\copysrc.bat
  4233. fpw32\tran\matherr.c
  4234. libw32\buildall.cmd, makefile, msvcrt.src
  4235. srcrel\msvc40.if, pd-b
  4236. Eliminate all Win32s code still hanging around.
  4237. -----------------------------------------------------------------
  4238. Thu 13-May-99 (PhilipLu)
  4239. crtw32\stdcpp\iosptrs.cpp
  4240. crtw32\stdhpp\xstddef
  4241. libw32\include\xstddef
  4242. Missing __cdecl in prototype for _Loc_atexit.
  4243. -----------------------------------------------------------------
  4244. Thu 13-May-99 (PhilipLu)
  4245. makefile
  4246. crtw32\dllstuff\crtdll.c, crtexe.c
  4247. crtw32\h\rtcapi.h, rtcpriv.h, rtcsup.h
  4248. crtw32\misc\alpha\chkesp.c
  4249. crtw32\misc\i386\chkesp.c
  4250. crtw32\rtc\bintree.cpp, callsite.cpp, chsyheap.cpp, contain.cpp, convert.cpp,
  4251. error.cpp, fileio.cpp, init.cpp, initsect.cpp, memory.cpp, pdblkup.cpp,
  4252. shadow.cpp, stack.cpp, userapi.cpp
  4253. crtw32\startup\crt0.c, crt0dat.c, dllcrt0.c
  4254. crtw32\stdcpp\delaop.cpp, delop.cpp, newaop.cpp, newaop2.cpp, newop.cpp,
  4255. newop2.cpp
  4256. libw32\include\rtcapi.h
  4257. libw32\msvcrt.src
  4258. srcrel\msvc40.if
  4259. _CC_RUNTIME_CHECKS -> _RTC and other minor RTC cleanup
  4260. -----------------------------------------------------------------
  4261. Wed 12-May-99 (PhilipLu)
  4262. makefile, makefile.inc, makefile.sub
  4263. crtw32\eh\rtti.cpp
  4264. crtw32\heap\expand.c, free.c, malloc.c, new2.cpp
  4265. crtw32\misc\dbgheap.c, lsources
  4266. crtw32\misc\alpha\setjmp.s, setjmpex.s
  4267. crtw32\stdcpp\locale.cpp, locale0.cpp, wlocale.cpp, xlocale.cpp,
  4268. xstrcoll.c, xwcscoll.c
  4269. crtw32\stdhpp\ostream, streambuf, xlocale
  4270. libw32\msvcrt.src
  4271. libw32\include\ostream, rtcapi.h, streambuf, xlocale
  4272. srcrel\makefile, objects.mkf
  4273. Improve method used to disable RTC support in Win64. Fix Win64 build
  4274. for Alpha64 and IA64.
  4275. -----------------------------------------------------------------
  4276. Tue 11-May-99 (KFrei)
  4277. This stuff moves all the runtime check code under #ifdef _CC_RUNTIME_CHECKS
  4278. makefile
  4279. Only define _CC_RUNTIME_CHECKS for non LLP64 builds
  4280. crtw32\dllstuff\crtdll.c, crtexe.c
  4281. crtw32\startup\crt0.c, crt0dat.c, dllcrt0.c
  4282. #ifdef'ed RTC init and term code
  4283. crtw32\h\rtcapi.h, rtcpriv.h, rtcsup.h
  4284. crtw32\libw32\include\rtcapi.h
  4285. #ifdef'ed the entire contents of the headers
  4286. crtw32\misc\alpha\chkesp.c
  4287. crtw32\misc\i386\chkesp.c
  4288. #ifdef'ed the initialization, shutdown and syncronization stuff
  4289. crtw32\rtc\bintree.cpp, callsite.cpp, chsyheap.cpp, contain.cpp, convert.cpp,
  4290. error.cpp, fileio.cpp, init.cpp, initsect.cpp, memory.cpp, pdblkup.cpp,
  4291. shadow.cpp, stack.cpp, userapi.cpp
  4292. Everything is now empty #ifndef _CC_RUNTIME_CHECKS
  4293. crtw32\stdcpp\delaop.cpp, delop.cpp, newaop.cpp, newaop2.cpp, newop.cpp, newop2.cpp
  4294. Put all the usage of the RTC code under _CC_RUNTIME_CHECKS
  4295. crtw32\libw32\msvcrt.src
  4296. put _CRT_RTC_INIT export under #ifdef _CC_RUNTIME_CHECKS
  4297. -----------------------------------------------------------------
  4298. Mon 10-May-99 (GregF)
  4299. crtw32\convert\wcstombs.c, wctomb.c
  4300. crtw32\misc\a_loc.c, a_map.c, w_cmp.c, w_map.c, w_str.c
  4301. crtw32\stdcpp\xwctomb.c
  4302. crtw32\time\tzset.c
  4303. Changed the dwFlags argument to WideCharToMultiByte to be zero. This was
  4304. suggested by K. D. Chang to avoid problems with codepage 1258 on NT 5.0.
  4305. -----------------------------------------------------------------
  4306. Wed 05-May-99 (rlanser)
  4307. These are all ports from the CRT64 or CRT64_SIZET_32 trees (PhilipLu)
  4308. makefile
  4309. link /debugtype:both,fixup for IA64
  4310. crtw32\eh\frame.cpp
  4311. Add __unaligned.
  4312. crtw32\misc\assert.c
  4313. Define _DbgBreak for IA64.
  4314. crtw32\h\crtdbg.h
  4315. libw32\include\crtdbg.h
  4316. Define _CrtDbgBeak for IA64.
  4317. fpw32\conv\tenpow.c
  4318. fpw32\include\cv.h
  4319. Added _M_IA64 to alignment #if's.
  4320. -----------------------------------------------------------------
  4321. Wed 05-May-99 (PhilipLu)
  4322. srcrel\clnsrcrel.bat, makefile
  4323. Don't copy platform-specific files of other platforms. Saves copying about
  4324. 500 files on 32-bit x86 build.
  4325. crtw32\eh\throw.cpp
  4326. Buildfix for newer Win headers with new prototype of RaiseException, while
  4327. still allowing build with old headers missing definition of PULONG_PTR.
  4328. crtw32\misc\alpha\chandler.c
  4329. crtw32\startup\alpha\chkstk.s
  4330. Buildfixes for 32-bit Alpha build after 64-bit merge.
  4331. -----------------------------------------------------------------
  4332. Tue 04-May-99 (PhilipLu)
  4333. crtw32\dllstuff\ia64\dllsupp.c
  4334. crtw32\h\sect_attribs.h
  4335. crtw32\misc\ia64\chandler.c, cinitone.s, jmpuwind.s, longjmp.s, memcpys.s,
  4336. memsets.s, miscs.s, setjmp.s, setjmpex.s
  4337. crtw32\startup\ia64\chkstk.s, fp8.c,
  4338. crtw32\stdcpp\dirs, sources.nt
  4339. crtw32\stdcpp\stp\makefile, sources
  4340. fpw32\conv\psx\makefile, sources
  4341. fpw32\tran\axp64\acos.s, acosf.s, asin.s, asinacos.s, asinf.s, ata_tabs.s,
  4342. ata_tabt.s, atan2f.s, atan2s.s, atanf.s, atans.s, cabs.s, cabsf.s,
  4343. captcont.s, ceilf.s, ceils.s, chopt.s, copysgnf.s, cos_vo.s, cosf.s,
  4344. cosf_vo.s, cosh.s, coshf.s, coss.s, cot.s, cotf.s, dpml_com.s, expf.s,
  4345. exps.s, f_acos.s, f_acosf.s, f_asin.s, f_asinf.s, f_atan.s, f_atan2.s,
  4346. f_atan2f.s, f_atanf.s, f_cos.s, f_cosf.s, f_exp.s, f_expf.s, f_hypot.s,
  4347. f_hypotf.s, f_log.s, f_log10.s, f_log10f.s, f_logf.s, f_pow.s, f_powf.s,
  4348. f_sin.s, f_sincof.s, f_sincos.s, f_sinf.s, f_sqrt.s, f_sqrtf.s, f_tan.s,
  4349. f_tanf.s, fabsf.s, fabss.s, finitef.s, floorf.s, floors.s, fmodf.s,
  4350. fmods.s, fp_clasf.s, fpctrl.s, fpint.s, frexp.s, frexpf.s, frnd.s,
  4351. huge.s, hypotf.s, hypots.s, invtrigs.s, invtrigt.s, isnanf.s, j0f.s,
  4352. j1f.s, jnf.s, l10_tabt.s, ldexp.s, log10f.s, log10s.s, log_tabt.s,
  4353. logbf.s, logf.s, logs.s, modff.s, modfs.s, nextaftf.s, pow_tabt.s,
  4354. powcerr.s, powf.s, pows.s, rsqrt.s, rsqrtf.s, sin_tabt.s, sin_vo.s,
  4355. sincofvo.s, sincos.s, sincosf.s, sincosvo.s, sinf.s, sinf_vo.s, sinh.s,
  4356. sinhcosf.s, sinhcosh.s, sinhf.s, sins.s, specexp.s, specexpf.s,
  4357. sqr_tabt.s, sqrtf.s, sqrts.s, tan_tabt.s, tanf.s, tanh.s, tanhf.s,
  4358. tans.s, trig_rdf.s, trig_rdx.s, trig_tab.s, y0f.s, y1f.s, ynf.s
  4359. fpw32\tran\ia64\asincosf.c, atan2f.c, atanf.c, ceilf.c, em_types.h, emfloat.s,
  4360. expf.c, fabsf.c, filter.c, floorf.c, fmodf.c, fp80.s, fp80c.c, fpctrl.c,
  4361. fpieee_flt.h, frnd.s, huge.s, ieee.c, log10f.c, logf.c, powf.c,
  4362. sincosf.c, sincoshf.c, sqrtf.c, tanf.c, tanhf.c
  4363. fpw32\tran\psx\makefile, sources
  4364. libw32\lib\axp64\
  4365. libw32\lib\ia64\
  4366. libw32\lib\stp\makefile, makefile.inc, sources
  4367. libw32\tools\ia64\aliasobj.exe, detab.exe, ifstrip.exe, pd.exe, striphdr.exe,
  4368. tolwrupr.exe, trailing.exe
  4369. Merging 64-bit CRT with 32-bit CRT. Added new files from the CRT 64 tree.
  4370. log_64.txt
  4371. Merging 64-bit CRT with 32-bit CRT. Save log.txt from CRT 64 tree under
  4372. new name.
  4373. makefile
  4374. makefile.inc
  4375. makefile.sub
  4376. crtw32\crt32.nt, dirs
  4377. crtw32\convert\_mbslen.c, atof.c, mblen.c, mbstowcs.c, strtod.c, wcstombs.c
  4378. crtw32\direct\findf64.c, findfile.c
  4379. crtw32\dllstuff\cinitexe.c, crtdll.c, crtexe.c, lsources
  4380. crtw32\dllstuff\dlllib\sources
  4381. crtw32\dos\fullpath.c
  4382. crtw32\eh\frame.cpp, lsources, oldexcpt.cpp, oldexcpt.h, sources.nt, throw.cpp,
  4383. unhandld.cpp
  4384. crtw32\eh\alpha\bridge.s, ehunwind.c, xcptmisc.h, xcptmisc.s
  4385. crtw32\eh\dll\sources
  4386. crtw32\eh\ia64\ehstate.cpp, handlerc.cpp, handlers.s, trnsctrl.cpp
  4387. crtw32\eh\mt\sources
  4388. crtw32\eh\nt\sources
  4389. crtw32\eh\st\sources
  4390. crtw32\exec\cenvarg.c, dospawn.c, execl.c, execle.c, execlp.c, execlpe.c,
  4391. execv.c, execvp.c, execvpe.c, getproc.c, loaddll.c, spawnl.c,
  4392. spawnle.c, spawnlp.c, spawnlpe.c, spawnv.c, spawnve.c, spawnvp.c,
  4393. spawnvpe.c, system.c, wait.c
  4394. crtw32\h\assert.h, conio.h, crtdbg.h, cruntime.h, ctime.h, ctype.h, direct.h,
  4395. dos.h, eh.h, ehstate.h, errno.h, excpt.h, float.h, fpieee.h, heap.h,
  4396. internal.h, io.h, locale.h, malloc.h, math.h, mbctype.h, mbstring.h,
  4397. memory.h, mtdll.h, new.h, nlsint.h, process.h, search.h, setjmp.h,
  4398. signal.h, stdarg.h, stddef.h, stdexcpt.h, stdio.h, stdlib.h, streamb.h,
  4399. string.h, time.h, trnsctrl.h, varargs.h, wchar.h, winheap.h
  4400. crtw32\h\sys\stat.h, timeb.h, types.h, utime.h
  4401. crtw32\heap\new.cpp
  4402. crtw32\heap\dll\sources
  4403. crtw32\heap\mt\sources
  4404. crtw32\heap\st\sources
  4405. crtw32\helper\lsources, sources.nt
  4406. crtw32\iostream\_strstre.cpp, ostream.cpp, stdiostr.cpp, streamb.cpp
  4407. crtw32\linkopts\lsources
  4408. crtw32\lowio\cgets.c, close.c, cputs.c, dup.c, dup2.c, getch.c, initcon.c,
  4409. ioinit.c, open.c, osfinfo.c, pipe.c, putch.c, read.c, write.c
  4410. crtw32\mbstring\mbctype.c, mbsnbcol.c, mbsnbico.c, mbsncoll.c, mbsnicol.c,
  4411. sources.nt
  4412. crtw32\misc\a_env.c, bsearch.c, charmax.c, dbgheap.c, dbgnew.cpp, dbgrpt.c,
  4413. getenv.c, lsources, onexit.c, perror.c, putenv.c, qsort.c, setenv.c,
  4414. setlocal.c, splitpat.c, w_env.c, wperror.c, wsetloca.c
  4415. crtw32\misc\alpha\chandler.c, ghandler.c, jmpuwind.s, longjmp.s, otsjmp.s,
  4416. otsjmpex.s
  4417. crtw32\misc\dll\sources
  4418. crtw32\misc\mt\sources
  4419. crtw32\misc\nt\sources
  4420. crtw32\misc\psx\sources
  4421. crtw32\misc\st\sources
  4422. crtw32\startup\crt0.c, crt0dat.c, crt0init.c, crt0msg.c, lsources, startup.mkf,
  4423. stdenvp.c, thread.c, threadex.c, tidtable.c, tlssup.c, wild.c
  4424. crtw32\startup\alpha\chkstk.s
  4425. crtw32\startup\dll\sources
  4426. crtw32\startup\dlllib\sources
  4427. crtw32\startup\mt\sources
  4428. crtw32\startup\nt\sources
  4429. crtw32\startup\psx\sources
  4430. crtw32\startup\st\sources
  4431. crtw32\stdcpp\xstrcoll.c, xstrxfrm.c, xwcscoll.c, xwcsxfrm.c
  4432. crtw32\stdio\_file.c, _flsbuf.c, fflush.c, fputs.c, fputws.c, fread.c, ftell.c,
  4433. ftelli64.c, fwrite.c, input.c, output.c, popen.c, puts.c, rmtmp.c,
  4434. setvbuf.c, sprintf.c, sscanf.c, swprintf.c, swscanf.c, tempnam.c,
  4435. vsprintf.c, vswprint.c
  4436. crtw32\string\lsources, memcpy.c, memmove.c, memset.c, sources.nt, strncoll.c,
  4437. strnicol.c, strset.c, strxfrm.c, wcscspn.c, wcsncoll.c, wcsnicol.c,
  4438. wcsspn.c, wcsxfrm.c
  4439. crtw32\time\clock.c, dtoxtime.c, gmtime.c, localtim.c, mktime.c, wcsftime.c
  4440. fpw32\conv\cfin.c, fltinf.c, fpinit.c
  4441. fpw32\include\cv.h, trans.h
  4442. fpw32\tran\asincos.c, atan.c, bessel.c, ceil.c, exp.c, fabs.c, floor.c, fmod.c,
  4443. fpexcept.c, frexp.c, hypot.c, ieeemisc.c, ldexp.c, log.c, lsources,
  4444. modf.c, pow.c, sincos.c, sincosh.c, sources.nt, sqrt.c, tan.c, tanh.c
  4445. fpw32\tran\alpha\dpml_exc.c, filter.c
  4446. fpw32\tran\i386\filter_simd.c, xmmi_fp_emul.c
  4447. libw32\makefile, msvcirt.src, msvcrt.src
  4448. libw32\include\assert.h, conio.h, crtdbg.h, ctype.h, direct.h, dos.h, eh.h,
  4449. errno.h, excpt.h, float.h, fpieee.h, io.h, locale.h, malloc.h, math.h,
  4450. mbctype.h, mbstring.h, memory.h, new.h, process.h, search.h, setjmp.h,
  4451. signal.h, stdarg.h, stddef.h, stdexcpt.h, stdio.h, stdlib.h, streamb.h,
  4452. string.h, time.h, varargs.h, wchar.h
  4453. libw32\include\sys\stat.h, timeb.h, types.h, utime.h
  4454. libw32\lib\dirs, sources.nt
  4455. srcrel\external.mkf, makefile, mkclnmkf.c, msvc40.if, objects.mkf, pd-b
  4456. Merging 64-bit CRT with 32-bit CRT. Merged in diffs from CRT 64 tree.
  4457. crtw32\heap\calloc.c, expand.c, free.c, heapchk.c, heapinit.c, heapmin.c,
  4458. malloc.c, msize.c, realloc.c, sbheap.c
  4459. Merging 64-bit CRT with 32-bit CRT. Merged in diffs from CRT 64 tree.
  4460. Also, disable the small block heap under Win64. All heap routines just
  4461. pass through to the underlying OS APIs.
  4462. -----------------------------------------------------------------
  4463. Mon 26-Apr-99 (PhilipLu)
  4464. crtw32\eh\comerr.cpp
  4465. crtw32\h\comerr.h
  4466. crtw32\winheap\*.*
  4467. libw32\include\comerr.h
  4468. Delfile unnecessary files
  4469. -----------------------------------------------------------------
  4470. Mon 26-Apr-99 (PhilipLu)
  4471. crtw32\h\mtdll.h, setlocal.h
  4472. crtw32\misc\initmon.c, initnum.c, setlocal.c
  4473. crtw32\startup\tidtable.c
  4474. Introduced one more reference counter for pieces of the per-thread locale
  4475. information, cleaned up more setlocale memory leaks.
  4476. -----------------------------------------------------------------
  4477. Fri 16-Apr-99 (GregF)
  4478. crtw32\heap\realloc.c
  4479. Added a call to __sbh_find_block to handle the case where __sbh_alloc_block
  4480. has caused the header list to be moved. This fixes VS7 #14020.
  4481. -----------------------------------------------------------------
  4482. Wed 14-Apr-99 (PhilipLu)
  4483. crtw32\stdcpp\delaop.cpp, delop.cpp, newaop.cpp, newaop2.cpp, newop.cpp,
  4484. newop2.cpp
  4485. Add back RTC functionality wiped out by STL integration (whoops)
  4486. crtw32\stdcpp\iosptrs.cpp
  4487. crtw32\stdhpp\xstddef
  4488. Missing __cdecl in funcptr arg to _Loc_atexit
  4489. crtw32\stdhpp\cassert, iosfwd
  4490. Minor cleanup missed in STL integration
  4491. crtw32\tools\win32\relinc.cmd
  4492. Add STL header xlocmes to cleansing
  4493. -----------------------------------------------------------------
  4494. Tue 13-Apr-99 (PhilipLu)
  4495. makefile, makefile.inc, srcrel\pd-b
  4496. Add new files stdcpp\cerr.cpp, stdcpp\cin.cpp, stdcpp\clog.cpp,
  4497. stdcpp\cout.cpp, stdcpp\iosptrs.cpp, stdcpp\wcerr.cpp, stdcpp\wcin.cpp,
  4498. stdcpp\wclog.cpp, stdcpp\wcout.cpp, stdhpp\hash_map, stdhpp\hash_set,
  4499. stdhpp\xhash, libw32\include\hash_map, libw32\include\hash_set,
  4500. libw32\include\xhash.
  4501. doc\copysrc.bat
  4502. Add new files, plus missing files delaop.cpp, dealop_s.cpp, newaop.cpp,
  4503. newaop2.cpp, newaop_s.cpp, newaop2_s.cpp, stdthrow.cpp.
  4504. crtw32\stdcpp\cerr.cpp [NEW], cin.cpp [NEW], clog.cpp [NEW], cout.cpp [NEW],
  4505. delaop.cpp, delop.cpp, fiopen.cpp, iomanip.cpp, ios.cpp,
  4506. iosptrs.cpp [NEW], iostream.cpp, locale.cpp, LOCALE0.CPP, newaop.cpp,
  4507. newaop2.cpp, newop.cpp, newop2.cpp, nomemory.cpp, stdthrow.cpp,
  4508. string.cpp, strstrea.cpp, uncaught.cpp, wcerr.cpp [NEW], wcin.cpp [NEW],
  4509. wclog.cpp [NEW], wcout.cpp [NEW], wctrans.c, wctype.c, wiostrea.cpp,
  4510. wlocale.cpp, xcosh.c, xdnorm.c, xdscale.c, xdtest.c, xexp.c, xfcosh.c,
  4511. xfdnorm.c, xfdscale.c, xfdtest.c, xfexp.c, xfsinh.c, xfvalues.c,
  4512. xlcosh.c, xldnorm.c, xldscale.c, xldtest.c, xlexp.c, xlocale.cpp,
  4513. xlpoly.c, xlsinh.c, xlvalues.c, xmath.h, xmbtowc.c, xpoly.c, xsinh.c,
  4514. xstod.c, xvalues.c, xwctomb.c
  4515. Update all files to Plauger's drop of 12/15/98.
  4516. crtw32\stdhpp\algorithm, bitset, cassert, cctype, cerrno, cfloat, ciso646,
  4517. climits, clocale, cmath, complex, csetjmp, csignal, cstdarg, cstddef,
  4518. cstdio, cstdlib, cstring, ctime, cwchar, cwctype, deque, exception,
  4519. fstream, functional, hash_map [NEW], hash_set [NEW], iomanip, ios,
  4520. iosfwd, iostream, iso646.h, istream, iterator, limits, list, locale,
  4521. map, memory, new, numeric, ostream, queue, set, sstream, stack,
  4522. stdexcept, streambuf, string, strstream, typeinfo, utility, valarray,
  4523. vector, xcomplex, xhash [NEW], xiosbase, xlocale, xlocinfo, xlocinfo.h,
  4524. xlocmes, xlocmon, xlocnum, xloctime, xmemory, xstddef, xstring, xtree,
  4525. xutility, ymath.h, yvals.h
  4526. Update all files to Plauger's drop of 12/15/98.
  4527. crtw32\tools\win32\relinc.cmd
  4528. Cleanse and copy new STL headers hash_map, hash_set, and xhash.
  4529. libw32\include
  4530. Update all STL headers to Plauger's drop of 12/15/98.
  4531. -----------------------------------------------------------------
  4532. Fri 09-Apr-99 (v-JohnMo)
  4533. crtw32\helper\lsources
  4534. crtw32\helper\sources.nt
  4535. crtw32\helper\alpha\sfillx.s
  4536. crtw32\helper\alpha\sfwdcpy.s
  4537. srcrel\objects.mkf
  4538. srcrel\pd-b
  4539. Added a couple of helper functions for Alpha UTC backend support
  4540. -----------------------------------------------------------------
  4541. Thu 08-Apr-99 (GregF)
  4542. crtw32\convert\mbtowc.c
  4543. Replaced MT with _MT, oops...
  4544. -----------------------------------------------------------------
  4545. Thu 08-Apr-99 (GregF)
  4546. crtw32\h\mtdll.h, setlocal.h
  4547. crtw32\misc\initctyp.c, initmon.c, initnum.c, setlocal.c
  4548. crtw32\startup\tidtable.c
  4549. crtw32\time\strftime.c
  4550. Introduced more reference counters for pieces of the per-thread locale
  4551. information.
  4552. -----------------------------------------------------------------
  4553. Wed 07-Apr-99 (PhilipLu)
  4554. log.txt -> log_v60.txt
  4555. Renamed old LOG.TXT from V6.0 and started a new LOG.TXT (this file).
  4556. -----------------------------------------------------------------
  4557. ***************************************************************************
  4558. ***************************************************************************
  4559. *** ***
  4560. *** This file contains the history for MSVC++ v7.0 (relative to v6.0) ***
  4561. *** The file should always be edited at the top so that the most ***
  4562. *** recent changes are at the beginning of the file and the oldest ***
  4563. *** changes are at the end of the file. This comment marks the end. ***
  4564. *** ***
  4565. ***************************************************************************
  4566. ***************************************************************************