Source code of Windows XP (NT5)
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.

598 lines
18 KiB

  1. ***************************************************************************
  2. ***************************************************************************
  3. *** ***
  4. *** This file contains the change history for the MSVC++ v4.1 C/C++ ***
  5. *** Run-Time Libraries (that is, modifications since since 4.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. Wed 21-Feb-96 (SteveSa)
  14. crtw32\misc\dbgheap.c
  15. Protected the call to HeapValidate() in _CrtIsValidHeapPtr(), so
  16. that it is skipped on Win32s and Windows 95, which don't support
  17. HeapValidate(). Previous fix (14-Feb) was for Win32s DLL only.
  18. -----------------------------------------------------------------
  19. Mon 18-Feb-96 (SteveSa)
  20. crtw32\lowio\osfinfo.c
  21. Fixed error in file handle locking code that occurred on the
  22. first file handle in a new block file handles. The wrong handle
  23. was locked, which shows up dramatically in Windows NT v4.0.
  24. -----------------------------------------------------------------
  25. Wed 14-Feb-96 (SteveSa)
  26. crtw32\misc\dbgheap.c
  27. Again removed call to HeapValidate() in _CrtIsValidHeapPtr(),
  28. BUT ONLY for Win32s DLL. The call remains for Windows 95/NT.
  29. -----------------------------------------------------------------
  30. Wed 31-Jan-96 (JamesMa)
  31. fpw32\tran\i386\testfdiv.c
  32. Now resets process affinity mask, not system affinity mask - at
  33. the 'suggestion' of MarkL.
  34. -----------------------------------------------------------------
  35. Mon 22-Jan-96 (SteveSa)
  36. crtw32\misc\dbgheap.c
  37. Restored call to HeapValidate() to _CrtIsValidHeapPtr(). This call
  38. was commented out last summer because of problems with the Debug IDE
  39. BVTs (tests). Those problems cannot be reproduced.
  40. -----------------------------------------------------------------
  41. Fri 19-Jan-96 (GregF)
  42. crtw32\time\tzset.c
  43. Added bit of code to ensure the _tzname[] strings are terminated with
  44. a null character. This was Speed bug 4552.
  45. -----------------------------------------------------------------
  46. Wed 03-Jan-96 (JamesMa)
  47. fpw32\tran\i386\87triga.asm
  48. Atan2(0,0) now returns 0 (Speed bug 2176).
  49. -----------------------------------------------------------------
  50. Tue 02-Jan-96 (JamesMa)
  51. crtw32\misc\dbgdel.cpp
  52. New file, split from dbgnew.cpp (Speed bug 3715).
  53. crtw32\heap\setnewh.cpp
  54. New file, split from handler.cpp (Speed bug 4130).
  55. crtw32\misc\dbgnew.cpp, crtw32\heap\handler.cpp
  56. makefile, makefile.inc, srcrel\pd-b, doc\copycrt.bat,
  57. crtw32\misc\lsources, crtw32\heap\lsources
  58. -----------------------------------------------------------------
  59. Mon 01-Jan-96 (BryanT)
  60. crtw32\h\limits.h
  61. libw32\include\limits.h
  62. Define LINK_MAX for POSIX
  63. crtw32\h\wchar.h
  64. libw32\include\wchar.h
  65. Don't define some types for POSIX
  66. -----------------------------------------------------------------
  67. Thu 28-Dec-95 (GregF)
  68. crt\crtw32\h\stdio.h
  69. crt\crtw32\stdio\setmaxf.c, fflush.c
  70. crt\libw32\msvcrt.src
  71. crt\libw32\include\stdio.h
  72. Fixed a rather badly broken _setmaxstdio() and a related bug in
  73. flsall() (see fflush.c). Also added _getmaxstdio(). This fixes SPEED
  74. bugs 2158 and 4327.
  75. -----------------------------------------------------------------
  76. Thu 21-Dec-95 (JamesMa)
  77. crt\crtw32\convert\gcvt.c
  78. '.' was replaced by *__decimal_point (Speed bug 2145).
  79. -----------------------------------------------------------------
  80. Thu 21-Dec-95 (GregF)
  81. crt\crtw32\string\i386\strncpy.asm
  82. Much faster version from Intel.
  83. -----------------------------------------------------------------
  84. Tue 19-Dec-95 (JamesMa)
  85. crtw32\h\*.h, crtw32\h\sys\*.h, libw32\include\*.h, libw32\include\sys\*.h
  86. '#pragma once' removed from assert.h; all other occurrences
  87. bracketed by '#if _MSC_VER > 1000/#endif'.
  88. -----------------------------------------------------------------
  89. Tue 19-Dec-95 (GregF)
  90. crt\crtw32\string\i386\strncat.asm
  91. Much faster version from Intel (with several bug fixes from me).
  92. -----------------------------------------------------------------
  93. Mon 18-Dec-95 (JamesMa)
  94. crtw32\eh\typname.cpp
  95. Debug version now allocates buffer as _CRT_BLOCK.
  96. crtw32\startup\crt0dat.c
  97. Doexit() can no longer recurse.
  98. crtw32\h\*.h, crtw32\h\sys\*.h, libw32\include\*.h, libw32\include\sys\*.h
  99. Add '#pragma once' to all headers.
  100. -----------------------------------------------------------------
  101. Thu 14-Dec-95 (BryanT)
  102. crtw32\eh\mips\trnsctrl.cpp, handlers.s, rtlmisc.s
  103. Fix for new 64-bit CONTEXT structures.
  104. crtw32\helper\ppc\dtou.s
  105. Fix from ChuckL.
  106. libw32\lib\dll\makefile.inc
  107. Add dependency on msvcrt.src.
  108. -----------------------------------------------------------------
  109. Wed 13-Dec-95 (SteveSa)
  110. crt/fpw32/tran/i386/testfdiv.c -
  111. Change call to LoadLibrary("kernel32") to GetModuleHandle(...)
  112. since KERNEL32.DLL will ALWAYS be loaded.
  113. -----------------------------------------------------------------
  114. Wed 13-Dec-95 (GregF)
  115. crt\crtw32\time\time.c
  116. Had gmt and gmt_cache switched in a key assigment, effectively
  117. disabling my workaround for the slow NT API. Mistake found and
  118. reported by Phil Lucido.
  119. -----------------------------------------------------------------
  120. Tue 12-Dec-95 (SteveSa)
  121. crt/fpw32/tran/i386/testfdiv.c -
  122. Reorganized the multi-processor check for a Pentium with the FDIV bug
  123. so that the check is done only once on single-processor systems.
  124. Previously the test was done twice on uni-processor systems -- once at
  125. the beginning of the routine and once in the loop to check all CPUs.
  126. -----------------------------------------------------------------
  127. Thu 07-Dec-95 (SteveSa)
  128. crt/crtw32/convert/wctomb.c
  129. crt/crtw32/convert/wcstombs.c
  130. crt/crtw32/h/mtdll.h
  131. crt/crtw32/stdio/_filbuf.c
  132. crt/crtw32/stdio/_flsbuf.c
  133. Fixed misspellings of _NTSUBSET_. It was only misspelled in comments
  134. in the four files other than <mtdll.h>. But there it was in an #if.
  135. -----------------------------------------------------------------
  136. Wed 06-Dec-95 (GregF)
  137. crt\crtw32\string\i386\strstr.asm
  138. Faster version from Intel.
  139. -----------------------------------------------------------------
  140. Tue 05-Dec-95 (SteveSa)
  141. crt/crtw32/lowio/cgets.c
  142. crt/crtw32/lowio/cputs.c
  143. crt/crtw32/lowio/getch.c
  144. crt/crtw32/lowio/putch.c
  145. crt/crtw32/lowio/initcon.c
  146. To improve DLL load time, the console I/O handles _confh and _coninpfh
  147. are no longer initialized at CRTL start-up but rather are initialized
  148. on demand. From initial tests, this seems to speed up the loading of
  149. MSVCRT40.DLL by 4-20%.
  150. Revised Fri 08-Dec-95 to work correctly under Win32s, and to save code.
  151. -----------------------------------------------------------------
  152. Thu 30-Nov-95 (SteveSa)
  153. crt/crtw32/misc/cmiscdat.c -
  154. VC++ 4.1 (SPEED) bug 2188 - removed obsolete comments which were
  155. relevant in the 16-bit world but are no longer. Updated copyright.
  156. -----------------------------------------------------------------
  157. Thu 30-Nov-95 (GregF)
  158. crt\crtw32\string\i386\strchr.asm, strlen.asm
  159. The new strchr() is a much faster (also fatter) version from Intel.
  160. The only change to strlen.asm was to align the main loop entry on
  161. a 16-byte boundary (for 486 and P6).
  162. -----------------------------------------------------------------
  163. Tue 28-Nov-95 (SteveSa)
  164. crtw32/dos/stat.c -
  165. Change special case code that handles root directories (such as
  166. 'C:/' or 'X:\') to also handle UNC names such as '//server/share/'
  167. or '\\server\share\'. Note that Win32 requires the trailing slash.
  168. -----------------------------------------------------------------
  169. Mon 27-Nov-95 (BryanT)
  170. crtw32\h\stdlib.h
  171. libw32\include\stdlib.h
  172. Add __cdecl to _sleep/_beep/_seterrormode prototypes.
  173. -----------------------------------------------------------------
  174. Sun 26-Nov-95 (BryanT)
  175. crtw32\string\stricoll.c
  176. libw32\msvcrt.src
  177. Since stricmp() is merely a wrapper for strcmpi(), call strcmpi() directly
  178. if possible.
  179. -----------------------------------------------------------------
  180. Thu 16-Nov-95 (BryanT)
  181. crtw32\crt32.nt
  182. fpw32\fp32.nt
  183. Define _WIN32 for ASM files (to get proper .586 designation)
  184. crtw32\h\cruntime.inc
  185. Fix POSIX build (it needs .586 also to compile string\strcat.asm)
  186. crtw32\misc\dlllib\sources
  187. crtw32\misc\i386\exsup.asm
  188. Don't link global_unwind2 into each image... Import from the CRT dll instead
  189. (this removes the last required reference to kernel32.dll)
  190. crtw32\startup\mlock.c
  191. #pragma optimiza("y", off) is only needed when you're going to run on the
  192. checked version of NT 3.1... Since the NT libs never do that, no need to
  193. disable it here.
  194. fpw32\tran\i386\87fmod.asm
  195. fpw32\tran\i386\87tran.asm
  196. Remove more fdiv workarounds.
  197. -----------------------------------------------------------------
  198. Wed 15-Nov-95 (GregF)
  199. crtw32\time\tzset.c
  200. Set the year fields of dststart and dstend to -1 to ensure they
  201. are recomputed after a call to _tzset.
  202. -----------------------------------------------------------------
  203. Tue 14-Nov-95 (BryanT)
  204. crtw32\misc\splitpat.c
  205. Don't use MBCS on splitpath for NTSUBSET
  206. crtw32\startup\nt\sources
  207. Add crt0fp.c
  208. fpw32\fp32.nt
  209. fpw32\conv\fpinit.c
  210. fpw32\tran\sources.nt
  211. fpw32\tran\i386\87tran.asm
  212. fpw32\tran\i386\87fmod.asm
  213. Don't use CRT workaround for P5 FDIV problem. The NT run-times
  214. will alway run on a system that handles it.
  215. -----------------------------------------------------------------
  216. Tue 14-Nov-95 (GregF)
  217. crtw32\string\i386\stricmp.asm
  218. Define/declare _strcmpi with a proc rather than a label directive.
  219. This was the last bit required to fix 2108.
  220. crtw32\string\i386\strcat.asm
  221. Aligned strcat to a paragraph boundary.
  222. -----------------------------------------------------------------
  223. Sun 12-Nov-95 (BryanT)
  224. crtw32\string\wcsicmp.c
  225. crtw32\string\wcsnicmp.c
  226. crtw32\string\wcsxfrm.c
  227. crtw32\string\strxfrm.c
  228. crtw32\misc\dlllib\sources
  229. crtw32\startup\dlllib\sources
  230. NT build fixes
  231. -----------------------------------------------------------------
  232. Fri 10-Nov-95 (v-rogerl)
  233. crt32\string\mips\strcpym.s
  234. crt32\string\mips\strcatm.s
  235. crt32\string\mips\memcpym.s
  236. Replace ALTERNATE_ENTRY with .weakext for -Gy build.
  237. -----------------------------------------------------------------
  238. Thu 09-Nov-95 (GregF)
  239. crtw32\dllstuff\crtlib.c
  240. Changed "ISTNT" to "IsTNT".
  241. crtw32\string\i386\memcmp.asm
  242. Checked in faster version from Intel. The last problem (i.e., the
  243. reason I had to back this out several months ago) was edi and esi
  244. were being pushed in the wrong order.
  245. -----------------------------------------------------------------
  246. Wed 08-Nov-95 (GregF)
  247. crtw32\time\tzset.c
  248. Fixed typo in _isindst(). Second call to _mlock(_TIME_LOCK) should
  249. have been _munlock(_TIME_LOCK).
  250. -----------------------------------------------------------------
  251. Tue 31-Oct-95 (GregF)
  252. crtw32\h\conio.h
  253. Backed out last change. The inp* and outp* functions are intrinsics
  254. so they cannot be _CRTIMP.
  255. -----------------------------------------------------------------
  256. Tue 31-Oct-95 (GregF)
  257. crtw32\h\conio.h
  258. libw32\msvcrt.src
  259. Export inp*, outp* for x86 msvcr*.dll. This was Olympus0 10299 and
  260. Olympus 1811.
  261. crtw32\string\strcoll.c, stricoll.c, strncoll.c, strnicol.c, wcscoll.c
  262. wcsicoll.c, wcsncoll.c, wcsnicol.c
  263. Pass SORT_STRINGSORT flag to CompareString* API (actually, to our own
  264. crtCompareString*, which then passes it on to the Win32 API) so that
  265. characters such as the dash and apostrophe are not ignored in
  266. comparisons. This was Olympus0 14755.
  267. -----------------------------------------------------------------
  268. Fri 27-Oct-95 (v-rogerl)
  269. fpw32\tran\mips\exptable.s
  270. fpw32\tran\mips\logtable.s
  271. fpw32\tran\mips\xsqrt.s
  272. Fix bogus mips code. Align .rdata 8 bytes so tables that
  273. are entered as words can work as double values.
  274. -----------------------------------------------------------------
  275. Fri 27-Oct-95 (GregF)
  276. crt\crtw32\stdio\fdopen.c
  277. Added check (for both Win32 and Mac builds) that the file handle
  278. passed to _fdopen() is open. This was Olympus0 10153.
  279. crt\crtw32\h\stdlib.h
  280. crt\libw32\include\stdlib.h
  281. #ifdef-out toupper/tolower for ANSI builds. The decls cannot be
  282. removed completely because they are documented (see the descripion
  283. of tolower and toupper in the Runtime Library Reference). The doc
  284. should be changed so that we may remove these decls in the future.
  285. This was Olympus 1314.
  286. -----------------------------------------------------------------
  287. Tue 24-Oct-95 (GregF)
  288. crt\crtw32\misc\searchen.c
  289. Use an internal buffer to construct the full pathname from the
  290. environment variable value and the file name. This was OLYMPUS0 9336.
  291. crt\crtw32\time\time.c
  292. Revised to minimize calls to GetTimeZoneInformation with used in a
  293. loop by only updating the DST status on whole minutes. This was done
  294. because GetTimeZoneInformation very expensive on NT 3.51.
  295. -----------------------------------------------------------------
  296. Tue 17-Oct-95 (SteveSa)
  297. crtw32/eh/mac/pmac/lowhelpr.asm
  298. crtw32/eh/mac/pmac/trnsctrl.cpp
  299. Propogate GlennN's and APennell's final EH fix to the PowerMac CRTL
  300. (after v4.0 for Intel X86 shipped).
  301. -----------------------------------------------------------------
  302. Tue 17-Oct-95 (GregF)
  303. crtw32\convert\_mbslen.c, mbstowcs.c, mbtowc.c, tolower.c, toupper.c,
  304. towlower.c, towupper.c
  305. crtw32\h\ctype.h, mtdll.h
  306. crtw32\misc\setlocal.c
  307. crtw32\startup\mlock.c
  308. crtw32\string\memicmp.c, strcoll.c, stricmp.c, stricoll.c, strlwr.c,
  309. strncoll.c, strnicmp.c, strnicol.c, strupr.c, strxfrm.c, wcscoll.c,
  310. wcsicmp.c, wcsicoll.c, wcslwr.c, wcsncoll.c, wcsnicmp.c, wcsnicol.c,
  311. wcsupr.c, wcsxfrm.c
  312. crtw32\string\i386\memicmp.asm, stricmp.asm, strnicmp.asm
  313. crtw32\time\strftime.c
  314. Package of changes implementing a more efficient scheme for 'locking'
  315. locale references. The basic idea is access to locale data only has to
  316. be serialized if at least one thread is executing setlocale().
  317. Also, memicmp.asm contains a fix for Olympus 2196 (< and > returns
  318. are reversed for non-C locales).
  319. -----------------------------------------------------------------
  320. Fri 06-Oct-95 (SteveSa)
  321. crtw32\direct\findfile.c
  322. crtw32\h\io.h
  323. libw32\include\io.h
  324. The filespec argument to _*findfirst should be CONST char *, not just
  325. char *. Also added missing underscores to func names in the comments.
  326. This was Olympus0 bug #13287.
  327. crtw32\h\new.h -
  328. updated so that when cleansed, it matches the new.h in libw32\include.
  329. (added missing __cdecl in the prototype of new_handler).
  330. crtw32\h\tchar.h -
  331. Fix Olympus0 bug #1175 here as well as in libw32\include\tchar.h
  332. (See Thu-05-Oct fixes)
  333. libw32\include\time.h
  334. updated for GregF's change today for crtw32\h\time.h
  335. -----------------------------------------------------------------
  336. Fri 06-Oct-95 (GregF)
  337. crtw32\direct\findfile.c
  338. crtw32\dos\stat.h
  339. crtw32\h\internal.h
  340. crtw32\lowio\fstat.h
  341. crtw32\time\dtoxtime.c, time.c
  342. Package of changes to properly handle the overlapping clock times
  343. which occur at the transition from DST back to Standard Time.
  344. This was Olympus 2128.
  345. -----------------------------------------------------------------
  346. Fri 06-Oct-95 (GregF)
  347. crtw32\dllstuff\crtlib.c
  348. crtw32\h\time.h, win32s.h
  349. crtw32\time\dtoxtime.c, mktime.c, localtim.c, timeset.c, tzset.c
  350. libw32\msvcrt.src
  351. Package of changes to fully support Win32 timezones. Main changes
  352. were to fix _isindst() to work with non-USA transition rules and
  353. to use _dstbias instead of a constant value (-3600) for the bias
  354. in seconds.
  355. This was Olympus0 3231.
  356. -----------------------------------------------------------------
  357. Thu 05-Oct-95 (SteveSa)
  358. srcrel\mkfiles.sed
  359. Remove stdio\maketabc.c from the list of files to be copied/cleansed.
  360. This file should not have been released in MSVC++ v4.0. No big deal.
  361. Also remove stdio\mac\initstd.c from that list. Same story. NBD.
  362. srcrel\makefile
  363. Change the rule to create pd-b to use the v4.1 source file server
  364. (\\lang1\slmv4.1) instead of the v4.0 name (\\lang1\v3slm).
  365. log.txt -> log_v40.txt
  366. renamed the v4.0 history file and started a new one
  367. crtw32\lowio\getch.c -- Olympus0 Bug #2193
  368. removed two lines of debugging code that were commented out with //
  369. libw32\include\tchar.h - Olympus0 Bug #1175
  370. __far is #defined to nothing -- should be unnecessary in 32-bit code!
  371. makefile -
  372. Change the rules for the oldnames and tcmap and tcmapdll object file
  373. directories so that oldnames.lib and tcmap.lib and tcmapdll.lib do
  374. not get incorrectly rebuilt. This occurs due to a bug in Windows NT
  375. v3.5x wherein sometimes a subdirectory has a creation time OLDER
  376. than the creation time of its parent directory.
  377. -----------------------------------------------------------------
  378. ***************************************************************************
  379. ***************************************************************************
  380. *** ***
  381. *** This file contains the history for MSVC++ v4.1 (relative to v4.0) ***
  382. *** The file should always be edited at the top so that the most ***
  383. *** recent changes are at the beginning of the file and the oldest ***
  384. *** changes are at the end of the file. This comment marks the end. ***
  385. *** ***
  386. ***************************************************************************
  387. ***************************************************************************
  388. -----------------------------------------------------------------