[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