mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
UPDATE - migrate constant.rs to new diagnostics infrastructure
This commit is contained in:
parent
78796ba637
commit
d41112a8c5
@ -575,3 +575,17 @@ pub struct MetadataObjectFileWrite {
|
|||||||
pub struct InvalidWindowsSubsystem {
|
pub struct InvalidWindowsSubsystem {
|
||||||
pub subsystem: Symbol,
|
pub subsystem: Symbol,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Diagnostic)]
|
||||||
|
#[diag(codegen_ssa_erroneous_constant)]
|
||||||
|
pub struct ErroneousConstant {
|
||||||
|
#[primary_span]
|
||||||
|
pub span: Span,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Diagnostic)]
|
||||||
|
#[diag(codegen_ssa_shuffle_indices_evaluation)]
|
||||||
|
pub struct ShuffleIndicesEvaluation {
|
||||||
|
#[primary_span]
|
||||||
|
pub span: Span,
|
||||||
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
use crate::errors;
|
||||||
use crate::mir::operand::OperandRef;
|
use crate::mir::operand::OperandRef;
|
||||||
use crate::traits::*;
|
use crate::traits::*;
|
||||||
use rustc_middle::mir;
|
use rustc_middle::mir;
|
||||||
@ -44,7 +45,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
|
|||||||
self.cx.tcx().const_eval_resolve(ty::ParamEnv::reveal_all(), uv, None).map_err(|err| {
|
self.cx.tcx().const_eval_resolve(ty::ParamEnv::reveal_all(), uv, None).map_err(|err| {
|
||||||
match err {
|
match err {
|
||||||
ErrorHandled::Reported(_) => {
|
ErrorHandled::Reported(_) => {
|
||||||
self.cx.tcx().sess.span_err(constant.span, "erroneous constant encountered");
|
self.cx.tcx().sess.emit_err(errors::ErroneousConstant { span: constant.span });
|
||||||
}
|
}
|
||||||
ErrorHandled::TooGeneric => {
|
ErrorHandled::TooGeneric => {
|
||||||
span_bug!(constant.span, "codegen encountered polymorphic constant: {:?}", err);
|
span_bug!(constant.span, "codegen encountered polymorphic constant: {:?}", err);
|
||||||
@ -87,7 +88,7 @@ impl<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> {
|
|||||||
(llval, c.ty())
|
(llval, c.ty())
|
||||||
})
|
})
|
||||||
.unwrap_or_else(|_| {
|
.unwrap_or_else(|_| {
|
||||||
bx.tcx().sess.span_err(span, "could not evaluate shuffle_indices at compile time");
|
bx.tcx().sess.emit_err(errors::ShuffleIndicesEvaluation { span });
|
||||||
// We've errored, so we don't have to produce working code.
|
// We've errored, so we don't have to produce working code.
|
||||||
let ty = self.monomorphize(ty);
|
let ty = self.monomorphize(ty);
|
||||||
let llty = bx.backend_type(bx.layout_of(ty));
|
let llty = bx.backend_type(bx.layout_of(ty));
|
||||||
|
@ -201,3 +201,7 @@ codegen_ssa_multiple_main_functions = entry symbol `main` declared multiple time
|
|||||||
codegen_ssa_metadata_object_file_write = error writing metadata object file: {$error}
|
codegen_ssa_metadata_object_file_write = error writing metadata object file: {$error}
|
||||||
|
|
||||||
codegen_ssa_invalid_windows_subsystem = invalid windows subsystem `{$subsystem}`, only `windows` and `console` are allowed
|
codegen_ssa_invalid_windows_subsystem = invalid windows subsystem `{$subsystem}`, only `windows` and `console` are allowed
|
||||||
|
|
||||||
|
codegen_ssa_erroneous_constant = erroneous constant encountered
|
||||||
|
|
||||||
|
codegen_ssa_shuffle_indices_evaluation = could not evaluate shuffle_indices at compile time
|
||||||
|
Loading…
Reference in New Issue
Block a user