about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Denton <chris@chrisdenton.dev>2024-12-30 11:25:00 +0000
committerChris Denton <chris@chrisdenton.dev>2024-12-30 22:52:23 +0000
commit7d5ff8b8bd5b1bf4721fd9a3e34b2e90e670be09 (patch)
tree411311c2bd88ade4c23627f8821d3d81d04f3852
parentc1566141b6ed24eaa11075aa7dfe6511fdf32231 (diff)
downloadrust-7d5ff8b8bd5b1bf4721fd9a3e34b2e90e670be09.tar.gz
rust-7d5ff8b8bd5b1bf4721fd9a3e34b2e90e670be09.zip
Windows: Enable issue 70093 link tests
-rw-r--r--src/tools/tidy/src/issues.txt2
-rw-r--r--tests/ui/link-native-libs/issue-70093/issue-70093.rs10
-rw-r--r--tests/ui/link-native-libs/issue-70093/link-directives.rs (renamed from tests/ui/link-native-libs/issue-70093/issue-70093-link-directives.rs)1
-rw-r--r--tests/ui/link-native-libs/issue-70093/link-native-libraries.rs20
4 files changed, 20 insertions, 13 deletions
diff --git a/src/tools/tidy/src/issues.txt b/src/tools/tidy/src/issues.txt
index 25cd32063aa..54de2ef8314 100644
--- a/src/tools/tidy/src/issues.txt
+++ b/src/tools/tidy/src/issues.txt
@@ -2710,8 +2710,6 @@ ui/limits/issue-75158-64.rs
 ui/link-native-libs/issue-109144.rs
 ui/link-native-libs/issue-43925.rs
 ui/link-native-libs/issue-43926.rs
-ui/link-native-libs/issue-70093/issue-70093-link-directives.rs
-ui/link-native-libs/issue-70093/issue-70093.rs
 ui/linkage-attr/auxiliary/issue-12133-dylib.rs
 ui/linkage-attr/auxiliary/issue-12133-dylib2.rs
 ui/linkage-attr/auxiliary/issue-12133-rlib.rs
diff --git a/tests/ui/link-native-libs/issue-70093/issue-70093.rs b/tests/ui/link-native-libs/issue-70093/issue-70093.rs
deleted file mode 100644
index 86974239338..00000000000
--- a/tests/ui/link-native-libs/issue-70093/issue-70093.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-//@ run-pass
-//@ compile-flags: -Zlink-native-libraries=no -Cdefault-linker-libraries=yes
-//@ ignore-windows - this will probably only work on unixish systems
-//@ ignore-fuchsia - missing __libc_start_main for some reason (#84733)
-//@ ignore-cross-compile - default-linker-libraries=yes doesn't play well with cross compiling
-
-#[link(name = "some-random-non-existent-library", kind = "static")]
-extern "C" {}
-
-fn main() {}
diff --git a/tests/ui/link-native-libs/issue-70093/issue-70093-link-directives.rs b/tests/ui/link-native-libs/issue-70093/link-directives.rs
index 9c60affbccd..c67536d39e7 100644
--- a/tests/ui/link-native-libs/issue-70093/issue-70093-link-directives.rs
+++ b/tests/ui/link-native-libs/issue-70093/link-directives.rs
@@ -1,6 +1,5 @@
 //@ run-pass
 //@ compile-flags: -Zlink-directives=no
-//@ ignore-windows - this will probably only work on unixish systems
 //@ ignore-fuchsia - missing __libc_start_main for some reason (#84733)
 //@ ignore-cross-compile - default-linker-libraries=yes doesn't play well with cross compiling
 
diff --git a/tests/ui/link-native-libs/issue-70093/link-native-libraries.rs b/tests/ui/link-native-libs/issue-70093/link-native-libraries.rs
new file mode 100644
index 00000000000..3e14e33ba39
--- /dev/null
+++ b/tests/ui/link-native-libs/issue-70093/link-native-libraries.rs
@@ -0,0 +1,20 @@
+//@ run-pass
+//@ compile-flags: -Zlink-native-libraries=no -Cdefault-linker-libraries=yes
+//@ ignore-fuchsia - missing __libc_start_main for some reason (#84733)
+//@ ignore-cross-compile - default-linker-libraries=yes doesn't play well with cross compiling
+
+//@ revisions: other
+//@[other] ignore-msvc
+
+//@ revisions: msvc
+// On Windows MSVC, default-linker-libraries=yes doesn't work because
+// rustc drives the linker directly instead of going through another compiler.
+// Therefore rustc would need to implement default-linker-libraries itself but doesn't.
+// So instead we use -Clink-arg to directly set the required msvcrt.lib as a link arg.
+//@[msvc] compile-flags: -Clink-arg=msvcrt.lib
+//@[msvc] only-msvc
+
+#[link(name = "some-random-non-existent-library", kind = "static")]
+extern "C" {}
+
+fn main() {}