1 //===-- DWARFDefines.cpp --------------------------------------------------===//
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 "DWARFDefines.h"
10 #include "lldb/Utility/ConstString.h"
15 namespace lldb_private::plugin
{
18 llvm::StringRef
DW_TAG_value_to_name(dw_tag_t tag
) {
19 static constexpr llvm::StringLiteral
s_unknown_tag_name("<unknown DW_TAG>");
20 if (llvm::StringRef tag_name
= llvm::dwarf::TagString(tag
); !tag_name
.empty())
23 return s_unknown_tag_name
;
26 const char *DW_OP_value_to_name(uint32_t val
) {
27 static char invalid
[100];
28 llvm::StringRef llvmstr
= llvm::dwarf::OperationEncodingString(val
);
29 if (llvmstr
.empty()) {
30 snprintf(invalid
, sizeof(invalid
), "Unknown DW_OP constant: 0x%x", val
);
33 return llvmstr
.data();
37 } // namespace lldb_private::plugin