Skip to content

Commit c3d1940

Browse files
committed
Small fixes:
- Remove not-always-valid field-name check when evaluating field members. - Fix unexpected passes in TestDAP_evaluate (test owner said it was ok). - Add more anonymous namespace tests.
1 parent 431a228 commit c3d1940

File tree

4 files changed

+38
-5
lines changed

4 files changed

+38
-5
lines changed

lldb/source/ValueObject/DILEval.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ Interpreter::Visit(const MemberOfNode *node) {
303303
}
304304
}
305305

306-
if (field_obj && field_obj->GetName() == node->GetFieldName()) {
306+
if (field_obj) {
307307
if (m_use_dynamic != lldb::eNoDynamicValues) {
308308
lldb::ValueObjectSP dynamic_val_sp =
309309
field_obj->GetDynamicValue(m_use_dynamic);

lldb/test/API/commands/frame/var-dil/basics/QualifiedId/TestFrameVarDILQualifiedId.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,17 @@ def test_frame_var(self):
2929
self.expect_var_path("ns::i", value="1")
3030
self.expect_var_path("::ns::ns::i", value="2")
3131
self.expect_var_path("ns::ns::i", value="2")
32+
33+
self.expect_var_path("foo", value="1")
34+
self.expect_var_path("::(anonymous namespace)::foo", value="13")
35+
self.expect_var_path("(anonymous namespace)::foo", value="13")
36+
self.expect_var_path("ns1::(anonymous namespace)::foo", value="5")
37+
self.expect_var_path(
38+
"(anonymous namespace)::ns2::(anonymous namespace)::foo",
39+
value="7",
40+
)
41+
self.expect_var_path("::ns1::(anonymous namespace)::foo", value="5")
42+
self.expect_var_path(
43+
"::(anonymous namespace)::ns2::(anonymous namespace)::foo",
44+
value="7",
45+
)

lldb/test/API/commands/frame/var-dil/basics/QualifiedId/main.cpp

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,26 @@ int i = 2;
1010

1111
} // namespace ns
1212

13+
namespace {
14+
int foo = 13;
15+
}
16+
17+
namespace ns1 {
18+
namespace {
19+
int foo = 5;
20+
}
21+
}
22+
23+
namespace {
24+
namespace ns2 {
25+
namespace {
26+
int foo = 7;
27+
}
28+
}
29+
}
30+
1331
int main(int argc, char **argv) {
32+
int foo = 1;
1433

15-
return 0; // Set a breakpoint here
34+
return foo + ::foo + ns1::foo + ns2::foo; // Set a breakpoint here
1635
}

lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ def run_test_evaluate_expressions(
131131
self.assertEvaluateFailure("a_function(1)")
132132
self.assertEvaluateFailure("var2 + struct1.foo")
133133
self.assertEvaluateFailure("foo_func")
134-
self.assertEvaluateFailure("foo_var")
134+
self.assertEvaluate("foo_var", "44")
135135

136136
# Expressions at breakpoint 2, which is an anonymous block
137137
self.continue_to_breakpoint(breakpoint_2)
@@ -169,7 +169,7 @@ def run_test_evaluate_expressions(
169169
self.assertEvaluateFailure("a_function(1)")
170170
self.assertEvaluateFailure("var2 + struct1.foo")
171171
self.assertEvaluateFailure("foo_func")
172-
self.assertEvaluateFailure("foo_var")
172+
self.assertEvaluate("foo_var", "44")
173173

174174
# Expressions at breakpoint 3, which is inside a_function
175175
self.continue_to_breakpoint(breakpoint_3)
@@ -195,7 +195,7 @@ def run_test_evaluate_expressions(
195195
self.assertEvaluateFailure("a_function(1)")
196196
self.assertEvaluateFailure("list + 1")
197197
self.assertEvaluateFailure("foo_func")
198-
self.assertEvaluateFailure("foo_var")
198+
self.assertEvaluate("foo_var", "44")
199199

200200
# Now we check that values are updated after stepping
201201
self.continue_to_breakpoint(breakpoint_4)

0 commit comments

Comments
 (0)