aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend/Warnings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Frontend/Warnings.cpp')
-rw-r--r--lib/Frontend/Warnings.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/Frontend/Warnings.cpp b/lib/Frontend/Warnings.cpp
index 7fcbe3acd4..ba0cd38045 100644
--- a/lib/Frontend/Warnings.cpp
+++ b/lib/Frontend/Warnings.cpp
@@ -120,7 +120,9 @@ void clang::ProcessWarningOptions(DiagnosticsEngine &Diags,
} else if (DiagIDs->getDiagnosticsInGroup(Specifier, _Diags)) {
Diags.Report(isPositive ? diag::warn_unknown_warning_option :
diag::warn_unknown_negative_warning_option)
- << ("-W" + Opt.str());
+ << ("-W" + Opt.str())
+ << ("-Werror=" +
+ DiagnosticIDs::getNearestWarningOption(Specifier).str());
}
continue;
}
@@ -150,7 +152,9 @@ void clang::ProcessWarningOptions(DiagnosticsEngine &Diags,
} else if (DiagIDs->getDiagnosticsInGroup(Specifier, _Diags)) {
Diags.Report(isPositive ? diag::warn_unknown_warning_option :
diag::warn_unknown_negative_warning_option)
- << ("-W" + Opt.str());
+ << ("-W" + Opt.str())
+ << ("-Wfatal-errors=" +
+ DiagnosticIDs::getNearestWarningOption(Specifier).str());
}
continue;
}
@@ -158,7 +162,8 @@ void clang::ProcessWarningOptions(DiagnosticsEngine &Diags,
if (Report && DiagIDs->getDiagnosticsInGroup(Opt, _Diags)) {
Diags.Report(isPositive ? diag::warn_unknown_warning_option :
diag::warn_unknown_negative_warning_option)
- << ("-W" + Opt.str());
+ << ("-W" + Opt.str())
+ << ("-W" + DiagnosticIDs::getNearestWarningOption(Opt).str());
} else {
Diags.setDiagnosticGroupMapping(Opt, Mapping);
}