stdcxx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From far...@apache.org
Subject svn commit: r718626 - /stdcxx/branches/4.2.x/include/rw/_heap.cc
Date Tue, 18 Nov 2008 15:03:46 GMT
Author: faridz
Date: Tue Nov 18 07:03:45 2008
New Revision: 718626

URL: http://svn.apache.org/viewvc?rev=718626&view=rev
Log:
2008-11-18  Farid Zaripov  <faridz@apache.org>

	STDCXX-1022
	* include/rw/_heap.cc (__make_heap): Optimize the loop with fixing the ICE on MSVC.

Modified:
    stdcxx/branches/4.2.x/include/rw/_heap.cc

Modified: stdcxx/branches/4.2.x/include/rw/_heap.cc
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/include/rw/_heap.cc?rev=718626&r1=718625&r2=718626&view=diff
==============================================================================
--- stdcxx/branches/4.2.x/include/rw/_heap.cc (original)
+++ stdcxx/branches/4.2.x/include/rw/_heap.cc Tue Nov 18 07:03:45 2008
@@ -95,17 +95,10 @@
 
     const _Dist __dist = __last - __first;
 
-#if   !defined (_RWSTD_MSVC) || (1500 < _RWSTD_MSVC) \
-    || defined (_WIN64) || defined (_RWSTDDEBUG)
-    for (_Dist __parent = (__dist - 2) / 2; ; --__parent) {
-#else   // _RWSTD_MSVC <= 1500 && !_WIN64 && !_RWSTDDEBUG
-    // Workaround for ICE on 32-bit MSVC in optimized builds (STDCXX-1022)
-    for (_Dist __parent = (__dist - 2) / 2; 0 <= __parent; --__parent) {
-#endif   // !_RWSTD_MSVC || _RWSTD_MSVC > 1500 || _WIN64 || _RWSTDDEBUG
+    for (_Dist __parent = __dist / 2; 0 < __parent; ) {
+        --__parent;
         __adjust_heap (__first, __parent, __dist, *(__first + __parent),
                        __comp);
-        if (__parent == 0)
-            return;
     }
 }
 



Mime
View raw message