rustc: Handle linker diagnostic from LLVM

Previously linker diagnostic were being hidden when two modules were linked
together but failed to link. This commit fixes the situation by ensuring that we
have a diagnostic handler installed and also adds support for handling linker
diagnostics.
This commit is contained in:
Alex Crichton 2018-07-17 16:20:51 -07:00
parent f89817997a
commit f0bceba669
8 changed files with 77 additions and 8 deletions

View file

@ -984,6 +984,7 @@ enum class LLVMRustDiagnosticKind {
OptimizationRemarkOther,
OptimizationFailure,
PGOProfile,
Linker,
};
static LLVMRustDiagnosticKind toRust(DiagnosticKind Kind) {
@ -1008,6 +1009,8 @@ static LLVMRustDiagnosticKind toRust(DiagnosticKind Kind) {
return LLVMRustDiagnosticKind::OptimizationRemarkAnalysisAliasing;
case DK_PGOProfile:
return LLVMRustDiagnosticKind::PGOProfile;
case DK_Linker:
return LLVMRustDiagnosticKind::Linker;
default:
return (Kind >= DK_FirstRemark && Kind <= DK_LastRemark)
? LLVMRustDiagnosticKind::OptimizationRemarkOther