@@ -1644,8 +1647,9 @@ class CommandObjectCommandsScriptAdd : public
CommandObjectParsed,
llvm::Error llvm_error =
m_container->LoadUserSubcommand(m_cmd_name, new_cmd_sp, m_overwrite);
if (llvm_error)
-result.AppendErrorWithFormat("cannot add comma
@@ -3055,8 +3055,8 @@ void CommandInterpreter::PrintCommandOutput(IOHandler
&io_handler,
}
std::lock_guard guard(io_handler.GetOutputMutex());
- if (had_output && INTERRUPT_REQUESTED(GetDebugger(),
-"Interrupted dumping command ou
@@ -1623,15 +1625,16 @@ class CommandObjectCommandsScriptAdd : public
CommandObjectParsed,
m_options.m_class_name.c_str());
if (!cmd_obj_sp) {
result.AppendErrorWithFormatv("cannot create helper object for: "
- "'{0}
@@ -1577,7 +1579,7 @@ class CommandObjectCommandsScriptAdd : public
CommandObjectParsed,
case eLazyBoolNo:
m_overwrite = false;
}
-
+
clayborg wrote:
revert non related whitespace change
https://github.com/llvm/llvm-project/pull/80375
_
@@ -1623,15 +1625,16 @@ class CommandObjectCommandsScriptAdd : public
CommandObjectParsed,
m_options.m_class_name.c_str());
if (!cmd_obj_sp) {
result.AppendErrorWithFormatv("cannot create helper object for: "
- "'{0}
@@ -1788,12 +1792,13 @@ class CommandObjectCommandsScriptDelete : public
CommandObjectParsed {
return;
}
const char *leaf_cmd = command[num_args - 1].c_str();
-llvm::Error llvm_error = container->RemoveUserSubcommand(leaf_cmd,
-
@@ -70,3 +73,26 @@ def test_stats_api(self):
True,
'Make sure the "failures" key in in "frameVariable" dictionary"',
)
+
+def test_command_stats_api(self):
+"""
+Test GetCommandInterpreter::GetStatistics() API.
+"""
+
@@ -575,7 +576,7 @@ class CommandInterpreter : public Broadcaster,
void SetEchoCommentCommands(bool enable);
bool GetRepeatPreviousCommand() const;
-
+
clayborg wrote:
revert non related whitespace change
https://github.com/llvm/llvm-project/pull/80375
@@ -246,13 +247,13 @@ class SBCommandInterpreter {
lldb::SBStringList &matches,
lldb::SBStringList &descriptions);
- /// Returns whether an interrupt flag was raised either by the SBDebugger -
+ /
@@ -307,7 +311,8 @@ llvm::json::Value DebuggerStats::ReportStatistics(Debugger
&debugger,
{"totalModuleCount", num_modules},
{"totalModuleCountHasDebugInfo", num_modules_has_debug_info},
{"totalModuleCountWithVariableErrors", num_modules_with_variable_errors}
@@ -1788,12 +1792,13 @@ class CommandObjectCommandsScriptDelete : public
CommandObjectParsed {
return;
}
const char *leaf_cmd = command[num_args - 1].c_str();
-llvm::Error llvm_error = container->RemoveUserSubcommand(leaf_cmd,
-
@@ -240,7 +241,7 @@ class CommandInterpreter : public Broadcaster,
eCommandTypesAllThem = 0x //< all commands
};
- // The CommandAlias and CommandInterpreter both have a hand in
+ // The CommandAlias and CommandInterpreter both have a hand in
cla
@@ -246,13 +247,13 @@ class SBCommandInterpreter {
lldb::SBStringList &matches,
lldb::SBStringList &descriptions);
- /// Returns whether an interrupt flag was raised either by the SBDebugger -
+ /
@@ -150,7 +150,7 @@ bool SBCommandInterpreter::WasInterrupted() const {
bool SBCommandInterpreter::InterruptCommand() {
LLDB_INSTRUMENT_VA(this);
-
+
clayborg wrote:
revert non related whitespace change
https://github.com/llvm/llvm-project/pull/80375
___
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/80375
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
clayborg wrote:
This almost seems like a compiler runtime plug-in, but C language would be
fine. I would rather see this in plug-in somewhere if possible. It might be
nice to have these plug-ins register one or more frame regular expression
values that point to the plug-in so we can add more t
clayborg wrote:
This broke the buildbots. Fixed with:
```
commit 4eac14683855e040adaf507ed6b14e28a09f983e (HEAD -> main, origin/main,
origin/HEAD)
Author: Greg Clayton
Date: Thu Feb 1 15:26:26 2024 -0800
Fix buildbots after #79544
https://github.com/llvm/llvm-project/pull/79544
Author: Greg Clayton
Date: 2024-02-01T15:26:26-08:00
New Revision: 4eac14683855e040adaf507ed6b14e28a09f983e
URL:
https://github.com/llvm/llvm-project/commit/4eac14683855e040adaf507ed6b14e28a09f983e
DIFF:
https://github.com/llvm/llvm-project/commit/4eac14683855e040adaf507ed6b14e28a09f983e.diff
https://github.com/clayborg closed
https://github.com/llvm/llvm-project/pull/79544
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg updated
https://github.com/llvm/llvm-project/pull/79544
>From 90cfa4700d8590d58cecd678ce107ba3ec8481c7 Mon Sep 17 00:00:00 2001
From: Greg Clayton
Date: Thu, 25 Jan 2024 19:21:25 -0800
Subject: [PATCH 1/4] Fix a crash when using .dwp files and make type lookup
relia
@@ -1305,6 +1305,13 @@ enum CompletionType {
eTerminatorCompletion = (1ul << 27)
};
+/// Specifies if children need to be re-computed
+/// after a call to \ref SyntheticChildrenFrontEnd::Update.
+enum class ChildCacheState {
+ eRefetch = 0, ///< Children need to be recomput
clayborg wrote:
> > But if it'd require substantial reengineering to clang to get this working
> > - this seems an unfortunate regression to carry in the interim, and it
> > might be worth reverting to the previous (differently buggy, but at least
> > work-around-able) behavior.
>
> To clarif
clayborg wrote:
> > I've added a log message with the `Error` itself being logged as well
>
> Thanks! I wasted half a day stepping through the DWARF parser recently,
> thinking I'm debugging a parser bug, when it was really invalid DWARF
> produced by an older version of dsymutil, so even just
clayborg wrote:
I like the `eReuse` and `eRefetch` values as well!
https://github.com/llvm/llvm-project/pull/80167
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/80218
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -458,7 +458,12 @@ class ValueObject {
virtual bool GetDeclaration(Declaration &decl);
// The functions below should NOT be modified by subclasses
+ // This gets the current error for this ValueObject, it may update the value
+ // to ensure that the error is up to date
https://github.com/clayborg commented:
LGTM with a possible rename mentioned in inline comments. Anyone else have
anything?
https://github.com/llvm/llvm-project/pull/80222
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.or
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/80222
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,132 @@
+"""
+Test SBTarget.GetStatistics() reporting for dwo files.
+"""
+
+import json
+import os
+
+from lldbsuite.test import lldbtest, lldbutil
+from lldbsuite.test.decorators import *
+from lldbsuite.test_event.build_exception import BuildError
+
+
+SKELETON_DEBUGI
@@ -2667,6 +2667,29 @@ static bool
UpdateCompilerContextForSimpleTemplateNames(TypeQuery &match) {
}
return any_context_updated;
}
+
+uint64_t SymbolFileDWARF::GetDebugInfoSize() {
+ DWARFDebugInfo &info = DebugInfo();
+ uint32_t num_comp_units = info.GetNumUnits();
+
+
clayborg wrote:
I think I have taken care of everyone's requests, let me know if there is more
to do!
https://github.com/llvm/llvm-project/pull/79544
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/list
@@ -49,14 +49,17 @@ class SyntheticChildrenFrontEnd {
virtual size_t GetIndexOfChildWithName(ConstString name) = 0;
- // this function is assumed to always succeed and it if fails, the front-end
- // should know to deal with it in the correct way (most probably, by refusi
@@ -49,14 +49,17 @@ class SyntheticChildrenFrontEnd {
virtual size_t GetIndexOfChildWithName(ConstString name) = 0;
- // this function is assumed to always succeed and it if fails, the front-end
- // should know to deal with it in the correct way (most probably, by refusi
https://github.com/clayborg updated
https://github.com/llvm/llvm-project/pull/79544
>From 641f4f34db2fea4c6c6cf354d77e7ba5688d098b Mon Sep 17 00:00:00 2001
From: Greg Clayton
Date: Thu, 25 Jan 2024 19:21:25 -0800
Subject: [PATCH 1/4] Fix a crash when using .dwp files and make type lookup
relia
@@ -218,6 +219,106 @@ void DebugNamesDWARFIndex::GetCompleteObjCClass(
m_fallback.GetCompleteObjCClass(class_name, must_be_implementation,
callback);
}
+namespace {
+using Entry = llvm::DWARFDebugNames::Entry;
+
+/// If `entry` and all of its parents have an `IDX_parent`, u
@@ -218,6 +219,106 @@ void DebugNamesDWARFIndex::GetCompleteObjCClass(
m_fallback.GetCompleteObjCClass(class_name, must_be_implementation,
callback);
}
+namespace {
+using Entry = llvm::DWARFDebugNames::Entry;
+
+/// If `entry` and all of its parents have an `IDX_parent`, u
@@ -49,14 +49,17 @@ class SyntheticChildrenFrontEnd {
virtual size_t GetIndexOfChildWithName(ConstString name) = 0;
- // this function is assumed to always succeed and it if fails, the front-end
- // should know to deal with it in the correct way (most probably, by refusi
https://github.com/clayborg updated
https://github.com/llvm/llvm-project/pull/79544
>From 641f4f34db2fea4c6c6cf354d77e7ba5688d098b Mon Sep 17 00:00:00 2001
From: Greg Clayton
Date: Thu, 25 Jan 2024 19:21:25 -0800
Subject: [PATCH 1/3] Fix a crash when using .dwp files and make type lookup
relia
clayborg wrote:
> How'd this work before your recent changes, then - when each repeated query
> would get one level further down in the nesting? How'd that work given the
> clang limitations you're describing?
It was because we were actually parsing and converting many extra types.
Anytime we
clayborg wrote:
> High level makes sense.
>
> Can you add test to ensure both dwarf4 & dwarf5 work? Also the modified test
> covers dwp, have you tested dwo without dwp scenario for completeness?
I can add a dwarf4 test, yes.
https://github.com/llvm/llvm-project/pull/79544
___
clayborg wrote:
> > Even if we want to have the skeleton compile unit be parsed first, we would
> > need to know this from any accelerator table entry, wether it be from
> > .debug_names or from our internal manual index.
>
> True enough, but I think letting this become a lazy property
> post
@@ -81,27 +81,88 @@ void DWARFDebugInfo::ParseUnitsFor(DIERef::Section section)
{
: m_context.getOrLoadDebugInfoData();
lldb::offset_t offset = 0;
while (data.ValidOffset(offset)) {
-llvm::Expected unit_sp = DWARFUnit::extract(
+llvm
clayborg wrote:
The main issue we have is they way that clang works currently with the external
AST source. We currently create a forward declaration type "struct Foo;" and we
allow it to be completed once. Once it is completed clang expects the struct
type to have everything that it needs, li
https://github.com/clayborg approved this pull request.
Looks good!
https://github.com/llvm/llvm-project/pull/79912
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,125 @@
+//===-- ProgressReportTest.cpp
===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,125 @@
+//===-- ProgressReportTest.cpp
===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -39,7 +39,7 @@ class ProgressEventData : public EventData {
GetAsStructuredData(const Event *event_ptr);
uint64_t GetID() const { return m_id; }
- bool IsFinite() const { return m_total != UINT64_MAX; }
+ bool IsFinite() const { return m_total != 1; }
@@ -218,6 +219,104 @@ void DebugNamesDWARFIndex::GetCompleteObjCClass(
m_fallback.GetCompleteObjCClass(class_name, must_be_implementation,
callback);
}
+namespace {
+using Entry = llvm::DWARFDebugNames::Entry;
+
+/// If `entry` and all of its parents have an `IDX_parent`, u
@@ -39,7 +39,7 @@ class ProgressEventData : public EventData {
GetAsStructuredData(const Event *event_ptr);
uint64_t GetID() const { return m_id; }
- bool IsFinite() const { return m_total != UINT64_MAX; }
+ bool IsFinite() const { return m_total != 1; }
@@ -23,7 +23,6 @@ Progress::Progress(std::string title, std::string details,
lldb_private::Debugger *debugger)
: m_title(title), m_details(details), m_id(++g_id), m_completed(0),
m_total(1) {
clayborg wrote:
```
m_total(kNonDetermi
@@ -39,7 +39,7 @@ class ProgressEventData : public EventData {
GetAsStructuredData(const Event *event_ptr);
uint64_t GetID() const { return m_id; }
- bool IsFinite() const { return m_total != UINT64_MAX; }
+ bool IsFinite() const { return m_total != 1; }
@@ -41,7 +41,7 @@ void ProgressEventData::Dump(Stream *s) const {
s->PutCString(", type = update");
// If m_total is UINT64_MAX, there is no progress to report, just "start"
// and "end". If it isn't we will show the completed and total amounts.
- if (m_total != UINT64
@@ -1591,24 +1591,24 @@ class CommandObjectProcessHandle : public
CommandObjectParsed {
Options *GetOptions() override { return &m_options; }
- bool VerifyCommandOptionValue(const std::string &option, int &real_value) {
-bool okay = true;
+ std::optional VerifyComman
https://github.com/clayborg requested changes to this pull request.
We should be modify `OptionArgParser::ToBoolean(...)` to return a
`std::optional` instead of a local function. It already handles integer
strings "0" and "1" correctly. Granted it doesn't allow "00" or "01" to be
specified, bu
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/79901
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
clayborg wrote:
Even if we want to have the skeleton compile unit be parsed first, we would
need to know this from any accelerator table entry, wether it be from
.debug_names or from our internal manual index. Our internal manual index
creates a DIERef object with a magic .dwp file index + a D
@@ -776,6 +776,10 @@ std::optional
SymbolLocatorDebugSymbols::LocateExecutableSymbolFile(
exec_fspec ? exec_fspec->GetFilename().AsCString("") : "",
arch ? arch->GetArchitectureName() : "", (const void *)uuid);
+ Progress progress(
+ "Locating external symbo
clayborg wrote:
> I'm not following all of this, but it appears to be based on the premise that
> it's OK that sometimes split units inside a DWP file are parsed before their
> skeleton unit? Why is that OK/when/why/where is that happening?
When we have accelerator tables from lldb index cache
@@ -0,0 +1,105 @@
+#include "Plugins/Platform/MacOSX/PlatformMacOSX.h"
+#include "Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Progress.h"
+#include "lldb/Host/FileSystem.h"
+#include "lldb/Host/HostInfo.h"
+#include "lldb/U
@@ -0,0 +1,105 @@
+#include "Plugins/Platform/MacOSX/PlatformMacOSX.h"
+#include "Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Progress.h"
+#include "lldb/Host/FileSystem.h"
+#include "lldb/Host/HostInfo.h"
+#include "lldb/U
@@ -0,0 +1,105 @@
+#include "Plugins/Platform/MacOSX/PlatformMacOSX.h"
+#include "Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Core/Progress.h"
+#include "lldb/Host/FileSystem.h"
+#include "lldb/Host/HostInfo.h"
+#include "lldb/U
https://github.com/clayborg commented:
It is great to have unit tests for this. I remember with your previous patch we
caught an issue where the completed event might not be delivered, or it would
be delivered without the values being set correctly, so this will be great to
be able to catch th
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/79533
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/79189
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/79194
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg closed
https://github.com/llvm/llvm-project/pull/78605
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
clayborg wrote:
I was thinking about DIE -> name stuff, and was wondering if we would benefit
from a cache of DIE offset to `DW_AT_name` and DIE offset to
`DW_AT_linkage_name`. Not sure how many times we might lookup DIE names
multiple times.
https://github.com/llvm/llvm-project/pull/78486
__
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/78811
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -655,6 +663,8 @@ void request_attach(const llvm::json::Object &request) {
g_dap.SetFrameFormat(GetString(arguments, "customFrameFormat"));
g_dap.SetThreadFormat(GetString(arguments, "customThreadFormat"));
+ PrintWelcomeMessage();
clayborg wrote:
We w
https://github.com/clayborg commented:
Looks like the typo will break the buildbots and we want the welcome message to
be printed for launches too right?
https://github.com/llvm/llvm-project/pull/78811
___
lldb-commits mailing list
lldb-commits@lists.
@@ -664,7 +674,7 @@ void request_attach(const llvm::json::Object &request) {
// Run any initialize LLDB commands the user specified in the launch.json
if (llvm::Error err = g_dap.RunInitCommands()) {
-response["success"] = false;
+ response["success"] = false;
https://github.com/clayborg approved this pull request.
Now this is safe and all my issues are gone. Thanks for improving.
https://github.com/llvm/llvm-project/pull/78486
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/
https://github.com/clayborg commented:
Looks good to me on the LLDB side, but you should probably get the ok from the
maintainers of the debug infod library for those changes.
https://github.com/llvm/llvm-project/pull/78605
___
lldb-commits mailing li
@@ -663,6 +663,14 @@ DWARFUnit::GetDIE(dw_offset_t die_offset) {
return DWARFDIE(); // Not found
}
+llvm::StringRef DWARFUnit::PeekDIEName(dw_offset_t die_offset) {
+ const DWARFDataExtractor &data = GetData();
+ DWARFDebugInfoEntry die;
+ if (!die.Extract(data, this, &di
clayborg wrote:
LGTM
https://github.com/llvm/llvm-project/pull/78494
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -663,6 +663,14 @@ DWARFUnit::GetDIE(dw_offset_t die_offset) {
return DWARFDIE(); // Not found
}
+llvm::StringRef DWARFUnit::PeekDIEName(dw_offset_t die_offset) {
+ const DWARFDataExtractor &data = GetData();
+ DWARFDebugInfoEntry die;
+ if (!die.Extract(data, this, &di
clayborg wrote:
lgtm!
https://github.com/llvm/llvm-project/pull/78508
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -104,3 +105,61 @@ TEST(DWARFDIETest, ChildIteration) {
DWARFDIE no_children_die(unit, die_child0);
EXPECT_TRUE(no_children_die.children().empty());
}
+
+TEST(DWARFDIETest, PeekName) {
+ const char *yamldata = R"(
+--- !ELF
+FileHeader:
clayborg wrote:
@@ -663,6 +663,14 @@ DWARFUnit::GetDIE(dw_offset_t die_offset) {
return DWARFDIE(); // Not found
}
+llvm::StringRef DWARFUnit::PeekDIEName(dw_offset_t die_offset) {
+ const DWARFDataExtractor &data = GetData();
+ DWARFDebugInfoEntry die;
+ if (!die.Extract(data, this, &di
https://github.com/clayborg approved this pull request.
Looks good to me.
https://github.com/llvm/llvm-project/pull/78360
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
clayborg wrote:
> > > If a module is debug info only, like a dSYM file, and then you try to
> > > `target module add` it to a target, it would be nice to add it as the
> > > symbol file for an already existing module. The test below, I wouldn't
> > > want a target with two things representing
clayborg wrote:
> If a module is debug info only, like a dSYM file, and then you try to `target
> module add` it to a target, it would be nice to add it as the symbol file for
> an already existing module. The test below, I wouldn't want a target with two
> things representing a.out, which is
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/77547
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -35,25 +42,28 @@ Progress::~Progress() {
ReportProgress();
}
-void Progress::Increment(uint64_t amount, std::string update) {
+void Progress::Increment(uint64_t amount,
+ std::optional updated_detail) {
if (amount > 0) {
std::lock_guard gua
https://github.com/clayborg approved this pull request.
Thanks for the changes. On comment might be able to be reverted, but this looks
good.
https://github.com/llvm/llvm-project/pull/77547
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
htt
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/77547
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg approved this pull request.
https://github.com/llvm/llvm-project/pull/77026
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,21 @@
+import os
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+
+
+@skipUnlessDarwin
+class TargetModuleAddDsymTest(TestBase):
+@no_debug_info_test
+def test_target_module_add(self):
+"""Test that you can add a dSYM as
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/77966
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/clayborg commented:
If a module is debug info only, like a dSYM file, and then you try to `target
module add` it to a target, it would be nice to add it as the symbol file for
an already existing module. The test below, I wouldn't want a target with two
things representing a
clayborg wrote:
It will be nice to not have the TLS test failing on macOS anymore!
https://github.com/llvm/llvm-project/pull/77854
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -1210,15 +1210,16 @@ bool SBValue::GetDescription(SBStream &description) {
ValueLocker locker;
lldb::ValueObjectSP value_sp(GetSP(locker));
- if (value_sp) {
-DumpValueObjectOptions options;
-options.SetUseDynamicType(m_opaque_sp->GetUseDynamic());
-options
@@ -173,21 +173,21 @@ TryCreateAutoSummaryForContainer(lldb::SBValue &v) {
lldb::SBValue child = v.GetChildAtIndex(i);
if (llvm::StringRef name = child.GetName(); !name.empty()) {
- llvm::StringRef value;
+ llvm::StringRef desc;
if (llvm::StringRef sum
@@ -405,6 +405,9 @@ struct VariableDescription {
/// Create a JSON object that represents these extensions to the DAP variable
/// response.
llvm::json::Object GetVariableExtensionsJSON();
+
+ /// Returns a description of the value appropraite for the specified context.
clayborg wrote:
> > Looks good, need to add tests for:
> >
> > * split dwarf with .dwo files
> > * split dwarf with .dwp file
>
> @clayborg, do you have suggestion regarding how to test `GetDebugInfoSize()`
> for dwo/dwp?
yes, for either we just add up the size of any debug info sections for
@@ -35,25 +42,29 @@ Progress::~Progress() {
ReportProgress();
}
-void Progress::Increment(uint64_t amount, std::string update) {
+void Progress::Increment(uint64_t amount,
+ std::optional updated_detail) {
if (amount > 0) {
std::lock_guard gua
@@ -35,25 +42,29 @@ Progress::~Progress() {
ReportProgress();
}
-void Progress::Increment(uint64_t amount, std::string update) {
+void Progress::Increment(uint64_t amount,
+ std::optional updated_detail) {
if (amount > 0) {
std::lock_guard gua
@@ -96,13 +97,14 @@ class Progress {
static std::atomic g_id;
/// The title of the progress activity.
std::string m_title;
+ std::string m_details;
std::mutex m_mutex;
/// A unique integer identifier for progress reporting.
const uint64_t m_id;
/// How much w
@@ -11,15 +11,19 @@
#include "lldb/Core/Debugger.h"
#include "lldb/Utility/StreamString.h"
+#include
+
using namespace lldb;
using namespace lldb_private;
std::atomic Progress::g_id(0);
-Progress::Progress(std::string title, uint64_t total,
+Progress::Progress(std::str
https://github.com/clayborg edited
https://github.com/llvm/llvm-project/pull/77547
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
1101 - 1200 of 2654 matches
Mail list logo