From 7d5ff8b8bd5b1bf4721fd9a3e34b2e90e670be09 Mon Sep 17 00:00:00 2001 From: Chris Denton Date: Mon, 30 Dec 2024 11:25:00 +0000 Subject: [PATCH] Windows: Enable issue 70093 link tests --- src/tools/tidy/src/issues.txt | 2 -- .../issue-70093/issue-70093.rs | 10 ---------- ...-link-directives.rs => link-directives.rs} | 1 - .../issue-70093/link-native-libraries.rs | 20 +++++++++++++++++++ 4 files changed, 20 insertions(+), 13 deletions(-) delete mode 100644 tests/ui/link-native-libs/issue-70093/issue-70093.rs rename tests/ui/link-native-libs/issue-70093/{issue-70093-link-directives.rs => link-directives.rs} (82%) create mode 100644 tests/ui/link-native-libs/issue-70093/link-native-libraries.rs 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 similarity index 82% rename from tests/ui/link-native-libs/issue-70093/issue-70093-link-directives.rs rename to 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() {}