]> granicus.if.org Git - clang/commitdiff
Fix a regression from 143657. The second pass of the warning options should only...
authorChad Rosier <mcrosier@apple.com>
Tue, 15 Nov 2011 18:57:32 +0000 (18:57 +0000)
committerChad Rosier <mcrosier@apple.com>
Tue, 15 Nov 2011 18:57:32 +0000 (18:57 +0000)
warnings/errors for unknown warning options.  getDiagnosticsInGroup returns false if the
diagnostics is found and true otherwise.  Thus, if we're reporting and we have a valid
diagnostic, we were actually setting the flag and causing mayhem.
rdar://10444207

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144670 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/Warnings.cpp

index 4e41e22138c7ddfbe97b1795a8fd348555b27a97..3588af0d4a44584c1aebfa503864cb898e99e8b2 100644 (file)
@@ -166,8 +166,9 @@ void clang::ProcessWarningOptions(DiagnosticsEngine &Diags,
         continue;
       }
       
-      if (Report && DiagIDs->getDiagnosticsInGroup(Opt, _Diags)) {
-        EmitUnkownDiagWarning(Diags, "-W", Opt, isPositive);
+      if (Report) {
+        if (DiagIDs->getDiagnosticsInGroup(Opt, _Diags))
+          EmitUnkownDiagWarning(Diags, "-W", Opt, isPositive);
       } else {
         Diags.setDiagnosticGroupMapping(Opt, Mapping);
       }