Auto merge of #137900 - matthiaskrgr:rollup-rvan5ao, r=matthiaskrgr
Rollup of 10 pull requests Successful merges: - #137375 (Minor internal comments fix for `BufRead::read_line`) - #137641 (More precisely document `Global::deallocate()`'s safety.) - #137755 (doc: update Wasmtime flags) - #137851 (improve `simd_select` error message when used with invalid mask type) - #137860 (rustc_target: Add msync target feature and enable it on powerpcspe targets) - #137871 (fix `RangeBounds::is_empty` documentation) - #137873 (Disable `f16` on Aarch64 without `neon`) - #137876 (Adjust triagebot.toml entries for `rustc_mir_build/src/builder/`) - #137883 (edit mailmap) - #137886 (`name()` and `trimmed_name()` for `stable_mir::crate_def::DefId`) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
81d8edc200
20 changed files with 160 additions and 33 deletions
|
|
@ -119,7 +119,8 @@ codegen_ssa_invalid_monomorphization_inserted_type = invalid monomorphization of
|
|||
|
||||
codegen_ssa_invalid_monomorphization_invalid_bitmask = invalid monomorphization of `{$name}` intrinsic: invalid bitmask `{$mask_ty}`, expected `u{$expected_int_bits}` or `[u8; {$expected_bytes}]`
|
||||
|
||||
codegen_ssa_invalid_monomorphization_mask_type = invalid monomorphization of `{$name}` intrinsic: mask element type is `{$ty}`, expected `i_`
|
||||
codegen_ssa_invalid_monomorphization_mask_type = invalid monomorphization of `{$name}` intrinsic: found mask element type is `{$ty}`, expected a signed integer type
|
||||
.note = the mask may be widened, which only has the correct behavior for signed integers
|
||||
|
||||
codegen_ssa_invalid_monomorphization_mismatched_lengths = invalid monomorphization of `{$name}` intrinsic: mismatched lengths: mask length `{$m_len}` != other vector length `{$v_len}`
|
||||
|
||||
|
|
|
|||
|
|
@ -957,6 +957,7 @@ pub enum InvalidMonomorphization<'tcx> {
|
|||
},
|
||||
|
||||
#[diag(codegen_ssa_invalid_monomorphization_mask_type, code = E0511)]
|
||||
#[note]
|
||||
MaskType {
|
||||
#[primary_span]
|
||||
span: Span,
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ pub(crate) fn target() -> Target {
|
|||
options: TargetOptions {
|
||||
abi: "spe".into(),
|
||||
endian: Endian::Big,
|
||||
features: "+secure-plt".into(),
|
||||
features: "+secure-plt,+msync".into(),
|
||||
mcount: "_mcount".into(),
|
||||
..base
|
||||
},
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ pub(crate) fn target() -> Target {
|
|||
options: TargetOptions {
|
||||
abi: "spe".into(),
|
||||
endian: Endian::Big,
|
||||
features: "+msync".into(),
|
||||
mcount: "_mcount".into(),
|
||||
..base
|
||||
},
|
||||
|
|
|
|||
|
|
@ -461,6 +461,7 @@ const HEXAGON_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
|
|||
static POWERPC_FEATURES: &[(&str, Stability, ImpliedFeatures)] = &[
|
||||
// tidy-alphabetical-start
|
||||
("altivec", Unstable(sym::powerpc_target_feature), &[]),
|
||||
("msync", Unstable(sym::powerpc_target_feature), &[]),
|
||||
("partword-atomics", Unstable(sym::powerpc_target_feature), &[]),
|
||||
("power10-vector", Unstable(sym::powerpc_target_feature), &["power9-vector"]),
|
||||
("power8-altivec", Unstable(sym::powerpc_target_feature), &["altivec"]),
|
||||
|
|
|
|||
|
|
@ -10,18 +10,10 @@ use crate::{Crate, Symbol, with};
|
|||
#[derive(Clone, Copy, PartialEq, Eq, Hash, Serialize)]
|
||||
pub struct DefId(pub(crate) usize);
|
||||
|
||||
/// A trait for retrieving information about a particular definition.
|
||||
///
|
||||
/// Implementors must provide the implementation of `def_id` which will be used to retrieve
|
||||
/// information about a crate's definition.
|
||||
pub trait CrateDef {
|
||||
/// Retrieve the unique identifier for the current definition.
|
||||
fn def_id(&self) -> DefId;
|
||||
|
||||
/// Return the fully qualified name of the current definition.
|
||||
fn name(&self) -> Symbol {
|
||||
let def_id = self.def_id();
|
||||
with(|cx| cx.def_name(def_id, false))
|
||||
impl DefId {
|
||||
/// Return fully qualified name of this definition
|
||||
pub fn name(&self) -> Symbol {
|
||||
with(|cx| cx.def_name(*self, false))
|
||||
}
|
||||
|
||||
/// Return a trimmed name of this definition.
|
||||
|
|
@ -34,9 +26,31 @@ pub trait CrateDef {
|
|||
///
|
||||
/// For example, this function may shorten `std::vec::Vec` to just `Vec`,
|
||||
/// as long as there is no other `Vec` importable anywhere.
|
||||
pub fn trimmed_name(&self) -> Symbol {
|
||||
with(|cx| cx.def_name(*self, true))
|
||||
}
|
||||
}
|
||||
|
||||
/// A trait for retrieving information about a particular definition.
|
||||
///
|
||||
/// Implementors must provide the implementation of `def_id` which will be used to retrieve
|
||||
/// information about a crate's definition.
|
||||
pub trait CrateDef {
|
||||
/// Retrieve the unique identifier for the current definition.
|
||||
fn def_id(&self) -> DefId;
|
||||
|
||||
/// Return the fully qualified name of the current definition.
|
||||
///
|
||||
/// See [`DefId::name`] for more details
|
||||
fn name(&self) -> Symbol {
|
||||
self.def_id().name()
|
||||
}
|
||||
|
||||
/// Return a trimmed name of this definition.
|
||||
///
|
||||
/// See [`DefId::trimmed_name`] for more details
|
||||
fn trimmed_name(&self) -> Symbol {
|
||||
let def_id = self.def_id();
|
||||
with(|cx| cx.def_name(def_id, true))
|
||||
self.def_id().trimmed_name()
|
||||
}
|
||||
|
||||
/// Return information about the crate where this definition is declared.
|
||||
|
|
|
|||
|
|
@ -48,10 +48,7 @@ pub type CrateNum = usize;
|
|||
|
||||
impl Debug for DefId {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_struct("DefId")
|
||||
.field("id", &self.0)
|
||||
.field("name", &with(|cx| cx.def_name(*self, false)))
|
||||
.finish()
|
||||
f.debug_struct("DefId").field("id", &self.0).field("name", &self.name()).finish()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue