Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

#include "SymbolFileDWARF.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/DebugInfo/DWARF/DWARFAddressRange.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugLoc.h"
#include "llvm/Support/Casting.h"
Expand Down Expand Up @@ -998,12 +999,12 @@ XcodeSDK SymbolFileDWARF::ParseXcodeSDK(CompileUnit &comp_unit) {
const char *sdk = cu_die.GetAttributeValueAsString(DW_AT_APPLE_sdk, nullptr);
if (!sdk)
return {};
std::string sysroot =
llvm::StringRef sysroot =
Copy link
Member

@Michael137 Michael137 Aug 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that this is a StringRef we don't need the move down on line 1021. Though I'd double-check that the lifetimes make sense. I'm speculating because i dont have the source in front of me, but suspect I used a std::string+move here just because FileSpec takes a std::string in its constructor? Either way, it doesn't buy us much so the readability win here is worth it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for pointing out the move.

double-check that the lifetimes make sense

It appears fine, and the tests pass. Is that enough or should we test this more in some way?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just checked and FileSpec takes a StringRef anyway, so we're good

cu_die.GetAttributeValueAsString(DW_AT_LLVM_sysroot, "");

// RegisterXcodeSDK calls into xcrun which is not aware of CLT, which is
// expensive.
if (sysroot.find("/Library/Developer/CommandLineTools/SDKs") != 0) {
if (!sysroot.starts_with("/Library/Developer/CommandLineTools/SDKs")) {
// Register the sysroot path remapping with the module belonging to
// the CU as well as the one belonging to the symbol file. The two
// would be different if this is an OSO object and module is the
Expand Down
Loading