aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Frontend/Warnings.cpp2
-rw-r--r--test/Misc/diag-mapping2.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/Frontend/Warnings.cpp b/lib/Frontend/Warnings.cpp
index c8fd5f6fcb..87178e93b4 100644
--- a/lib/Frontend/Warnings.cpp
+++ b/lib/Frontend/Warnings.cpp
@@ -90,7 +90,7 @@ bool clang::ProcessWarningOptions(Diagnostic &Diags,
}
if (Specifier == 0) {
- Diags.setWarningsAsErrors(true);
+ Diags.setWarningsAsErrors(isPositive);
continue;
}
diff --git a/test/Misc/diag-mapping2.c b/test/Misc/diag-mapping2.c
index 7e0d7742a9..c5fd7fff81 100644
--- a/test/Misc/diag-mapping2.c
+++ b/test/Misc/diag-mapping2.c
@@ -12,7 +12,10 @@
// RUN: clang-cc %s -Werror=#warnings 2>&1 | grep "error:" &&
// -Wno-error= overrides -Werror. rdar://3158301
-// RUN: clang-cc %s -Werror -Wno-error=#warnings 2>&1 | grep "warning:"
+// RUN: clang-cc %s -Werror -Wno-error=#warnings 2>&1 | grep "warning:" &&
+
+// -Wno-error overrides -Werror. PR4715
+// RUN: clang-cc %s -Werror -Wno-error 2>&1 | grep "warning:"
#warning foo