Skip to content

Commit

Permalink
Changes made in response to feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
JeanCASPAR committed Aug 19, 2022
1 parent 943f03f commit e34da16
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 19 deletions.
22 changes: 14 additions & 8 deletions compiler/rustc_ast_lowering/src/asm.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,22 +124,28 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
.iter()
.map(|(op, op_sp)| {
let lower_reg = |reg| match reg {
InlineAsmRegOrRegClass::Reg(s) => {
InlineAsmRegOrRegClass::Reg(reg) => {
asm::InlineAsmRegOrRegClass::Reg(if let Some(asm_arch) = asm_arch {
asm::InlineAsmReg::parse(asm_arch, s).unwrap_or_else(|e| {
sess.emit_err(InvalidRegister { op_span: *op_sp, s, e });
asm::InlineAsmReg::parse(asm_arch, reg).unwrap_or_else(|error| {
sess.emit_err(InvalidRegister { op_span: *op_sp, reg, error });
asm::InlineAsmReg::Err
})
} else {
asm::InlineAsmReg::Err
})
}
InlineAsmRegOrRegClass::RegClass(s) => {
InlineAsmRegOrRegClass::RegClass(reg_class) => {
asm::InlineAsmRegOrRegClass::RegClass(if let Some(asm_arch) = asm_arch {
asm::InlineAsmRegClass::parse(asm_arch, s).unwrap_or_else(|e| {
sess.emit_err(InvalidRegisterClass { op_span: *op_sp, s, e });
asm::InlineAsmRegClass::Err
})
asm::InlineAsmRegClass::parse(asm_arch, reg_class).unwrap_or_else(
|error| {
sess.emit_err(InvalidRegisterClass {
op_span: *op_sp,
reg_class,
error,
});
asm::InlineAsmRegClass::Err
},
)
} else {
asm::InlineAsmRegClass::Err
})
Expand Down
14 changes: 7 additions & 7 deletions compiler/rustc_ast_lowering/src/errors.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use rustc_errors::{fluent, AddSubdiagnostic, Applicability, Diagnostic};
use rustc_errors::{fluent, AddSubdiagnostic, Applicability, Diagnostic, DiagnosticArgFromDisplay};
use rustc_macros::{SessionDiagnostic, SessionSubdiagnostic};
use rustc_span::{symbol::Ident, Span, Symbol};

Expand Down Expand Up @@ -73,10 +73,10 @@ impl AddSubdiagnostic for AssocTyParenthesesSub {

#[derive(SessionDiagnostic)]
#[error(ast_lowering::misplaced_impl_trait, code = "E0562")]
pub struct MisplacedImplTrait {
pub struct MisplacedImplTrait<'a> {
#[primary_span]
pub span: Span,
pub position: String,
pub position: DiagnosticArgFromDisplay<'a>,
}

#[derive(SessionDiagnostic, Clone, Copy)]
Expand Down Expand Up @@ -196,17 +196,17 @@ pub struct InvalidAbiClobberAbi {
pub struct InvalidRegister<'a> {
#[primary_span]
pub op_span: Span,
pub s: Symbol,
pub e: &'a str,
pub reg: Symbol,
pub error: &'a str,
}

#[derive(SessionDiagnostic, Clone, Copy)]
#[error(ast_lowering::invalid_register_class)]
pub struct InvalidRegisterClass<'a> {
#[primary_span]
pub op_span: Span,
pub s: Symbol,
pub e: &'a str,
pub reg_class: Symbol,
pub error: &'a str,
}

#[derive(SessionDiagnostic)]
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_ast_lowering/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ use rustc_data_structures::fx::FxHashMap;
use rustc_data_structures::sorted_map::SortedMap;
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
use rustc_data_structures::sync::Lrc;
use rustc_errors::{Handler, StashKey};
use rustc_errors::{DiagnosticArgFromDisplay, Handler, StashKey};
use rustc_hir as hir;
use rustc_hir::def::{DefKind, LifetimeRes, Namespace, PartialRes, PerNS, Res};
use rustc_hir::def_id::{LocalDefId, CRATE_DEF_ID};
Expand Down Expand Up @@ -1334,7 +1334,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
ImplTraitContext::Disallowed(position) => {
self.tcx.sess.emit_err(MisplacedImplTrait {
span: t.span,
position: position.to_string(),
position: DiagnosticArgFromDisplay(&position),
});
hir::TyKind::Err
}
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_error_messages/locales/en-US/ast_lowering.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ ast_lowering_invalid_abi_clobber_abi =
.note = the following ABIs are supported on this target: {$supported_abis}
ast_lowering_invalid_register =
invalid register `{$s}`: {$e}
invalid register `{$reg}`: {$error}
ast_lowering_invalid_register_class =
invalid register class `{$s}`: {$e}
invalid register class `{$reg_class}`: {$error}
ast_lowering_invalid_asm_template_modifier_reg_class =
invalid asm template modifier for this register class
Expand Down

0 comments on commit e34da16

Please sign in to comment.