Mercurial > hg > CbC > CbC_llvm
view clang/test/CodeGen/setjmp.c @ 207:2e18cbf3894f
LLVM12
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Jun 2021 06:07:14 +0900 |
parents | |
children | c4bab56944e8 |
line wrap: on
line source
// RUN: %clang_cc1 -x c %s -triple x86_64-linux-gnu -emit-llvm -o - | FileCheck %s // RUN: %clang_cc1 -x c++ %s -triple x86_64-linux-gnu -emit-llvm -o - | FileCheck %s #ifdef __cplusplus extern "C" { #endif struct __jmp_buf_tag { int n; }; int setjmp(struct __jmp_buf_tag*); int sigsetjmp(struct __jmp_buf_tag*, int); int _setjmp(struct __jmp_buf_tag*); int __sigsetjmp(struct __jmp_buf_tag*, int); typedef struct __jmp_buf_tag jmp_buf[1]; typedef struct __jmp_buf_tag sigjmp_buf[1]; #ifdef __cplusplus } #endif void f() { jmp_buf jb; // CHECK: call {{.*}}@setjmp( setjmp(jb); // CHECK: call {{.*}}@sigsetjmp( sigsetjmp(jb, 0); // CHECK: call {{.*}}@_setjmp( _setjmp(jb); // CHECK: call {{.*}}@__sigsetjmp( __sigsetjmp(jb, 0); } // CHECK: ; Function Attrs: returns_twice // CHECK-NEXT: declare {{.*}} @setjmp( // CHECK: ; Function Attrs: returns_twice // CHECK-NEXT: declare {{.*}} @sigsetjmp( // CHECK: ; Function Attrs: returns_twice // CHECK-NEXT: declare {{.*}} @_setjmp( // CHECK: ; Function Attrs: returns_twice // CHECK-NEXT: declare {{.*}} @__sigsetjmp(