From 53456200568d3d8647b390fd8933be12f646aaee Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Tue, 11 Feb 2025 21:21:04 +0200 Subject: [PATCH 1/3] document the directive --- src/doc/rustc-dev-guide/src/tests/directives.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/doc/rustc-dev-guide/src/tests/directives.md b/src/doc/rustc-dev-guide/src/tests/directives.md index 9e0f8f9c279c7..b6209bcb2d806 100644 --- a/src/doc/rustc-dev-guide/src/tests/directives.md +++ b/src/doc/rustc-dev-guide/src/tests/directives.md @@ -192,6 +192,8 @@ settings: specified atomic widths, e.g. the test with `//@ needs-target-has-atomic: 8, 16, ptr` will only run if it supports the comma-separated list of atomic widths. +- `needs-dynamic-linking` - ignores if target does not support dynamic linking + (which is orthogonal to it being unable to create `dylib` and `cdylib` crate types) The following directives will check LLVM support: From 3e50873aa14806d25243a73f1202b904dd34e4ad Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Wed, 12 Feb 2025 04:31:33 +0200 Subject: [PATCH 2/3] test cli functionality in all targets --- tests/ui/invalid-compile-flags/crate-type-flag.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/ui/invalid-compile-flags/crate-type-flag.rs b/tests/ui/invalid-compile-flags/crate-type-flag.rs index bc7a0bc46c3a8..2b32f04da9610 100644 --- a/tests/ui/invalid-compile-flags/crate-type-flag.rs +++ b/tests/ui/invalid-compile-flags/crate-type-flag.rs @@ -39,9 +39,7 @@ //@[multivalue] compile-flags: --crate-type=lib,rlib,staticlib //@[multivalue] check-pass -//@[multivalue_combined] ignore-musl (dylibs are not supported) -//@[multivalue_combined] ignore-wasm (dylibs are not supported) -//@[multivalue_combined] compile-flags: --crate-type=lib,rlib,staticlib --crate-type=dylib +//@[multivalue_combined] compile-flags: --crate-type=lib,rlib --crate-type=staticlib //@[multivalue_combined] check-pass // `proc-macro` is accepted, but `proc_macro` is not. From d5f645647f25fcc259a1b78cabe38cc23dc06d3b Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Wed, 12 Feb 2025 04:41:14 +0200 Subject: [PATCH 3/3] clarify Also, use signular form for consistency/simplicity --- tests/ui/invalid-compile-flags/crate-type-flag.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/ui/invalid-compile-flags/crate-type-flag.rs b/tests/ui/invalid-compile-flags/crate-type-flag.rs index 2b32f04da9610..07d853b330716 100644 --- a/tests/ui/invalid-compile-flags/crate-type-flag.rs +++ b/tests/ui/invalid-compile-flags/crate-type-flag.rs @@ -17,12 +17,12 @@ //@[staticlib] compile-flags: --crate-type=staticlib //@[staticlib] check-pass -//@[dylib] ignore-musl (dylibs are not supported) -//@[dylib] ignore-wasm (dylibs are not supported) +//@[dylib] ignore-musl (dylib is supported, but musl libc is statically linked by default) +//@[dylib] ignore-wasm (dylib is not supported) //@[dylib] compile-flags: --crate-type=dylib //@[dylib] check-pass -//@[cdylib] ignore-musl (cdylibs are not supported) +//@[cdylib] ignore-musl (cdylib is supported, but musl libc is statically linked by default) //@[cdylib] compile-flags: --crate-type=cdylib //@[cdylib] check-pass