1 //===- EnumTables.cpp - Enum to string conversion tables --------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #include "llvm/DebugInfo/PDB/Native/EnumTables.h"
10 #include "llvm/DebugInfo/PDB/Native/RawConstants.h"
13 using namespace llvm::pdb
;
15 #define PDB_ENUM_CLASS_ENT(enum_class, enum) \
16 { #enum, std::underlying_type < enum_class > ::type(enum_class::enum) }
18 #define PDB_ENUM_ENT(ns, enum) \
21 static const EnumEntry
<uint16_t> OMFSegMapDescFlagNames
[] = {
22 PDB_ENUM_CLASS_ENT(OMFSegDescFlags
, Read
),
23 PDB_ENUM_CLASS_ENT(OMFSegDescFlags
, Write
),
24 PDB_ENUM_CLASS_ENT(OMFSegDescFlags
, Execute
),
25 PDB_ENUM_CLASS_ENT(OMFSegDescFlags
, AddressIs32Bit
),
26 PDB_ENUM_CLASS_ENT(OMFSegDescFlags
, IsSelector
),
27 PDB_ENUM_CLASS_ENT(OMFSegDescFlags
, IsAbsoluteAddress
),
28 PDB_ENUM_CLASS_ENT(OMFSegDescFlags
, IsGroup
),
33 ArrayRef
<EnumEntry
<uint16_t>> getOMFSegMapDescFlagNames() {
34 return makeArrayRef(OMFSegMapDescFlagNames
);