summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ryan Prichard <rprichard@google.com> 2024-02-12 20:51:08 -0800
committer Ryan Prichard <rprichard@google.com> 2024-02-13 17:31:57 +0000
commit008db94e90e07bc4d262c80ef2975681299b32fa (patch)
tree5211d681a9f2a70e2f1bd83fb3cece2035dedffb
parent77e5997b524a133d38585da8bf58420f2411f7ad (diff)
Replace basic_string_view<uint8_t> with string_view
In newer versions of libc++, std::char_traits<T> is no longer defined for non-character types, and a result, std::basic_string_view<uint8_t> is also no longer defined. See https://discourse.llvm.org/t/deprecating-std-string-t-for-non-character-t/66779. A char is allowed to alias everything, so use a plain std::string_view instead. Bug: 175635923 Test: m create_minidebuginfo Change-Id: I6878e3e5ddf0191e1259afd38ef7df18e5200324
-rw-r--r--tools/create_minidebuginfo/create_minidebuginfo.cc8
1 files changed, 3 insertions, 5 deletions
diff --git a/tools/create_minidebuginfo/create_minidebuginfo.cc b/tools/create_minidebuginfo/create_minidebuginfo.cc
index 506661a377..f13b62579e 100644
--- a/tools/create_minidebuginfo/create_minidebuginfo.cc
+++ b/tools/create_minidebuginfo/create_minidebuginfo.cc
@@ -94,22 +94,20 @@ static void WriteMinidebugInfo(const std::vector<uint8_t>& input, std::vector<ui
auto* debug_frame = builder->GetDebugFrame();
debug_frame->Start();
{
- std::map<std::basic_string_view<uint8_t>, Elf_Addr> cie_dedup;
+ std::map<std::string_view, Elf_Addr> cie_dedup;
std::unordered_map<const CIE*, Elf_Addr> new_cie_offset;
std::deque<std::pair<const FDE*, const CIE*>> entries;
// Read, de-duplicate and write CIE entries. Read FDE entries.
reader.VisitDebugFrame(
[&](const CIE* cie) {
- std::basic_string_view<uint8_t> key(cie->data(), cie->size());
+ std::string_view key(reinterpret_cast<const char*>(cie->data()), cie->size());
auto it = cie_dedup.emplace(key, debug_frame->GetPosition());
if (/* inserted */ it.second) {
debug_frame->WriteFully(cie->data(), cie->size());
}
new_cie_offset[cie] = it.first->second;
},
- [&](const FDE* fde, const CIE* cie) {
- entries.emplace_back(std::make_pair(fde, cie));
- });
+ [&](const FDE* fde, const CIE* cie) { entries.emplace_back(std::make_pair(fde, cie)); });
// Sort FDE entries by opcodes to improve locality for compression (saves ~25%).
std::stable_sort(entries.begin(), entries.end(), [](const auto& lhs, const auto& rhs) {
constexpr size_t opcode_offset = sizeof(FDE);