Fix PR2281: these two warnings should be promoted to error on
pedantic error. Perhaps I should add a class of 'extension' that is
'extension that warns by default', which would be cleaner.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50633 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 62f570f..e7dacc4 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -500,6 +500,15 @@
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);
+ }
}
//===----------------------------------------------------------------------===//