brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 8498c68 Raw
27 lines · cpp
1// This test is added to provide test coverage for the uwtable attribute. It2// aims to make sure that for an X86_64 output compiled with -fexceptions or3//  -fno-exceptions, a uwtable attribute is emitted. However, for an AArch644//  output with -fexceptions a uwtable attribute is emitted, but with 5// -fno-exceptions a uwtable attribute is not emitted.6 7// RUN: %clang -g -fexceptions --target=x86_64-apple-darwin %s -S -emit-llvm -o - | FileCheck %s --check-prefix=X86_64_UWTABLE_EXCEPTIONS8// X86_64_UWTABLE_EXCEPTIONS: attributes #0 = { {{.*}} uwtable9// X86_64_UWTABLE_EXCEPTIONS: !{{[0-9]+}} = !{i32 7, !"uwtable", i32 2}10 11// RUN: %clang -g -fno-exceptions --target=x86_64-apple-darwin %s -S -emit-llvm -o - | FileCheck %s --check-prefix=X86_64_UWTABLE12// X86_64_UWTABLE: attributes #0 = { {{.*}} uwtable13// X86_64_UWTABLE: !{{[0-9]+}} = !{i32 7, !"uwtable", i32 2}14 15// RUN: %clang -g -fexceptions --target=arm64-apple-darwin %s -S -emit-llvm -o - | FileCheck %s --check-prefix=ARM64_UWTABLE_EXCEPTIONS16// ARM64_UWTABLE_EXCEPTIONS: attributes #0 = { {{.*}} uwtable17// ARM64_UWTABLE_EXCEPTIONS: !{{[0-9]+}} = !{i32 7, !"uwtable", i32 1}18 19// RUN: %clang -g -fno-exceptions --target=arm64-apple-darwin %s -S -emit-llvm -o - | FileCheck %s --check-prefix=ARM64_UWTABLE20// ARM64_UWTABLE-NOT: attributes #0 = { {{.*}} uwtable21// ARM64_UWTABLE-NOT: !{{[0-9]+}} = !{i32 7, !"uwtable", i32 2}22// ARM64_UWTABLE: attributes #0 =23 24int main() {25    return 1;26}27