[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / CodeGen / arm-execute-only.c
blob6d88ff611d689145731342d0187779809b02501a
1 // RUN: %clang -target armv6t2-eabi -### %s 2>&1 \
2 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
4 // RUN: %clang -target armv6t2-eabi -### -mexecute-only %s 2>&1 \
5 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
7 // RUN: %clang -target armv6t2-eabi -### -mexecute-only -mno-execute-only %s 2>&1 \
8 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
10 // RUN: %clang -target armv7m-eabi -### %s 2>&1 \
11 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
13 // RUN: %clang -target armv7m-eabi -### -mexecute-only %s 2>&1 \
14 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
16 // RUN: %clang -target armv7m-eabi -### -mexecute-only -mno-execute-only %s 2>&1 \
17 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
19 // RUN: %clang -target armv8m.base-eabi -### %s 2>&1 \
20 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
22 // RUN: %clang -target armv8m.base-eabi -### -mexecute-only %s 2>&1 \
23 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
25 // RUN: %clang -target armv8m.base-eabi -### -mexecute-only -mno-execute-only %s 2>&1 \
26 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
28 // RUN: %clang -target armv8m.main-eabi -### %s 2>&1 \
29 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
31 // RUN: %clang -target armv8m.main-eabi -### -mexecute-only %s 2>&1 \
32 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
34 // RUN: %clang -target armv8m.main-eabi -### -mexecute-only -mno-execute-only %s 2>&1 \
35 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
38 // -mpure-code flag for GCC compatibility
39 // RUN: %clang -target armv6t2-eabi -### %s 2>&1 \
40 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
42 // RUN: %clang -target armv6t2-eabi -### -mpure-code %s 2>&1 \
43 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
45 // RUN: %clang -target armv6t2-eabi -### -mpure-code -mno-pure-code %s 2>&1 \
46 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
48 // RUN: %clang -target armv7m-eabi -### %s 2>&1 \
49 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
51 // RUN: %clang -target armv7m-eabi -### -mpure-code %s 2>&1 \
52 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
54 // RUN: %clang -target armv7m-eabi -### -mpure-code -mno-pure-code %s 2>&1 \
55 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
57 // RUN: %clang -target armv8m.base-eabi -### %s 2>&1 \
58 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
60 // RUN: %clang -target armv8m.base-eabi -### -mpure-code %s 2>&1 \
61 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
63 // RUN: %clang -target armv8m.base-eabi -### -mpure-code -mno-pure-code %s 2>&1 \
64 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
66 // RUN: %clang -target armv8m.main-eabi -### %s 2>&1 \
67 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
69 // RUN: %clang -target armv8m.main-eabi -### -mpure-code %s 2>&1 \
70 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
72 // RUN: %clang -target armv8m.main-eabi -### -mpure-code -mno-pure-code %s 2>&1 \
73 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
75 // CHECK-NO-EXECUTE-ONLY-NOT: "+execute-only"
76 // CHECK-EXECUTE-ONLY: "+execute-only"
78 void a() {}