generate unnecessary %al clear on x86_64.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116656
91177308-0d34-0410-b5e6-
96231b3b80d8
// 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");
}
--- /dev/null
+// 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 {
+ }
+}