aboutsummaryrefslogtreecommitdiff
path: root/Driver/clang.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Driver/clang.cpp')
-rw-r--r--Driver/clang.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 62f570f627..e7dacc44fd 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -500,6 +500,15 @@ static void InitializeDiagnostics(Diagnostic &Diags) {
if (MSExtensions) // MS allows unnamed struct/union fields.
Diags.setDiagnosticMapping(diag::w_no_declarators, diag::MAP_IGNORE);
+
+ // If -pedantic-errors is set, turn extensions that warn by default into
+ // errors.
+ if (ErrorOnExtensions) {
+ Diags.setDiagnosticMapping(diag::warn_hex_escape_too_large,
+ diag::MAP_ERROR);
+ Diags.setDiagnosticMapping(diag::warn_octal_escape_too_large,
+ diag::MAP_ERROR);
+ }
}
//===----------------------------------------------------------------------===//