[VE] Change clang to support SjLj Lowering
authorKazushi (Jam) Marukawa <marukawa@nec.com>
Sat, 26 Dec 2020 13:52:49 +0000 (22:52 +0900)
committerKazushi (Jam) Marukawa <marukawa@nec.com>
Tue, 5 Jan 2021 13:19:02 +0000 (22:19 +0900)
We supports SjLj exception handling in the backend, so changing
clang to allow lowering using SjLj exceptions.  Update a regression
test also.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D94076

clang/lib/Basic/Targets/VE.h
clang/test/Sema/builtin-longjmp.c

index 2d9c74a..71d6fc0 100644 (file)
@@ -53,10 +53,7 @@ public:
   void getTargetDefines(const LangOptions &Opts,
                         MacroBuilder &Builder) const override;
 
-  bool hasSjLjLowering() const override {
-    // TODO
-    return false;
-  }
+  bool hasSjLjLowering() const override { return true; }
 
   ArrayRef<Builtin::Info> getTargetBuiltins() const override;
 
index d80208f..3023098 100644 (file)
@@ -4,6 +4,7 @@
 // RUN: %clang_cc1 -triple powerpc-unknown-unknown -emit-llvm < %s| FileCheck %s
 // RUN: %clang_cc1 -triple powerpc64-unknown-unknown -emit-llvm < %s| FileCheck %s
 // RUN: %clang_cc1 -triple sparc-eabi-unknown -emit-llvm < %s | FileCheck %s
+// RUN: %clang_cc1 -triple ve-unknown-unknown -emit-llvm < %s | FileCheck %s
 
 // RUN: %clang_cc1 -triple aarch64-unknown-unknown -emit-llvm-only -verify %s
 // RUN: %clang_cc1 -triple mips-unknown-unknown -emit-llvm-only -verify %s