Mercurial > hg > CbC > CbC_llvm
view clang/test/CodeGen/unwind-attr.c @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | 79ff65ed7e25 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -triple i386-unknown-unknown -fexceptions -emit-llvm -o - %s | FileCheck %s // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm -o - %s | FileCheck -check-prefix CHECK-NOEXC %s int opaque(void); // CHECK: define{{.*}} [[INT:i.*]] @test0() [[TF:#[0-9]+]] { // CHECK-NOEXC: define{{.*}} [[INT:i.*]] @test0() [[NUW:#[0-9]+]] { int test0(void) { return opaque(); } // <rdar://problem/8087431>: locally infer nounwind at -O0 // CHECK: define{{.*}} [[INT:i.*]] @test1() [[NUW:#[0-9]+]] { // CHECK-NOEXC: define{{.*}} [[INT:i.*]] @test1() [[NUW]] { int test1(void) { return 0; } // <rdar://problem/8283071>: not for weak functions // CHECK: define weak{{.*}} [[INT:i.*]] @test2() [[TF]] { // CHECK-NOEXC: define weak{{.*}} [[INT:i.*]] @test2() [[NUW]] { __attribute__((weak)) int test2(void) { return 0; } // CHECK: attributes [[TF]] = { noinline optnone "{{.*}} } // CHECK: attributes [[NUW]] = { noinline nounwind{{.*}} } // CHECK-NOEXC: attributes [[NUW]] = { noinline nounwind{{.*}} }