diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2015-03-04 14:25:35 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2015-03-04 14:25:35 +0000 |
commit | 244a577754ba359795fc52510793d729c332cf7b (patch) | |
tree | f0247e8feca54c415ac5491b7004edfd3c971e72 /clang/test/CodeGen/builtin-longjmp.c | |
parent | 71f5be1ed0f8a70827b27a867945a67dc7417666 (diff) | |
download | bcm5719-llvm-244a577754ba359795fc52510793d729c332cf7b.tar.gz bcm5719-llvm-244a577754ba359795fc52510793d729c332cf7b.zip |
Adjust the changes from r230255 to bail out if the backend can't lower
__builtin_setjmp/__builtin_longjmp and don't fall back to the libc
functions.
llvm-svn: 231245
Diffstat (limited to 'clang/test/CodeGen/builtin-longjmp.c')
-rw-r--r-- | clang/test/CodeGen/builtin-longjmp.c | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/clang/test/CodeGen/builtin-longjmp.c b/clang/test/CodeGen/builtin-longjmp.c index 75c91b8374f..7f0fcfd951e 100644 --- a/clang/test/CodeGen/builtin-longjmp.c +++ b/clang/test/CodeGen/builtin-longjmp.c @@ -1,11 +1,12 @@ -// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm < %s| FileCheck %s -check-prefix=SUPPORTED -// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm < %s| FileCheck %s -check-prefix=SUPPORTED -// RUN: %clang_cc1 -triple powerpc-unknown-unknown -emit-llvm < %s| FileCheck %s -check-prefix=SUPPORTED -// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -emit-llvm < %s| FileCheck %s -check-prefix=SUPPORTED -// RUN: %clang_cc1 -triple arm-unknown-unknown -emit-llvm < %s| FileCheck %s -check-prefix=UNSUPPORTED -// RUN: %clang_cc1 -triple aarch64-unknown-unknown -emit-llvm < %s| FileCheck %s -check-prefix=UNSUPPORTED -// RUN: %clang_cc1 -triple mips-unknown-unknown -emit-llvm < %s| FileCheck %s -check-prefix=UNSUPPORTED -// RUN: %clang_cc1 -triple mips64-unknown-unknown -emit-llvm < %s| FileCheck %s -check-prefix=UNSUPPORTED +// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm < %s| FileCheck %s +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -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 arm-unknown-unknown -emit-llvm -verify %s +// RUN: %clang_cc1 -triple aarch64-unknown-unknown -emit-llvm -verify %s +// RUN: %clang_cc1 -triple mips-unknown-unknown -emit-llvm -verify %s +// RUN: %clang_cc1 -triple mips64-unknown-unknown -emit-llvm -verify %s // Check that __builtin_longjmp and __builtin_setjmp are lowerd into // IR intrinsics on those architectures that can handle them. @@ -14,18 +15,14 @@ typedef void *jmp_buf; jmp_buf buf; -// SUPPORTED: define{{.*}} void @do_jump() -// SUPPORTED: call{{.*}} void @llvm.eh.sjlj.longjmp -// UNSUPPORTED: define{{.*}} void @do_jump() -// UNSUPPORTED: call{{.*}} void @longjmp +// CHECK: define{{.*}} void @do_jump() +// CHECK: call{{.*}} void @llvm.eh.sjlj.longjmp -// SUPPORTED: define{{.*}} void @do_setjmp() -// SUPPORTED: call{{.*}} i32 @llvm.eh.sjlj.setjmp -// UNSUPPORTED: define{{.*}} void @do_setjmp() -// UNSUPPORTED: call{{.*}} i32 @setjmp +// CHECK: define{{.*}} void @do_setjmp() +// CHECK: call{{.*}} i32 @llvm.eh.sjlj.setjmp void do_jump(void) { - __builtin_longjmp(buf, 1); + __builtin_longjmp(buf, 1); // expected-error {{cannot compile this __builtin_longjmp yet}} } void f(void); |