Enable link-arg link kind inside of #[link] attribute
- Implement link-arg as an attribute - Apply suggestions from review - Co-authored-by: Vadim Petrochenkov <vadim.petrochenkov@gmail.com> - Add unstable book entry
This commit is contained in:
parent
1670ff64bf
commit
f7617c1cd4
19 changed files with 114 additions and 26 deletions
|
|
@ -500,6 +500,9 @@ declare_features! (
|
|||
(incomplete, lazy_type_alias, "1.72.0", Some(112792), None),
|
||||
/// Allows `if/while p && let q = r && ...` chains.
|
||||
(unstable, let_chains, "1.37.0", Some(53667), None),
|
||||
/// Allows using `#[link(kind = "link-arg", name = "...")]`
|
||||
/// to pass custom arguments to the linker.
|
||||
(unstable, link_arg_attribute, "CURRENT_RUSTC_VERSION", Some(99427), None),
|
||||
/// Allows using `reason` in lint attributes and the `#[expect(lint)]` lint check.
|
||||
(unstable, lint_reasons, "1.31.0", Some(54503), None),
|
||||
/// Give access to additional metadata about declarative macro meta-variables.
|
||||
|
|
|
|||
|
|
@ -269,7 +269,7 @@ metadata_unknown_import_name_type =
|
|||
unknown import name type `{$import_name_type}`, expected one of: decorated, noprefix, undecorated
|
||||
|
||||
metadata_unknown_link_kind =
|
||||
unknown link kind `{$kind}`, expected one of: static, dylib, framework, raw-dylib
|
||||
unknown link kind `{$kind}`, expected one of: static, dylib, framework, raw-dylib, link-arg
|
||||
.label = unknown link kind
|
||||
|
||||
metadata_unknown_link_modifier =
|
||||
|
|
|
|||
|
|
@ -160,6 +160,18 @@ impl<'tcx> Collector<'tcx> {
|
|||
}
|
||||
NativeLibKind::RawDylib
|
||||
}
|
||||
"link-arg" => {
|
||||
if !features.link_arg_attribute {
|
||||
feature_err(
|
||||
&sess.parse_sess,
|
||||
sym::link_arg_attribute,
|
||||
span,
|
||||
"link kind `link-arg` is unstable",
|
||||
)
|
||||
.emit();
|
||||
}
|
||||
NativeLibKind::LinkArg
|
||||
}
|
||||
kind => {
|
||||
sess.emit_err(errors::UnknownLinkKind { span, kind });
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -934,6 +934,7 @@ symbols! {
|
|||
likely,
|
||||
line,
|
||||
link,
|
||||
link_arg_attribute,
|
||||
link_args,
|
||||
link_cfg,
|
||||
link_llvm_intrinsics,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue