IRgen/Obj-C/NeXT: Fix the IR signature for objc_exception_rethrow, so we don't

generate unnecessary %al clear on x86_64.

llvm-svn: 116656
This commit is contained in:
Daniel Dunbar 2010-10-16 04:08:16 +00:00
parent 44436302fb
commit 90bb5c2315
2 changed files with 15 additions and 1 deletions

View File

@ -462,7 +462,7 @@ public:
// void objc_exception_rethrow(void)
std::vector<const llvm::Type*> Args;
llvm::FunctionType *FTy =
llvm::FunctionType::get(llvm::Type::getVoidTy(VMContext), Args, true);
llvm::FunctionType::get(llvm::Type::getVoidTy(VMContext), Args, false);
return CGM.CreateRuntimeFunction(FTy, "objc_exception_rethrow");
}

View File

@ -0,0 +1,14 @@
// Check method signatures for synthesized runtime functions.
//
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 \
// RUN: -fexceptions -fobjc-nonfragile-abi2 -emit-llvm -o %t %s
// RUN: FileCheck < %t %s
// CHECK: declare void @objc_exception_rethrow()
void f1(void);
void f0() {
@try {
f1();
} @finally {
}
}