|  | //===--- CLWarnings.h - Maps some cl.exe warning ids  -----------*- C++ -*-===// | 
|  | // | 
|  | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | 
|  | // See https://llvm.org/LICENSE.txt for license information. | 
|  | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  | // | 
|  | //  This file implements the Diagnostic-related interfaces. | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #include "clang/Basic/CLWarnings.h" | 
|  | #include "clang/Basic/DiagnosticCategories.h" | 
|  |  | 
|  | using namespace clang; | 
|  |  | 
|  | llvm::Optional<diag::Group> | 
|  | clang::diagGroupFromCLWarningID(unsigned CLWarningID) { | 
|  | switch (CLWarningID) { | 
|  | case 4005: return diag::Group::MacroRedefined; | 
|  | case 4018: return diag::Group::SignCompare; | 
|  | case 4100: return diag::Group::UnusedParameter; | 
|  | case 4910: return diag::Group::DllexportExplicitInstantiationDecl; | 
|  | case 4996: return diag::Group::DeprecatedDeclarations; | 
|  | } | 
|  | return {}; | 
|  | } |