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: diff --git a/tests/ui/invalid-compile-flags/crate-type-flag.rs b/tests/ui/invalid-compile-flags/crate-type-flag.rs index bc7a0bc46c3a8..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 @@ -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.