summaryrefslogtreecommitdiff
path: root/test/OpenMP/linking.c
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2013-01-17 13:19:29 +0000
committerChandler Carruth <chandlerc@gmail.com>2013-01-17 13:19:29 +0000
commitdf96e022e95b8540c51e1bdaed03f66d851c6f93 (patch)
treee80aee5d6bae92b7562bd65a2a5475722621d7e7 /test/OpenMP/linking.c
parent2c6cc48a38455969b4602a2d37ce620101b7eebc (diff)
downloadclang-df96e022e95b8540c51e1bdaed03f66d851c6f93.tar.gz
clang-df96e022e95b8540c51e1bdaed03f66d851c6f93.tar.bz2
clang-df96e022e95b8540c51e1bdaed03f66d851c6f93.tar.xz
Add initial rough support for synthesizing linker options when passed
-fopenmp in the link step on Linux. There is probably more tweaking that will need to take place to get good support for linking the relevant libraries on all Linux distributions and/or on other platforms, but this get's the ball moving and allows Clang to build programs which contain OpenMP pragmas that can be safely ignored by a compiler that doesn't implement them, and yet makes direct calls into the OpenMP runtime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172715 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/OpenMP/linking.c')
-rw-r--r--test/OpenMP/linking.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/OpenMP/linking.c b/test/OpenMP/linking.c
new file mode 100644
index 0000000000..31fd57de92
--- /dev/null
+++ b/test/OpenMP/linking.c
@@ -0,0 +1,16 @@
+// Test the that the driver produces reasonable linker invocations with
+// -fopenmp.
+//
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN: -fopenmp -target i386-unknown-linux \
+// RUN: | FileCheck --check-prefix=CHECK-LD-32 %s
+// CHECK-LD-32: "{{.*}}ld{{(.exe)?}}"
+// CHECK-LD-32: "-lgomp" "-lrt" "-lgcc"
+// CHECK-LD-32: "-lpthread" "-lc"
+//
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN: -fopenmp -target x86_64-unknown-linux \
+// RUN: | FileCheck --check-prefix=CHECK-LD-64 %s
+// CHECK-LD-64: "{{.*}}ld{{(.exe)?}}"
+// CHECK-LD-64: "-lgomp" "-lrt" "-lgcc"
+// CHECK-LD-64: "-lpthread" "-lc"