39 lines · cpp
1//===- EnumTables.cpp - Enum to string conversion tables --------*- C++ -*-===//2//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-exception6//7//===----------------------------------------------------------------------===//8 9#include "llvm/DebugInfo/PDB/Native/EnumTables.h"10#include "llvm/DebugInfo/PDB/Native/RawConstants.h"11#include "llvm/Support/ScopedPrinter.h"12 13using namespace llvm;14using namespace llvm::pdb;15 16#define PDB_ENUM_CLASS_ENT(enum_class, enum) \17 { #enum, std::underlying_type_t<enum_class>(enum_class::enum) }18 19#define PDB_ENUM_ENT(ns, enum) \20 { #enum, ns::enum }21 22static const EnumEntry<uint16_t> OMFSegMapDescFlagNames[] = {23 PDB_ENUM_CLASS_ENT(OMFSegDescFlags, Read),24 PDB_ENUM_CLASS_ENT(OMFSegDescFlags, Write),25 PDB_ENUM_CLASS_ENT(OMFSegDescFlags, Execute),26 PDB_ENUM_CLASS_ENT(OMFSegDescFlags, AddressIs32Bit),27 PDB_ENUM_CLASS_ENT(OMFSegDescFlags, IsSelector),28 PDB_ENUM_CLASS_ENT(OMFSegDescFlags, IsAbsoluteAddress),29 PDB_ENUM_CLASS_ENT(OMFSegDescFlags, IsGroup),30};31 32namespace llvm {33namespace pdb {34ArrayRef<EnumEntry<uint16_t>> getOMFSegMapDescFlagNames() {35 return ArrayRef(OMFSegMapDescFlagNames);36}37}38}39