Base SFINAE error suppression counting on the class of an error, not
its (possibly-remapped) diagnostics. Thanks, Chris!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73390 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index 0607a89..34513e7 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -312,24 +312,8 @@
       // If we encountered an error during template argument
       // deduction, and that error is one of the SFINAE errors,
       // suppress the diagnostic.
-      bool Fatal = false;
-      switch (Diags.getDiagnosticLevel(DiagID)) {
-      case Diagnostic::Ignored:
-      case Diagnostic::Note:
-      case Diagnostic::Warning:
-        break;
-
-      case Diagnostic::Error:
-        ++NumSFINAEErrors;
-        break;
-
-      case Diagnostic::Fatal:
-        Fatal = true;
-        break;
-      }
-
-      if (!Fatal)
-        return SemaDiagnosticBuilder(*this);
+      ++NumSFINAEErrors;
+      return SemaDiagnosticBuilder(*this);
     }
 
     DiagnosticBuilder DB = Diags.Report(FullSourceLoc(Loc, SourceMgr), DiagID);