[llvm] [lldb] DEBUGINFOD based DWP acquisition for LLDB (PR #70996)

Greg Clayton via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 16 16:07:13 PST 2023


================
@@ -62,15 +66,23 @@ bool canUseDebuginfod() {
 }
 
 SmallVector<StringRef> getDefaultDebuginfodUrls() {
-  const char *DebuginfodUrlsEnv = std::getenv("DEBUGINFOD_URLS");
-  if (DebuginfodUrlsEnv == nullptr)
-    return SmallVector<StringRef>();
-
-  SmallVector<StringRef> DebuginfodUrls;
-  StringRef(DebuginfodUrlsEnv).split(DebuginfodUrls, " ");
+  if (!DebuginfodUrlsSet) {
+    // Only read from the environment variable if the user hasn't already
+    // set the value
+    if (const char *DebuginfodUrlsEnv = std::getenv("DEBUGINFOD_URLS"))
+      StringRef(DebuginfodUrlsEnv).split(DebuginfodUrls, " ", -1, false);
+    DebuginfodUrlsSet = true;
----------------
clayborg wrote:

If we use std::optional, this can be:
```
DebuginfodUrls = SmallVector<StringRef>();
if (const char *DebuginfodUrlsEnv = std::getenv("DEBUGINFOD_URLS"))
  StringRef(DebuginfodUrlsEnv).split(DebuginfodUrls.value(), " ", -1, false);
```

https://github.com/llvm/llvm-project/pull/70996


More information about the llvm-commits mailing list