mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-24 23:06:05 +00:00

This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
30 lines
1.0 KiB
C++
30 lines
1.0 KiB
C++
//===--- 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"
|
|
#include <optional>
|
|
|
|
using namespace clang;
|
|
|
|
std::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 {};
|
|
}
|