errors: generate typed identifiers in each crate
Instead of loading the Fluent resources for every crate in `rustc_error_messages`, each crate generates typed identifiers for its own diagnostics and creates a static which are pulled together in the `rustc_driver` crate and provided to the diagnostic emitter. Signed-off-by: David Wood <david.wood@huawei.com>
This commit is contained in:
parent
4238ce2195
commit
3e14bba40c
62
locales/en-US.ftl
Normal file
62
locales/en-US.ftl
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
codegen_gcc_unwinding_inline_asm =
|
||||||
|
GCC backend does not support unwinding from inline asm
|
||||||
|
|
||||||
|
codegen_gcc_lto_not_supported =
|
||||||
|
LTO is not supported. You may get a linker error.
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_basic_integer =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: expected basic integer type, found `{$ty}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_invalid_float_vector =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: unsupported element type `{$elem_ty}` of floating-point vector `{$vec_ty}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_not_float =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: `{$ty}` is not a floating-point type
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_unrecognized =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: unrecognized intrinsic `{$name}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_expected_signed_unsigned =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: expected element type `{$elem_ty}` of vector type `{$vec_ty}` to be a signed or unsigned integer type
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_unsupported_element =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: unsupported {$name} from `{$in_ty}` with element `{$elem_ty}` to `{$ret_ty}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_invalid_bitmask =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: invalid bitmask `{$ty}`, expected `u{$expected_int_bits}` or `[u8; {$expected_bytes}]`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_simd_shuffle =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: simd_shuffle index must be an array of `u32`, got `{$ty}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_expected_simd =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: expected SIMD {$expected_ty} type, found non-SIMD `{$found_ty}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_mask_type =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: mask element type is `{$ty}`, expected `i_`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_return_length =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: expected return type of length {$in_len}, found `{$ret_ty}` with length {$out_len}
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_return_length_input_type =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: expected return type with length {$in_len} (same as input type `{$in_ty}`), found `{$ret_ty}` with length {$out_len}
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_return_element =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: expected return element type `{$in_elem}` (element of input `{$in_ty}`), found `{$ret_ty}` with element type `{$out_ty}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_return_type =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: expected return type `{$in_elem}` (element of input `{$in_ty}`), found `{$ret_ty}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_inserted_type =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: expected inserted type `{$in_elem}` (element of input `{$in_ty}`), found `{$out_ty}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_return_integer_type =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: expected return type with integer elements, found `{$ret_ty}` with non-integer `{$out_ty}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_mismatched_lengths =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: mismatched lengths: mask length `{$m_len}` != other vector length `{$v_len}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_unsupported_cast =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: unsupported cast from `{$in_ty}` with element `{$in_elem}` to `{$ret_ty}` with element `{$out_elem}`
|
||||||
|
|
||||||
|
codegen_gcc_invalid_monomorphization_unsupported_operation =
|
||||||
|
invalid monomorphization of `{$name}` intrinsic: unsupported operation on `{$in_ty}` with element `{$in_elem}`
|
@ -73,7 +73,8 @@
|
|||||||
use rustc_codegen_ssa::target_features::supported_target_features;
|
use rustc_codegen_ssa::target_features::supported_target_features;
|
||||||
use rustc_codegen_ssa::traits::{CodegenBackend, ExtraBackendMethods, ModuleBufferMethods, ThinBufferMethods, WriteBackendMethods};
|
use rustc_codegen_ssa::traits::{CodegenBackend, ExtraBackendMethods, ModuleBufferMethods, ThinBufferMethods, WriteBackendMethods};
|
||||||
use rustc_data_structures::fx::FxHashMap;
|
use rustc_data_structures::fx::FxHashMap;
|
||||||
use rustc_errors::{ErrorGuaranteed, Handler};
|
use rustc_errors::{DiagnosticMessage, ErrorGuaranteed, Handler, SubdiagnosticMessage};
|
||||||
|
use rustc_macros::fluent_messages;
|
||||||
use rustc_metadata::EncodedMetadata;
|
use rustc_metadata::EncodedMetadata;
|
||||||
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
|
use rustc_middle::dep_graph::{WorkProduct, WorkProductId};
|
||||||
use rustc_middle::ty::TyCtxt;
|
use rustc_middle::ty::TyCtxt;
|
||||||
@ -84,6 +85,8 @@
|
|||||||
use rustc_span::fatal_error::FatalError;
|
use rustc_span::fatal_error::FatalError;
|
||||||
use tempfile::TempDir;
|
use tempfile::TempDir;
|
||||||
|
|
||||||
|
fluent_messages! { "../locales/en-US.ftl" }
|
||||||
|
|
||||||
pub struct PrintOnPanic<F: Fn() -> String>(pub F);
|
pub struct PrintOnPanic<F: Fn() -> String>(pub F);
|
||||||
|
|
||||||
impl<F: Fn() -> String> Drop for PrintOnPanic<F> {
|
impl<F: Fn() -> String> Drop for PrintOnPanic<F> {
|
||||||
|
Loading…
Reference in New Issue
Block a user