-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of #101075 - ellishg:rustc_codegen_gcc_diagnostics, r=da…
…vidtwco Migrate rustc_codegen_gcc to SessionDiagnostics As part of #100717 this pr migrates diagnostics to `SessionDiagnostics` for the `rustc_codegen_gcc` crate. ``@rustbot`` label +A-translation
- Loading branch information
Showing
12 changed files
with
417 additions
and
163 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,242 @@ | ||
use rustc_errors::{DiagnosticArgValue, IntoDiagnosticArg}; | ||
use rustc_macros::Diagnostic; | ||
use rustc_middle::ty::Ty; | ||
use rustc_span::{Span, Symbol}; | ||
use std::borrow::Cow; | ||
|
||
struct ExitCode(Option<i32>); | ||
|
||
impl IntoDiagnosticArg for ExitCode { | ||
fn into_diagnostic_arg(self) -> DiagnosticArgValue<'static> { | ||
let ExitCode(exit_code) = self; | ||
match exit_code { | ||
Some(t) => t.into_diagnostic_arg(), | ||
None => DiagnosticArgValue::Str(Cow::Borrowed("<signal>")), | ||
} | ||
} | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::ranlib_failure)] | ||
pub(crate) struct RanlibFailure { | ||
exit_code: ExitCode, | ||
} | ||
|
||
impl RanlibFailure { | ||
pub fn new(exit_code: Option<i32>) -> Self { | ||
RanlibFailure { exit_code: ExitCode(exit_code) } | ||
} | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_basic_integer, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationBasicInteger<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_invalid_float_vector, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationInvalidFloatVector<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub elem_ty: &'a str, | ||
pub vec_ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_not_float, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationNotFloat<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_unrecognized, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationUnrecognized { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_expected_signed_unsigned, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationExpectedSignedUnsigned<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub elem_ty: Ty<'a>, | ||
pub vec_ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_unsupported_element, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationUnsupportedElement<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub in_ty: Ty<'a>, | ||
pub elem_ty: Ty<'a>, | ||
pub ret_ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_invalid_bitmask, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationInvalidBitmask<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub ty: Ty<'a>, | ||
pub expected_int_bits: u64, | ||
pub expected_bytes: u64, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_simd_shuffle, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationSimdShuffle<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_expected_simd, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationExpectedSimd<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub position: &'a str, | ||
pub found_ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_mask_type, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationMaskType<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_return_length, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationReturnLength<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub in_len: u64, | ||
pub ret_ty: Ty<'a>, | ||
pub out_len: u64, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_return_length_input_type, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationReturnLengthInputType<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub in_len: u64, | ||
pub in_ty: Ty<'a>, | ||
pub ret_ty: Ty<'a>, | ||
pub out_len: u64, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_return_element, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationReturnElement<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub in_elem: Ty<'a>, | ||
pub in_ty: Ty<'a>, | ||
pub ret_ty: Ty<'a>, | ||
pub out_ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_return_type, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationReturnType<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub in_elem: Ty<'a>, | ||
pub in_ty: Ty<'a>, | ||
pub ret_ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_inserted_type, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationInsertedType<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub in_elem: Ty<'a>, | ||
pub in_ty: Ty<'a>, | ||
pub out_ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_return_integer_type, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationReturnIntegerType<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub ret_ty: Ty<'a>, | ||
pub out_ty: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_mismatched_lengths, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationMismatchedLengths { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub m_len: u64, | ||
pub v_len: u64, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_unsupported_cast, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationUnsupportedCast<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub in_ty: Ty<'a>, | ||
pub in_elem: Ty<'a>, | ||
pub ret_ty: Ty<'a>, | ||
pub out_elem: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::invalid_monomorphization_unsupported_operation, code = "E0511")] | ||
pub(crate) struct InvalidMonomorphizationUnsupportedOperation<'a> { | ||
#[primary_span] | ||
pub span: Span, | ||
pub name: Symbol, | ||
pub in_ty: Ty<'a>, | ||
pub in_elem: Ty<'a>, | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::linkage_const_or_mut_type)] | ||
pub(crate) struct LinkageConstOrMutType { | ||
#[primary_span] | ||
pub span: Span | ||
} | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::lto_not_supported)] | ||
pub(crate) struct LTONotSupported; | ||
|
||
#[derive(Diagnostic)] | ||
#[diag(codegen_gcc::unwinding_inline_asm)] | ||
pub(crate) struct UnwindingInlineAsm { | ||
#[primary_span] | ||
pub span: Span | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.