add support to the diagnostics machinery for mapping warnings and
errors to 'fatal' error severity.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63894 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Basic/Diagnostic.cpp b/lib/Basic/Diagnostic.cpp
index 2429bdd..ae23278 100644
--- a/lib/Basic/Diagnostic.cpp
+++ b/lib/Basic/Diagnostic.cpp
@@ -33,6 +33,7 @@
   EXTENSION  = 0x03,
   EXTWARN    = 0x04,
   ERROR      = 0x05,
+  FATAL      = 0x06,
   class_mask = 0x07
 };
 
@@ -259,7 +260,10 @@
     case diag::MAP_IGNORE:  return Diagnostic::Ignored;
     case diag::MAP_WARNING: DiagClass = WARNING; break;
     case diag::MAP_ERROR:   DiagClass = ERROR; break;
+    case diag::MAP_FATAL:   DiagClass = FATAL; break;
     }
+  } else if (getDiagnosticMapping((diag::kind)DiagID) == diag::MAP_FATAL) {
+    DiagClass = FATAL;
   }
   
   // Map diagnostic classes based on command line argument settings.
@@ -287,6 +291,7 @@
   case NOTE:        return Diagnostic::Note;
   case WARNING:     return Diagnostic::Warning;
   case ERROR:       return Diagnostic::Error;
+  case FATAL:       return Diagnostic::Fatal;
   }
 }