summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/dependent-lib.c
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2013-08-08 00:17:41 +0000
committerHans Wennborg <hans@hanshq.net>2013-08-08 00:17:41 +0000
commit75958c41e220358b66a12c257f3f87abe4b372d5 (patch)
tree7fb948b065b519816df001efa9bf4691ffb0ea0c /clang/test/CodeGen/dependent-lib.c
parenta5689e69afbd1b43c35958be453192a48c507d37 (diff)
downloadbcm5719-llvm-75958c41e220358b66a12c257f3f87abe4b372d5.tar.gz
bcm5719-llvm-75958c41e220358b66a12c257f3f87abe4b372d5.zip
clang-cl: Support the run-time selection options (/MD, /MT et al.)
These flags set some preprocessor macros and injects a dependency on the runtime library into the object file, which later is picked up by the linker. This also adds a new CC1 flag for adding a dependent library. Differential Revision: http://llvm-reviews.chandlerc.com/D1315 llvm-svn: 187945
Diffstat (limited to 'clang/test/CodeGen/dependent-lib.c')
-rw-r--r--clang/test/CodeGen/dependent-lib.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/CodeGen/dependent-lib.c b/clang/test/CodeGen/dependent-lib.c
new file mode 100644
index 00000000000..df4aaf07306
--- /dev/null
+++ b/clang/test/CodeGen/dependent-lib.c
@@ -0,0 +1,15 @@
+// RUN: %clang_cc1 %s --dependent-lib=msvcrt -triple i686-pc-win32 -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 %s --dependent-lib=msvcrt -triple x86_64-pc-win32 -emit-llvm -o - | FileCheck %s
+// RUN: %clang_cc1 %s --dependent-lib=msvcrt -triple i686-pc-linux -emit-llvm -o - | FileCheck -check-prefix LINUX %s
+
+// CHECK: !llvm.module.flags = !{!0}
+// CHECK: !0 = metadata !{i32 6, metadata !"Linker Options", metadata ![[link_opts:[0-9]+]]}
+// CHECK: ![[link_opts]] = metadata !{metadata ![[msvcrt:[0-9]+]]}
+// CHECK: ![[msvcrt]] = metadata !{metadata !"/DEFAULTLIB:msvcrt.lib"}
+
+// LINUX: !llvm.module.flags = !{!0}
+// LINUX: !0 = metadata !{i32 6, metadata !"Linker Options", metadata ![[link_opts:[0-9]+]]}
+// LINUX: ![[link_opts]] = metadata !{metadata ![[msvcrt:[0-9]+]]}
+// LINUX: ![[msvcrt]] = metadata !{metadata !"-lmsvcrt"}
+
+int f();
OpenPOWER on IntegriCloud