diff options
author | Tee KOBAYASHI <xtkoba@gmail.com> | 2021-12-03 23:23:09 -0500 |
---|---|---|
committer | Tom Stellard <tstellar@redhat.com> | 2021-12-20 10:25:14 -0800 |
commit | 578e500fe5ba0abbb1ed212db720ce22aa2147d2 (patch) | |
tree | c2b19191c46e3d1205c8fafc410e9dd075e0f888 | |
parent | cd4ebb2918ae6cd938aabc3e95d5739b4d067f83 (diff) | |
download | llvm-578e500fe5ba0abbb1ed212db720ce22aa2147d2.tar.gz |
[Sparc] Create an error when `__builtin_longjmp` is used
Support for builtin setjmp/longjmp was removed by https://reviews.llvm.org/D51487. An
error should be created when compiling C code using __builtin_setjmp or __builtin_longjmp.
Reviewed By: dcederman
Differential Revision: https://reviews.llvm.org/D108901
(cherry picked from commit eeb4266f8137c232f0f218a727dd12b5d4f52adc)
-rw-r--r-- | clang/lib/Basic/Targets/Sparc.h | 3 | ||||
-rw-r--r-- | clang/test/Sema/builtin-longjmp.c | 2 |
2 files changed, 1 insertions, 4 deletions
diff --git a/clang/lib/Basic/Targets/Sparc.h b/clang/lib/Basic/Targets/Sparc.h index 07844abafe11..e9f8c10db7b0 100644 --- a/clang/lib/Basic/Targets/Sparc.h +++ b/clang/lib/Basic/Targets/Sparc.h @@ -50,8 +50,6 @@ public: bool hasFeature(StringRef Feature) const override; - bool hasSjLjLowering() const override { return true; } - ArrayRef<Builtin::Info> getTargetBuiltins() const override { // FIXME: Implement! return None; @@ -180,7 +178,6 @@ public: void getTargetDefines(const LangOptions &Opts, MacroBuilder &Builder) const override; - bool hasSjLjLowering() const override { return true; } bool hasExtIntType() const override { return true; } }; diff --git a/clang/test/Sema/builtin-longjmp.c b/clang/test/Sema/builtin-longjmp.c index 3023098a7631..99463cf3385a 100644 --- a/clang/test/Sema/builtin-longjmp.c +++ b/clang/test/Sema/builtin-longjmp.c @@ -3,12 +3,12 @@ // RUN: %clang_cc1 -triple x86_64-windows -emit-llvm < %s| FileCheck %s // 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 // RUN: %clang_cc1 -triple mips64-unknown-unknown -emit-llvm-only -verify %s +// RUN: %clang_cc1 -triple sparc-eabi-unknown -emit-llvm-only -verify %s // Check that __builtin_longjmp and __builtin_setjmp are lowered into // IR intrinsics on those architectures that can handle them. |