Revert "[Demangle] make llvm::demangle take std::string_view rather than const std...
authorNick Desaulniers <ndesaulniers@google.com>
Tue, 2 May 2023 22:54:09 +0000 (15:54 -0700)
committerNick Desaulniers <ndesaulniers@google.com>
Tue, 2 May 2023 22:54:09 +0000 (15:54 -0700)
commit3e3c6f24ff85ea52ed67d4c26f1d3d0eacd1ad1b
treedb1435ec6bb8dd51613636968c9a966b46218952
parent0fac44d80715ba04a7567346d1832d3b4f019f34
Revert "[Demangle] make llvm::demangle take std::string_view rather than const std::string&"

This reverts commit c117c2c8ba4afd45a006043ec6dd858652b2ffcc.

itaniumDemangle calls std::strlen with the results of
std::string_view::data() which may not be NUL-terminated. This causes
lld/test/wasm/why-extract.s  to fail when "expensive checks" are enabled
via -DLLVM_ENABLE_EXPENSIVE_CHECKS=ON. See D149675 for further
discussion. Back this out until the individual demanglers are converted
to use std::string_view.
16 files changed:
clang/lib/CodeGen/CodeGenAction.cpp
lld/COFF/Symbols.cpp
lld/ELF/SymbolTable.cpp
lld/ELF/Symbols.cpp
lld/MachO/Symbols.cpp
lld/wasm/Symbols.cpp
llvm/docs/ReleaseNotes.rst
llvm/include/llvm/Demangle/Demangle.h
llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
llvm/lib/Demangle/Demangle.cpp
llvm/lib/IR/DiagnosticInfo.cpp
llvm/tools/llvm-objdump/ELFDump.cpp
llvm/tools/llvm-objdump/XCOFFDump.cpp
llvm/tools/llvm-objdump/llvm-objdump.cpp
llvm/tools/llvm-readobj/ELFDumper.cpp
llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp