I believe I have come across a possible bug related to the 'Throws' Intrinsic property. I'm in the process of migrating our code base from llvm3.3.1 to 3.4.2. In include/llvm/IR/IntrinsicsCogE.td (our architecture is 'CogE'), I have this: … def int_coge_throw: GCCBuiltin<"__builtin_coge_throw">, Intrinsic<[], [llvm_i64_ty], [Throws]>; Which causes a compile time error: /localspace/rcgorton/svn/Compiler/trunk/LLVM3_4/llvm-3.4.2.src/lib/IR/Function.cpp: In function ‘llvm::AttributeSet llvm::Intrinsic::getAttributes(llvm::LLVMContext&, llvm::Intrinsic::ID)’: /localspace/rcgorton/svn/Compiler/trunk/LLVM3_4/llvm-3.4.2.src/lib/IR/Function.cpp:683: error: a function-definition is not allowed here before ‘{’ token In file included from /localspace/rcgorton/svn/Compiler/trunk/LLVM3_4/llvm-3.4.2.src/lib/IR/Function.cpp:693: /localspace/rcgorton/svn/Compiler/trunk/LLVM3_4/scratchbuild/include/llvm/IR/Intrinsics.gen:36003: error: a function-definition is not allowed here before ‘{’ token /localspace/rcgorton/svn/Compiler/trunk/LLVM3_4/llvm-3.4.2.src/lib/IR/Function.cpp:768: error: expected ‘}’ at end of input make[1]: *** [/localspace/rcgorton/svn/Compiler/trunk/LLVM3_4/scratchbuild/lib/IR/Debug+Asserts/Function.o] Error 1 make[1]: Leaving directory `/localspace/rcgorton/svn/Compiler/trunk/LLVM3_4/scratchbuild/lib/IR' But if I remove the "Throws" property from the intrinsic op, everything compiles cleanly. For now, I am removing "Throws" from all of our intrinsics which utilize it. Regards, Richard Gorton Cognitive Electronics www.cog-e.com