[cfe-commits] [libcxxabi] r149414 - in /libcxxabi/trunk: lib/buildit src/cxa_personality.cpp

Howard Hinnant hhinnant at apple.com
Tue Jan 31 12:22:59 PST 2012


Author: hhinnant
Date: Tue Jan 31 14:22:59 2012
New Revision: 149414

URL: http://llvm.org/viewvc/llvm-project?rev=149414&view=rev
Log:
Back the optimization down from -O3 to -Os.  I'm getting an unexplained crasher on -O3.  I've looked for a libc++abi bug and can't find one.  I'm suspecting clang optimizer bug.  But I don't have a good test case at the moment.  Deferring investigation on this for now as I will soon be developing more and smaller tests.

Modified:
    libcxxabi/trunk/lib/buildit
    libcxxabi/trunk/src/cxa_personality.cpp

Modified: libcxxabi/trunk/lib/buildit
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/lib/buildit?rev=149414&r1=149413&r2=149414&view=diff
==============================================================================
--- libcxxabi/trunk/lib/buildit (original)
+++ libcxxabi/trunk/lib/buildit Tue Jan 31 14:22:59 2012
@@ -73,7 +73,7 @@
 set -x
 
 for FILE in ../src/*.cpp; do
-	$CXX -c -g -O3 $RC_CFLAGS $EXTRA_FLAGS -I../include $FILE
+	$CXX -c -g -Os $RC_CFLAGS $EXTRA_FLAGS -I../include $FILE
 done
 case $TRIPLE in
   *-*-mingw*)

Modified: libcxxabi/trunk/src/cxa_personality.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/cxa_personality.cpp?rev=149414&r1=149413&r2=149414&view=diff
==============================================================================
--- libcxxabi/trunk/src/cxa_personality.cpp (original)
+++ libcxxabi/trunk/src/cxa_personality.cpp Tue Jan 31 14:22:59 2012
@@ -774,11 +774,13 @@
         Transfer control to landing pad.  return _URC_INSTALL_CONTEXT
     
     Else
-    
+
+        This branch handles both normal C++ non-catching handlers (cleanups)
+          and forced unwinding.    
         Scan for anything that can not stop unwinding:
     
             1.  A cleanup.
-        
+
         If a cleanup is found
             transfer control to it. return _URC_INSTALL_CONTEXT
         Else a cleanup is not found: return _URC_CONTINUE_UNWIND





More information about the cfe-commits mailing list