gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Exception handling in clang


From: David Chisnall
Subject: Re: Exception handling in clang
Date: Fri, 8 May 2009 14:04:00 +0100

Did you remember to update the LLVM tree too? Clang trunk requires LLVM trunk. The exception stuff was committed with r71198, and I've just sent a patch to the cfe-dev list which fixes @catch(RealClassName *foo) as well.

The only thing missing now is @sychronized. For me, gcc emits code which fails to link. Is anyone using @synchronized with GNUstep? If so, where do you get your implementations of the two functions which acquire and release a mutex identified by a given object?

David

On 8 May 2009, at 13:58, Pete French wrote:

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]