summaryrefslogtreecommitdiff
path: root/test/Driver/thread-model.c
diff options
context:
space:
mode:
authorJonathan Roelofs <jonathan@codesourcery.com>2014-10-03 21:57:44 +0000
committerJonathan Roelofs <jonathan@codesourcery.com>2014-10-03 21:57:44 +0000
commitf38a63a69ed5025ce33816fd749c64540074d22a (patch)
tree00ee6d2fb0d4b94155a51bc9833e0c7c452f0c7f /test/Driver/thread-model.c
parent6e140cfa7bbb7937b15399fd71b0eea5e44452b8 (diff)
downloadclang-f38a63a69ed5025ce33816fd749c64540074d22a.tar.gz
CFE Knob for: Add a thread-model knob for lowering atomics on baremetal & single threaded systems
http://reviews.llvm.org/D4985 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@219027 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Driver/thread-model.c')
-rw-r--r--test/Driver/thread-model.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Driver/thread-model.c b/test/Driver/thread-model.c
new file mode 100644
index 0000000000..9702c2231a
--- /dev/null
+++ b/test/Driver/thread-model.c
@@ -0,0 +1,15 @@
+// RUN: %clang -### -target arm-unknown-linux-gnu -c %s -mthread-model posix -v 2>&1 | FileCheck -check-prefix=CHECK-POSIX %s
+// RUN: %clang -### -target arm-unknown-linux-gnu -c %s -mthread-model single -v 2>&1 | FileCheck -check-prefix=CHECK-SINGLE %s
+// RUN: not %clang -target arm-unknown-linux-gnu -c %s -mthread-model silly -v 2>&1 | FileCheck -check-prefix=CHECK-INVALID %s
+// CHECK-POSIX: "-mthread-model" "posix"
+// CHECK-SINGLE: "-mthread-model" "single"
+// CHECK-INVALID: error: invalid thread model 'silly' in '-mthread-model silly' for this target
+
+// RUN: %clang -### -target arm-unknown-linux-gnu -c %s -v 2>&1 | FileCheck -check-prefix=CHECK-LINUX-POSIX %s
+// RUN: %clang -### -target arm-unknown-linux-gnu -c %s -v -mthread-model single 2>&1 | FileCheck -check-prefix=CHECK-LINUX-SINGLE %s
+// RUN: %clang -### -target arm-unknown-linux-gnu -c %s -v -mthread-model silly 2>&1 | FileCheck -check-prefix=CHECK-LINUX-INVALID %s
+// CHECK-LINUX-POSIX: Thread model: posix
+// CHECK-LINUX-POSIX: "-mthread-model" "posix"
+// CHECK-LINUX-SINGLE: Thread model: single
+// CHECK-LINUX-SINGLE: "-mthread-model" "single"
+// CHECK-LINUX-INVALID-NOT: Thread model: