[lldb] Fix a bug in D96779 (shared lib directory logic)

This function would fail in debug builds, as the two usages of the
LLDB_PYTHON_RELATIVE_LIBDIR macro would expand to two distinct strings.
The path iterator macros don't support that.

Use a temporary variable to ensure everything points to a single string.
This commit is contained in:
Pavel Labath 2021-03-09 15:15:45 +01:00
parent d0884541cc
commit 2e826088b9
1 changed files with 3 additions and 2 deletions

View File

@ -421,8 +421,9 @@ void ScriptInterpreterPython::SharedLibraryDirectoryHelper(
if (this_file.GetFileNameExtension() == ConstString(".pyd")) {
this_file.RemoveLastPathComponent(); // _lldb.pyd or _lldb_d.pyd
this_file.RemoveLastPathComponent(); // lldb
for (auto it = llvm::sys::path::begin(LLDB_PYTHON_RELATIVE_LIBDIR),
end = llvm::sys::path::end(LLDB_PYTHON_RELATIVE_LIBDIR);
llvm::StringRef libdir = LLDB_PYTHON_RELATIVE_LIBDIR;
for (auto it = llvm::sys::path::begin(libdir),
end = llvm::sys::path::end(libdir);
it != end; ++it)
this_file.RemoveLastPathComponent();
this_file.AppendPathComponent("bin");