Skip to content

Commit ce7d1c2

Browse files
committed
[lldb][enums] Remove broadcast bits from debugger (llvm#91618)
Removes the debugger broadcast bits from `Debugger.h` and instead uses the enum from `lldb-enumerations.h` and adds the `eBroadcastSymbolChange` bit to the enum in `lldb-enumerations.h`. This fixes a bug wherein the incorrect broadcast bit could be referenced due both of these enums previously existing and being out-of-sync with each other. (cherry picked from commit b9e3fa8)
1 parent 2af7c27 commit ce7d1c2

File tree

8 files changed

+36
-34
lines changed

8 files changed

+36
-34
lines changed

lldb/bindings/python/static-binding/LLDBWrapPython.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98821,6 +98821,10 @@ SWIG_init(void) {
9882198821
SWIG_Python_SetConstant(d, "eAddressMaskRangeAll",SWIG_From_int(static_cast< int >(lldb::eAddressMaskRangeAll)));
9882298822
SWIG_Python_SetConstant(d, "ChildCacheState_eRefetch",SWIG_From_int(static_cast< int >(lldb::ChildCacheState::eRefetch)));
9882398823
SWIG_Python_SetConstant(d, "ChildCacheState_eReuse",SWIG_From_int(static_cast< int >(lldb::ChildCacheState::eReuse)));
98824+
SWIG_Python_SetConstant(d, "eBroadcastBitProgress",SWIG_From_int(static_cast< int >(lldb::eBroadcastBitProgress)));
98825+
SWIG_Python_SetConstant(d, "eBroadcastBitWarning",SWIG_From_int(static_cast< int >(lldb::eBroadcastBitWarning)));
98826+
SWIG_Python_SetConstant(d, "eBroadcastBitError",SWIG_From_int(static_cast< int >(lldb::eBroadcastBitError)));
98827+
SWIG_Python_SetConstant(d, "eBroadcastBitProgressCategory",SWIG_From_int(static_cast< int >(lldb::eBroadcastBitProgressCategory)));
9882498828
SWIG_Python_SetConstant(d, "SBCommandInterpreter_eBroadcastBitThreadShouldExit",SWIG_From_int(static_cast< int >(lldb::SBCommandInterpreter::eBroadcastBitThreadShouldExit)));
9882598829
SWIG_Python_SetConstant(d, "SBCommandInterpreter_eBroadcastBitResetPrompt",SWIG_From_int(static_cast< int >(lldb::SBCommandInterpreter::eBroadcastBitResetPrompt)));
9882698830
SWIG_Python_SetConstant(d, "SBCommandInterpreter_eBroadcastBitQuitCommandReceived",SWIG_From_int(static_cast< int >(lldb::SBCommandInterpreter::eBroadcastBitQuitCommandReceived)));

lldb/bindings/python/static-binding/lldb.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1777,6 +1777,14 @@ def lldb_iter(obj, getsize, getelem):
17771777

17781778
ChildCacheState_eReuse = _lldb.ChildCacheState_eReuse
17791779

1780+
eBroadcastBitProgress = _lldb.eBroadcastBitProgress
1781+
1782+
eBroadcastBitWarning = _lldb.eBroadcastBitWarning
1783+
1784+
eBroadcastBitError = _lldb.eBroadcastBitError
1785+
1786+
eBroadcastBitProgressCategory = _lldb.eBroadcastBitProgressCategory
1787+
17801788
class SBAddress(object):
17811789
r"""
17821790
A section + offset based address class.

lldb/include/lldb/Core/Debugger.h

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,6 @@ class Debugger : public std::enable_shared_from_this<Debugger>,
7878
public UserID,
7979
public Properties {
8080
public:
81-
/// Broadcaster event bits definitions.
82-
enum {
83-
eBroadcastBitProgress = (1 << 0),
84-
eBroadcastBitWarning = (1 << 1),
85-
eBroadcastBitError = (1 << 2),
86-
eBroadcastSymbolChange = (1 << 3),
87-
eBroadcastBitProgressCategory = (1 << 4),
88-
};
89-
9081
using DebuggerList = std::vector<lldb::DebuggerSP>;
9182

9283
static ConstString GetStaticBroadcasterClass();
@@ -637,7 +628,7 @@ class Debugger : public std::enable_shared_from_this<Debugger>,
637628
ReportProgress(uint64_t progress_id, std::string title, std::string details,
638629
uint64_t completed, uint64_t total,
639630
std::optional<lldb::user_id_t> debugger_id,
640-
uint32_t progress_category_bit = eBroadcastBitProgress);
631+
uint32_t progress_category_bit = lldb::eBroadcastBitProgress);
641632

642633
static void ReportDiagnosticImpl(lldb::Severity severity, std::string message,
643634
std::optional<lldb::user_id_t> debugger_id,

lldb/include/lldb/lldb-enumerations.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1368,7 +1368,8 @@ enum DebuggerBroadcastBit {
13681368
eBroadcastBitProgress = (1 << 0),
13691369
eBroadcastBitWarning = (1 << 1),
13701370
eBroadcastBitError = (1 << 2),
1371-
eBroadcastBitProgressCategory = (1 << 3),
1371+
eBroadcastSymbolChange = (1 << 3),
1372+
eBroadcastBitProgressCategory = (1 << 4),
13721373
};
13731374

13741375
/// Used for expressing severity in logs and diagnostics.

lldb/source/Core/Debugger.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1521,10 +1521,10 @@ static void PrivateReportDiagnostic(Debugger &debugger, Severity severity,
15211521
assert(false && "eSeverityInfo should not be broadcast");
15221522
return;
15231523
case eSeverityWarning:
1524-
event_type = Debugger::eBroadcastBitWarning;
1524+
event_type = lldb::eBroadcastBitWarning;
15251525
break;
15261526
case eSeverityError:
1527-
event_type = Debugger::eBroadcastBitError;
1527+
event_type = lldb::eBroadcastBitError;
15281528
break;
15291529
}
15301530

@@ -1608,7 +1608,7 @@ void Debugger::ReportSymbolChange(const ModuleSpec &module_spec) {
16081608
std::lock_guard<std::recursive_mutex> guard(*g_debugger_list_mutex_ptr);
16091609
for (DebuggerSP debugger_sp : *g_debugger_list_ptr) {
16101610
EventSP event_sp = std::make_shared<Event>(
1611-
Debugger::eBroadcastSymbolChange,
1611+
lldb::eBroadcastSymbolChange,
16121612
new SymbolChangeEventData(debugger_sp, module_spec));
16131613
debugger_sp->GetBroadcaster().BroadcastEvent(event_sp);
16141614
}
@@ -1928,8 +1928,9 @@ lldb::thread_result_t Debugger::DefaultEventHandler() {
19281928
CommandInterpreter::eBroadcastBitAsynchronousErrorData);
19291929

19301930
listener_sp->StartListeningForEvents(
1931-
&m_broadcaster, eBroadcastBitProgress | eBroadcastBitWarning |
1932-
eBroadcastBitError | eBroadcastSymbolChange);
1931+
&m_broadcaster, lldb::eBroadcastBitProgress | lldb::eBroadcastBitWarning |
1932+
lldb::eBroadcastBitError |
1933+
lldb::eBroadcastSymbolChange);
19331934

19341935
// Let the thread that spawned us know that we have started up and that we
19351936
// are now listening to all required events so no events get missed
@@ -1981,11 +1982,11 @@ lldb::thread_result_t Debugger::DefaultEventHandler() {
19811982
}
19821983
}
19831984
} else if (broadcaster == &m_broadcaster) {
1984-
if (event_type & Debugger::eBroadcastBitProgress)
1985+
if (event_type & lldb::eBroadcastBitProgress)
19851986
HandleProgressEvent(event_sp);
1986-
else if (event_type & Debugger::eBroadcastBitWarning)
1987+
else if (event_type & lldb::eBroadcastBitWarning)
19871988
HandleDiagnosticEvent(event_sp);
1988-
else if (event_type & Debugger::eBroadcastBitError)
1989+
else if (event_type & lldb::eBroadcastBitError)
19891990
HandleDiagnosticEvent(event_sp);
19901991
}
19911992
}

lldb/source/Core/Progress.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ void ProgressManager::ReportProgress(
172172
Debugger::ReportProgress(progress_data.progress_id, progress_data.title, "",
173173
completed, Progress::kNonDeterministicTotal,
174174
progress_data.debugger_id,
175-
Debugger::eBroadcastBitProgressCategory);
175+
lldb::eBroadcastBitProgressCategory);
176176
}
177177

178178
void ProgressManager::Expire(llvm::StringRef key) {

lldb/unittests/Core/DiagnosticEventTest.cpp

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,8 @@ TEST_F(DiagnosticEventTest, Warning) {
5555
ListenerSP listener_sp = Listener::MakeListener("test-listener");
5656

5757
listener_sp->StartListeningForEvents(&broadcaster,
58-
Debugger::eBroadcastBitWarning);
59-
EXPECT_TRUE(
60-
broadcaster.EventTypeHasListeners(Debugger::eBroadcastBitWarning));
58+
lldb::eBroadcastBitWarning);
59+
EXPECT_TRUE(broadcaster.EventTypeHasListeners(lldb::eBroadcastBitWarning));
6160

6261
Debugger::ReportWarning("foo", debugger_sp->GetID());
6362

@@ -80,9 +79,8 @@ TEST_F(DiagnosticEventTest, Error) {
8079
Broadcaster &broadcaster = debugger_sp->GetBroadcaster();
8180
ListenerSP listener_sp = Listener::MakeListener("test-listener");
8281

83-
listener_sp->StartListeningForEvents(&broadcaster,
84-
Debugger::eBroadcastBitError);
85-
EXPECT_TRUE(broadcaster.EventTypeHasListeners(Debugger::eBroadcastBitError));
82+
listener_sp->StartListeningForEvents(&broadcaster, lldb::eBroadcastBitError);
83+
EXPECT_TRUE(broadcaster.EventTypeHasListeners(lldb::eBroadcastBitError));
8684

8785
Debugger::ReportError("bar", debugger_sp->GetID());
8886

@@ -111,7 +109,7 @@ TEST_F(DiagnosticEventTest, MultipleDebuggers) {
111109
listeners.push_back(listener);
112110

113111
listener->StartListeningForEvents(&debugger->GetBroadcaster(),
114-
Debugger::eBroadcastBitError);
112+
lldb::eBroadcastBitError);
115113
}
116114

117115
Debugger::ReportError("baz");
@@ -140,9 +138,8 @@ TEST_F(DiagnosticEventTest, WarningOnce) {
140138
ListenerSP listener_sp = Listener::MakeListener("test-listener");
141139

142140
listener_sp->StartListeningForEvents(&broadcaster,
143-
Debugger::eBroadcastBitWarning);
144-
EXPECT_TRUE(
145-
broadcaster.EventTypeHasListeners(Debugger::eBroadcastBitWarning));
141+
lldb::eBroadcastBitWarning);
142+
EXPECT_TRUE(broadcaster.EventTypeHasListeners(lldb::eBroadcastBitWarning));
146143

147144
std::once_flag once;
148145
Debugger::ReportWarning("foo", debugger_sp->GetID(), &once);

lldb/unittests/Core/ProgressReportTest.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class ProgressReportTest : public ::testing::Test {
6161
};
6262

6363
TEST_F(ProgressReportTest, TestReportCreation) {
64-
ListenerSP listener_sp = CreateListenerFor(Debugger::eBroadcastBitProgress);
64+
ListenerSP listener_sp = CreateListenerFor(lldb::eBroadcastBitProgress);
6565
EventSP event_sp;
6666
const ProgressEventData *data;
6767

@@ -135,7 +135,7 @@ TEST_F(ProgressReportTest, TestReportCreation) {
135135

136136
TEST_F(ProgressReportTest, TestProgressManager) {
137137
ListenerSP listener_sp =
138-
CreateListenerFor(Debugger::eBroadcastBitProgressCategory);
138+
CreateListenerFor(lldb::eBroadcastBitProgressCategory);
139139
EventSP event_sp;
140140
const ProgressEventData *data;
141141

@@ -173,7 +173,7 @@ TEST_F(ProgressReportTest, TestProgressManager) {
173173

174174
TEST_F(ProgressReportTest, TestOverlappingEvents) {
175175
ListenerSP listener_sp =
176-
CreateListenerFor(Debugger::eBroadcastBitProgressCategory);
176+
CreateListenerFor(lldb::eBroadcastBitProgressCategory);
177177
EventSP event_sp;
178178
const ProgressEventData *data;
179179

@@ -214,7 +214,7 @@ TEST_F(ProgressReportTest, TestOverlappingEvents) {
214214

215215
TEST_F(ProgressReportTest, TestProgressManagerDisjointReports) {
216216
ListenerSP listener_sp =
217-
CreateListenerFor(Debugger::eBroadcastBitProgressCategory);
217+
CreateListenerFor(lldb::eBroadcastBitProgressCategory);
218218
EventSP event_sp;
219219
const ProgressEventData *data;
220220
uint64_t expected_progress_id;

0 commit comments

Comments
 (0)