summaryrefslogtreecommitdiffstats
path: root/clang/test/Driver/darwin-embedded.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/Driver/darwin-embedded.c')
-rw-r--r--clang/test/Driver/darwin-embedded.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/clang/test/Driver/darwin-embedded.c b/clang/test/Driver/darwin-embedded.c
new file mode 100644
index 00000000000..fb3ead6cbba
--- /dev/null
+++ b/clang/test/Driver/darwin-embedded.c
@@ -0,0 +1,26 @@
+// RUN: %clang -target x86_64-apple-darwin -arch armv6m -resource-dir=%S/Inputs/resource_dir %s -### 2> %t
+// RUN: %clang -target x86_64-apple-darwin -arch armv7em -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t
+// RUN: %clang -target x86_64-apple-darwin -arch armv7em -mhard-float -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t
+
+// RUN: %clang -target x86_64-apple-darwin -arch armv7m -fPIC -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t
+// RUN: %clang -target x86_64-apple-darwin -arch armv7 -fPIC -mfloat-abi=hard -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t
+// RUN: %clang -target x86_64-apple-darwin-eabi -arch armv7em -fPIC -mfloat-abi=softfp -resource-dir=%S/Inputs/resource_dir %s -### 2>> %t
+
+// ARMv6m has no float
+// CHECK: libclang_rt.soft_static.a
+
+// ARMv7em does, but defaults to soft
+// CHECK: libclang_rt.soft_static.a
+
+// Which can be overridden
+// CHECK: libclang_rt.hard_static.a
+
+// ARMv7m has no float either
+// CHECK: libclang_rt.soft_pic.a
+
+// But it can be enabled on ARMv7
+// CHECK: libclang_rt.hard_pic.a
+
+// "softfp" must link against a soft-float library since that's what the
+// callers we're compiling will expect.
+// CHECK: libclang_rt.soft_pic.a
OpenPOWER on IntegriCloud