1 // RUN: %clang -target armv6t2-eabi -### %s 2>&1 \
2 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
3
4 // RUN: %clang -target armv6t2-eabi -### -mexecute-only %s 2>&1 \
5 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
6
7 // RUN: %clang -target armv6t2-eabi -### -mexecute-only -mno-execute-only %s 2>&1 \
8 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
9
10 // RUN: %clang -target armv7m-eabi -### %s 2>&1 \
11 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
12
13 // RUN: %clang -target armv7m-eabi -### -mexecute-only %s 2>&1 \
14 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
15
16 // RUN: %clang -target armv7m-eabi -### -mexecute-only -mno-execute-only %s 2>&1 \
17 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
18
19 // RUN: %clang -target armv8m.base-eabi -### %s 2>&1 \
20 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
21
22 // RUN: %clang -target armv8m.base-eabi -### -mexecute-only %s 2>&1 \
23 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
24
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
27
28 // RUN: %clang -target armv8m.main-eabi -### %s 2>&1 \
29 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
30
31 // RUN: %clang -target armv8m.main-eabi -### -mexecute-only %s 2>&1 \
32 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
33
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
36
37
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
41
42 // RUN: %clang -target armv6t2-eabi -### -mpure-code %s 2>&1 \
43 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
44
45 // RUN: %clang -target armv6t2-eabi -### -mpure-code -mno-pure-code %s 2>&1 \
46 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
47
48 // RUN: %clang -target armv7m-eabi -### %s 2>&1 \
49 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
50
51 // RUN: %clang -target armv7m-eabi -### -mpure-code %s 2>&1 \
52 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
53
54 // RUN: %clang -target armv7m-eabi -### -mpure-code -mno-pure-code %s 2>&1 \
55 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
56
57 // RUN: %clang -target armv8m.base-eabi -### %s 2>&1 \
58 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
59
60 // RUN: %clang -target armv8m.base-eabi -### -mpure-code %s 2>&1 \
61 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
62
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
65
66 // RUN: %clang -target armv8m.main-eabi -### %s 2>&1 \
67 // RUN: | FileCheck %s -check-prefix CHECK-NO-EXECUTE-ONLY
68
69 // RUN: %clang -target armv8m.main-eabi -### -mpure-code %s 2>&1 \
70 // RUN: | FileCheck %s -check-prefix CHECK-EXECUTE-ONLY
71
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
74
75 // CHECK-NO-EXECUTE-ONLY-NOT: "+execute-only"
76 // CHECK-EXECUTE-ONLY: "+execute-only"
77
a()78 void a() {}
79