I've just committed initial support for 'zero-cost' exception
handling
in clang. Currently this only works for @finally and for @catch'ing
id types (I plan on fixing that limitation soon). I'd appreciate it
if anyone who has code which uses exceptions could test this. The
support should currently be enough for anything using NS_DURING and
friends to compile with zero-cost exceptions, rather than setjmp/
longjmp.
Is this in the llvm/clang svn tree ? I've been trying to do an update
and get this compiled today (revision 71215), but it fails for me:
llvm[4]: Compiling ASTContext.cpp for Debug build
In file included from /usr/home/petefrench/llvm-clang/llvm/tools/
clang/lib/AST/../../include/clang/AST/DeclBase.h:18,
from /usr/home/petefrench/llvm-clang/llvm/tools/
clang/lib/AST/../../include/clang/AST/Decl.h:17,
from /usr/home/petefrench/llvm-clang/llvm/tools/
clang/lib/AST/../../include/clang/AST/ASTContext.h:21,
from ASTContext.cpp:14:
/usr/home/petefrench/llvm-clang/llvm/include/llvm/ADT/
PointerIntPair.h: In instantiation of
'llvm::PointerIntPair<clang::Type*, 3u, unsigned int,
llvm::PointerLikeTypeTraits<clang::Type*> >':
/usr/home/petefrench/llvm-clang/llvm/tools/clang/lib/AST/../../
include/clang/AST/Type.h:76: instantiated from here
/usr/home/petefrench/llvm-clang/llvm/include/llvm/ADT/
PointerIntPair.h:43: warning: left shift count >= width of type
/usr/home/petefrench/llvm-clang/llvm/include/llvm/ADT/
PointerIntPair.h:43: error: overflow in constant expression
/usr/home/petefrench/llvm-clang/llvm/include/llvm/ADT/
PointerIntPair.h: In member function 'IntType
llvm::PointerIntPair<PointerTy, IntBits, IntType,
PtrTraits>::getInt() const [with PointerTy = clang::Type*, unsigned
int IntBits = 3u, IntType = unsigned int, PtrTraits =
llvm::PointerLikeTypeTraits<clang::Type*>]':
/usr/home/petefrench/llvm-clang/llvm/tools/clang/lib/AST/../../
include/clang/AST/Type.h:96: instantiated from here
/usr/home/petefrench/llvm-clang/llvm/include/llvm/ADT/
PointerIntPair.h:72: warning: right shift count >= width of type
/usr/home/petefrench/llvm-clang/llvm/include/llvm/ADT/
PointerIntPair.h: In member function 'void
llvm::PointerIntPair<PointerTy, IntBits, IntType,
PtrTraits>::setInt(IntType) [with PointerTy = clang::Type*, unsigned
int IntBits = 3u, IntType = unsigned int, PtrTraits =
llvm::PointerLikeTypeTraits<clang::Type*>]':
/usr/home/petefrench/llvm-clang/llvm/tools/clang/lib/AST/../../
include/clang/AST/Type.h:97: instantiated from here
/usr/home/petefrench/llvm-clang/llvm/include/llvm/ADT/
PointerIntPair.h:88: warning: overflow in implicit constant conversion
/usr/home/petefrench/llvm-clang/llvm/include/llvm/ADT/
PointerIntPair.h:89: warning: left shift count >= width of type
gmake[4]: *** [/usr/home/petefrench/llvm-clang/llvm/tools/clang/lib/
AST/Debug/ASTContext.o] Error 1
-pete.
_______________________________________________
Gnustep-dev mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/gnustep-dev