mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 23:04:33 +00:00
Move asm! and global_asm! to core::arch
This commit is contained in:
parent
c78ebb7bdc
commit
f26fbe2453
@ -316,5 +316,35 @@ pub mod primitive;
|
||||
#[unstable(feature = "stdsimd", issue = "48556")]
|
||||
mod core_arch;
|
||||
|
||||
#[doc = include_str!("../../stdarch/crates/core_arch/src/core_arch_docs.md")]
|
||||
#[stable(feature = "simd_arch", since = "1.27.0")]
|
||||
pub use core_arch::arch;
|
||||
pub mod arch {
|
||||
#[stable(feature = "simd_arch", since = "1.27.0")]
|
||||
pub use crate::core_arch::arch::*;
|
||||
|
||||
/// Inline assembly.
|
||||
///
|
||||
/// Read the [unstable book] for the usage.
|
||||
///
|
||||
/// [unstable book]: ../../unstable-book/library-features/asm.html
|
||||
#[unstable(
|
||||
feature = "asm",
|
||||
issue = "72016",
|
||||
reason = "inline assembly is not stable enough for use and is subject to change"
|
||||
)]
|
||||
#[rustc_builtin_macro]
|
||||
pub macro asm("assembly template", $(operands,)* $(options($(option),*))?) {
|
||||
/* compiler built-in */
|
||||
}
|
||||
|
||||
/// Module-level inline assembly.
|
||||
#[unstable(
|
||||
feature = "global_asm",
|
||||
issue = "35119",
|
||||
reason = "`global_asm!` is not stable enough for use and is subject to change"
|
||||
)]
|
||||
#[rustc_builtin_macro]
|
||||
pub macro global_asm("assembly template", $(operands,)* $(options($(option),*))?) {
|
||||
/* compiler built-in */
|
||||
}
|
||||
}
|
||||
|
@ -1312,27 +1312,6 @@ pub(crate) mod builtin {
|
||||
($cond:expr, $($arg:tt)+) => {{ /* compiler built-in */ }};
|
||||
}
|
||||
|
||||
/// Inline assembly.
|
||||
///
|
||||
/// Read the [unstable book] for the usage.
|
||||
///
|
||||
/// [unstable book]: ../unstable-book/library-features/asm.html
|
||||
#[unstable(
|
||||
feature = "asm",
|
||||
issue = "72016",
|
||||
reason = "inline assembly is not stable enough for use and is subject to change"
|
||||
)]
|
||||
#[rustc_builtin_macro]
|
||||
#[macro_export]
|
||||
macro_rules! asm {
|
||||
("assembly template",
|
||||
$(operands,)*
|
||||
$(options($(option),*))?
|
||||
) => {
|
||||
/* compiler built-in */
|
||||
};
|
||||
}
|
||||
|
||||
/// LLVM-style inline assembly.
|
||||
///
|
||||
/// Read the [unstable book] for the usage.
|
||||
@ -1355,23 +1334,6 @@ pub(crate) mod builtin {
|
||||
};
|
||||
}
|
||||
|
||||
/// Module-level inline assembly.
|
||||
#[unstable(
|
||||
feature = "global_asm",
|
||||
issue = "35119",
|
||||
reason = "`global_asm!` is not stable enough for use and is subject to change"
|
||||
)]
|
||||
#[rustc_builtin_macro]
|
||||
#[macro_export]
|
||||
macro_rules! global_asm {
|
||||
("assembly template",
|
||||
$(operands,)*
|
||||
$(options($(option),*))?
|
||||
) => {
|
||||
/* compiler built-in */
|
||||
};
|
||||
}
|
||||
|
||||
/// Prints passed tokens into the standard output.
|
||||
#[unstable(
|
||||
feature = "log_syntax",
|
||||
|
@ -55,11 +55,27 @@ pub use crate::hash::macros::Hash;
|
||||
#[allow(deprecated)]
|
||||
#[doc(no_inline)]
|
||||
pub use crate::{
|
||||
asm, assert, cfg, column, compile_error, concat, concat_idents, env, file, format_args,
|
||||
format_args_nl, global_asm, include, include_bytes, include_str, line, llvm_asm, log_syntax,
|
||||
module_path, option_env, stringify, trace_macros,
|
||||
assert, cfg, column, compile_error, concat, concat_idents, env, file, format_args,
|
||||
format_args_nl, include, include_bytes, include_str, line, llvm_asm, log_syntax, module_path,
|
||||
option_env, stringify, trace_macros,
|
||||
};
|
||||
|
||||
#[unstable(
|
||||
feature = "asm",
|
||||
issue = "72016",
|
||||
reason = "inline assembly is not stable enough for use and is subject to change"
|
||||
)]
|
||||
#[doc(no_inline)]
|
||||
pub use crate::arch::asm;
|
||||
|
||||
#[unstable(
|
||||
feature = "global_asm",
|
||||
issue = "35119",
|
||||
reason = "`global_asm!` is not stable enough for use and is subject to change"
|
||||
)]
|
||||
#[doc(no_inline)]
|
||||
pub use crate::arch::global_asm;
|
||||
|
||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||
#[allow(deprecated, deprecated_in_future)]
|
||||
#[doc(no_inline)]
|
||||
|
@ -556,9 +556,9 @@ pub use core::{
|
||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||
#[allow(deprecated)]
|
||||
pub use core::{
|
||||
asm, assert, assert_matches, cfg, column, compile_error, concat, concat_idents, env, file,
|
||||
format_args, format_args_nl, global_asm, include, include_bytes, include_str, line, llvm_asm,
|
||||
log_syntax, module_path, option_env, stringify, trace_macros,
|
||||
assert, assert_matches, cfg, column, compile_error, concat, concat_idents, env, file,
|
||||
format_args, format_args_nl, include, include_bytes, include_str, line, llvm_asm, log_syntax,
|
||||
module_path, option_env, stringify, trace_macros,
|
||||
};
|
||||
|
||||
#[stable(feature = "core_primitive", since = "1.43.0")]
|
||||
|
@ -39,12 +39,28 @@ pub use crate::result::Result::{self, Err, Ok};
|
||||
#[allow(deprecated)]
|
||||
#[doc(no_inline)]
|
||||
pub use core::prelude::v1::{
|
||||
asm, assert, cfg, column, compile_error, concat, concat_idents, env, file, format_args,
|
||||
format_args_nl, global_asm, include, include_bytes, include_str, line, llvm_asm, log_syntax,
|
||||
module_path, option_env, stringify, trace_macros, Clone, Copy, Debug, Default, Eq, Hash, Ord,
|
||||
PartialEq, PartialOrd,
|
||||
assert, cfg, column, compile_error, concat, concat_idents, env, file, format_args,
|
||||
format_args_nl, include, include_bytes, include_str, line, llvm_asm, log_syntax, module_path,
|
||||
option_env, stringify, trace_macros, Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq,
|
||||
PartialOrd,
|
||||
};
|
||||
|
||||
#[unstable(
|
||||
feature = "asm",
|
||||
issue = "72016",
|
||||
reason = "inline assembly is not stable enough for use and is subject to change"
|
||||
)]
|
||||
#[doc(no_inline)]
|
||||
pub use core::prelude::v1::asm;
|
||||
|
||||
#[unstable(
|
||||
feature = "global_asm",
|
||||
issue = "35119",
|
||||
reason = "`global_asm!` is not stable enough for use and is subject to change"
|
||||
)]
|
||||
#[doc(no_inline)]
|
||||
pub use core::prelude::v1::global_asm;
|
||||
|
||||
// FIXME: Attribute and internal derive macros are not documented because for them rustdoc generates
|
||||
// dead links which fail link checker testing.
|
||||
#[stable(feature = "builtin_macro_prelude", since = "1.38.0")]
|
||||
|
Loading…
Reference in New Issue
Block a user