@@ -80,15 +159,64 @@ ASTNodeUP DILParser::Run() {
// Parse an expression.
//
// expression:
-//unary_expression
+//cast_expression
//
-ASTNodeUP DILParser::ParseExpression() { return ParseUnaryExpression(); }
+ASTNodeUP DILParser::ParseExpression() { return ParseCastE
@@ -42,6 +44,83 @@ DILDiagnosticError::DILDiagnosticError(llvm::StringRef expr,
m_detail.rendered = std::move(rendered_msg);
}
+llvm::Expected
+DILGetTypeSystemFromCU(std::shared_ptr ctx) {
+ SymbolContext symbol_context =
+ ctx->GetSymbolContext(lldb::eSymbolContextCo
@@ -0,0 +1,81 @@
+// CStyleCast, main.cpp
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+namespace ns {
+
+typedef int myint;
+
+class Foo {};
+
+namespace inner {
+
+using mydouble = double;
+
+class Foo {};
+
+} // namespace inner
+
+} // names
https://github.com/kuilpd edited
https://github.com/llvm/llvm-project/pull/159500
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -42,6 +44,83 @@ DILDiagnosticError::DILDiagnosticError(llvm::StringRef expr,
m_detail.rendered = std::move(rendered_msg);
}
+llvm::Expected
+DILGetTypeSystemFromCU(std::shared_ptr ctx) {
+ SymbolContext symbol_context =
+ ctx->GetSymbolContext(lldb::eSymbolContextCo
@@ -0,0 +1,233 @@
+"""
+Make sure 'frame var' using DIL parser/evaultor works for C-Style casts.
+"""
+
+import lldb
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+from lldbsuite.test import lldbutil
+
+import os
+import shutil
+import time
+
+cla
@@ -42,6 +44,83 @@ DILDiagnosticError::DILDiagnosticError(llvm::StringRef expr,
m_detail.rendered = std::move(rendered_msg);
}
+llvm::Expected
+DILGetTypeSystemFromCU(std::shared_ptr ctx) {
+ SymbolContext symbol_context =
+ ctx->GetSymbolContext(lldb::eSymbolContextCo
@@ -0,0 +1,233 @@
+"""
+Make sure 'frame var' using DIL parser/evaultor works for C-Style casts.
+"""
+
+import lldb
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+from lldbsuite.test import lldbutil
+
+import os
+import shutil
+import time
+
+cla
@@ -0,0 +1,81 @@
+// CStyleCast, main.cpp
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+namespace ns {
+
+typedef int myint;
+
+class Foo {};
+
+namespace inner {
+
+using mydouble = double;
+
+class Foo {};
+
+} // namespace inner
+
+} // names
@@ -608,4 +635,238 @@ Interpreter::Visit(const BooleanLiteralNode *node) {
return ValueObject::CreateValueObjectFromBool(m_target, value, "result");
}
+llvm::Expected Interpreter::VerifyCStyleCastType(
+lldb::ValueObjectSP &operand, CompilerType &op_type,
+CompilerTy
@@ -0,0 +1,233 @@
+"""
+Make sure 'frame var' using DIL parser/evaultor works for C-Style casts.
+"""
+
+import lldb
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+from lldbsuite.test import lldbutil
+
+import os
+import shutil
+import time
+
+cla
https://github.com/kuilpd commented:
I think we need to get rid of everything that references C++ keywords directly.
I don't think we need to parse the builtin type manually, so we can just remove
`IsSimpleTypeSpecifierKeyword`, `HandleSimpleTypeSpecifier`, and
`TypeDeclaration` class altogeth
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/155617
>From 4d14bbb31d0411c45b95778d1659ccc416165be1 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Mon, 4 Aug 2025 19:11:55 +0500
Subject: [PATCH 1/9] [LLDB] Add unary plus and minus to DIL
---
lldb/include/lldb/V
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/158115
`Scalar` produced an invalid value when detecting any division by zero. This
should be only for integer division.
>From 8cffb7a919d4ca4dc4421e24d8f19eb1d58d5523 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date:
kuilpd wrote:
Can we add a couple of tests for these to `TestFrameVarDILLiterals.py`?
https://github.com/llvm/llvm-project/pull/157992
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commit
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/155617
>From 4d14bbb31d0411c45b95778d1659ccc416165be1 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Mon, 4 Aug 2025 19:11:55 +0500
Subject: [PATCH 1/6] [LLDB] Add unary plus and minus to DIL
---
lldb/include/lldb/V
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/155605
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/155610
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/155605
Reverts llvm/llvm-project#152308
>From 4a1613ba9b21ab053ef2e659835278f248be85aa Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Wed, 27 Aug 2025 17:07:02 +0500
Subject: [PATCH] Revert "[LLDB] Add `ScalarLiteral
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/152308
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kuilpd wrote:
@labath
I have the next PR standing by, is this one ready for merging?
https://github.com/llvm/llvm-project/pull/152308
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commit
@@ -402,4 +404,122 @@ Interpreter::Visit(const BitFieldExtractionNode *node) {
return child_valobj_sp;
}
+static lldb::TypeSystemSP GetTypeSystemFromCU(std::shared_ptr ctx)
{
+ SymbolContext symbol_context =
+ ctx->GetSymbolContext(lldb::eSymbolContextCompUnit);
+ ll
@@ -402,4 +404,125 @@ Interpreter::Visit(const BitFieldExtractionNode *node) {
return child_valobj_sp;
}
+static llvm::Expected
+GetTypeSystemFromCU(std::shared_ptr ctx) {
+ SymbolContext symbol_context =
+ ctx->GetSymbolContext(lldb::eSymbolContextCompUnit);
+ lldb::
@@ -402,4 +404,125 @@ Interpreter::Visit(const BitFieldExtractionNode *node) {
return child_valobj_sp;
}
+static llvm::Expected
+GetTypeSystemFromCU(std::shared_ptr ctx) {
+ SymbolContext symbol_context =
+ ctx->GetSymbolContext(lldb::eSymbolContextCompUnit);
+ lldb::
@@ -28,12 +28,14 @@ class Token {
arrow,
coloncolon,
eof,
+floating_constant,
kuilpd wrote:
Done
https://github.com/llvm/llvm-project/pull/152308
___
lldb-commits mailing list
lldb-commits@lists.llvm
@@ -175,7 +185,27 @@ TEST(DILLexerTests, NumbersTest) {
EXPECT_THAT_EXPECTED(maybe_lexer, llvm::Succeeded());
DILLexer lexer(*maybe_lexer);
Token token = lexer.GetCurrentToken();
-EXPECT_TRUE(token.IsNot(Token::numeric_constant));
+EXPECT_TRUE(token.IsNot(To
@@ -31,6 +31,9 @@ identifier = ? C99 Identifier ? ;
integer_literal = ? Integer constant: hexademical, decimal, octal, binary ? ;
+numeric_literal = ? Integer constant: hexademical, decimal, octal, binary ?
kuilpd wrote:
Ah, it's just a leftover from the sub
@@ -54,6 +54,15 @@ class Interpreter : Visitor {
Visit(const ArraySubscriptNode *node) override;
llvm::Expected
Visit(const BitFieldExtractionNode *node) override;
+ llvm::Expected
+ Visit(const IntegerLiteralNode *node) override;
+ llvm::Expected
+ Visit(const FloatL
@@ -70,13 +75,32 @@ static std::optional
IsWord(llvm::StringRef expr,
return candidate;
}
-static bool IsNumberBodyChar(char ch) { return IsDigit(ch) || IsLetter(ch); }
+static bool IsNumberBodyChar(char ch) {
+ return IsDigit(ch) || IsLetter(ch) || ch == '.';
+}
-static
kuilpd wrote:
> I have a feeling that this would actually be better off as two node types
> (float and integer), as each stage (lexer, parser and evaluator) handles the
> two differently. Maybe then the integer node could use llvm::APInt directly,
> which would make the `is_unsigned` field loo
@@ -402,4 +404,122 @@ Interpreter::Visit(const BitFieldExtractionNode *node) {
return child_valobj_sp;
}
+static lldb::TypeSystemSP GetTypeSystemFromCU(std::shared_ptr ctx)
{
+ SymbolContext symbol_context =
+ ctx->GetSymbolContext(lldb::eSymbolContextCompUnit);
+ au
@@ -72,12 +74,39 @@ static std::optional
IsWord(llvm::StringRef expr,
static bool IsNumberBodyChar(char ch) { return IsDigit(ch) || IsLetter(ch); }
-static std::optional IsNumber(llvm::StringRef expr,
- llvm::StringRef &remainder
@@ -178,6 +179,40 @@ class BitFieldExtractionNode : public ASTNode {
int64_t m_last_index;
};
+class ScalarLiteralNode : public ASTNode {
+public:
+ ScalarLiteralNode(uint32_t location, Scalar value, uint32_t radix,
+bool is_unsigned, bool is_long, bool
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/152308
>From 55fbd4724159eea9868df1eeac9b83bf5894544b Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Fri, 1 Aug 2025 20:14:59 +0500
Subject: [PATCH 1/7] Add ScalarLiteralNode
---
lldb/include/lldb/ValueObject/DILAST
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/152308
>From 55fbd4724159eea9868df1eeac9b83bf5894544b Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Fri, 1 Aug 2025 20:14:59 +0500
Subject: [PATCH 1/4] Add ScalarLiteralNode
---
lldb/include/lldb/ValueObject/DILAST
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/147064
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kuilpd wrote:
`PickLiteralType` follows C++ logic, but this can later be put in a plugin if
the logic doesn't apply everywhere. I'm not sure how to test this though, since
the type is picked by width, so the resulting type name can be different on
different machines.
I also split lexing numbe
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/152308
This patch introduces `ScalarLiteralNode` without any uses by other nodes yet.
It also includes lexing and parsing for integer and floating point numbers, and
makes a function `getAutoSenseRadix` in `StringRef`
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/151350
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kuilpd wrote:
@labath
What are your thoughts?
https://github.com/llvm/llvm-project/pull/151350
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -69,17 +69,19 @@ def test_subscript(self):
substrs=["expected 'r_square', got: <'.'"],
)
-# Base should be a "pointer to T" and index should be of an integral
type.
-self.expect(
-"frame var 'idx_1[0]'",
-error=Tr
@@ -323,47 +323,144 @@ Interpreter::Visit(const MemberOfNode *node) {
m_expr, errMsg, node->GetLocation(), node->GetFieldName().size());
}
+
llvm::Expected
Interpreter::Visit(const ArraySubscriptNode *node) {
auto lhs_or_err = Evaluate(node->GetBase());
if (!lhs_
kuilpd wrote:
Changed the default address type and tried it with pointers, it works. I just
didn't think about creating pointers with this function initially, but
apparently it can be done as well.
https://github.com/llvm/llvm-project/pull/151350
___
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/151350
>From ff14392e82fb5658c87b4376551a0dc366b33e8c Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Wed, 30 Jul 2025 17:39:43 +0500
Subject: [PATCH 1/2] [lldb] Add `ValueObject::CreateValueObjectFromScalar`
---
lld
kuilpd wrote:
> One big behavioral difference between your `CreateValueObjectFromValue` VO's
> and the `CreateValueObjectFromAPInt` ones is that you set the child address
> type to invalid, but the APInt one sets it to "load". That's fine so long as
> the Value only holds ints and not pointer
kuilpd wrote:
I'm trying here an alternative way of creating a const `ValueObject`. The way
it's currently done with `CreateValueObjectFromAPInt` is getting its data bytes
and sending them to `ValueObject::CreateValueObjectFromData`, which creates a
`ValueObjectConstResult` with `ValueType::H
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/151350
Add `ValueObject::CreateValueObjectFromScalar` function and adjust
`Scalar::GetData` to be able to both extend and truncate the data bytes in
Scalar to a desired size.
>From ff14392e82fb5658c87b4376551a0dc366b
kuilpd wrote:
> > single interface to traverse the AST tree:
>
> That's the part that would change in this setup. Instead of one API, we'd
> have two: `EvaluateValueNode()` and `EvaluateScalarNode()`, and we'd have two
> node hierarchies: ValueNode and ScalarNode. MemberOfNode would be a Value
kuilpd wrote:
> We can definitely add functions to covert (directly) between Scalars and
> ValueObjects (in fact, I think the only reason that the APInt overloads
> currently exists is because of the initial attempt to upstream the DIL
> implementation).
Ah, I didn't know that, I think I joi
kuilpd wrote:
> The process for that is
> [here](https://llvm.org/docs/GitHub.html#backporting-fixes-to-the-release-branches),
> though it's a bit unfortunate that a week has passed since then (I was OOO
> this week so I couldn't reply sooner). At this point, I'm no longer sure it
> makes sen
kuilpd wrote:
> It looks like this just barely didn't make it into the 21.x release branch.
> Do we want to cherry-pick that over? I think it would be a good way to flush
> out any issues...
I think so too, this and #149117. Do we just create a PR with the same changes
into `release/21.x` bra
kuilpd wrote:
> say that values retain their width and signedness, but then get converted
> into the wider width using C-like rules. We already have this implemented
> inside the Scalar class (which wraps APInt), so this would be best in terms
> of code reuse, and it would produce few surprise
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/147064
>From cf1f908360399ac51770d9fb7e1dac03eceab0e9 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Thu, 3 Jul 2025 19:34:17 +0500
Subject: [PATCH 1/2] [LLDB] *WIP* Add scalar literal node and binary addition
---
l
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/147955
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kuilpd wrote:
Added a test without debug info and you're right, it fails without this fix.
https://github.com/llvm/llvm-project/pull/147955
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-c
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/147955
>From 6b72ecb0f25b34ca112220e8587ef7fea46a38dd Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Thu, 10 Jul 2025 17:45:15 +0500
Subject: [PATCH 1/2] [LLDB] Check comp_unit before accessing it in DIL
---
lldb/so
kuilpd wrote:
> It's pretty much an accident we hit this in the test suite. Could you create
> a dedicated test for this. I guess the scenario is "running 'frame var' in a
> frame without debug info" (?)
No debug information at all? Or test the same `settings set
symbols.enable-external-looku
kuilpd wrote:
I addressed `lldb-shell-subprocess` tests failing in #147955 , but there's
still 2 data formatter tests failing, not sure what's happening there yet.
https://github.com/llvm/llvm-project/pull/147887
___
lldb-commits mailing list
lldb-com
kuilpd wrote:
`lldb-shell-subprocess` tests were failing because they add a setting `settings
set symbols.enable-external-lookup false`, which disables resolving variables
for compile units, but still marks them as resolved, so
`stack_frame->GetSymbolContext(lldb::eSymbolContextCompUnit)` just
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/147955
Check `symbol_context.comp_unit` before accessing it to avoid `nullptr`
dereferencing.
>From 6b72ecb0f25b34ca112220e8587ef7fea46a38dd Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Thu, 10 Jul 2025 17:45:15 +
kuilpd wrote:
> but I can also imagine doing something like python's "arbitrary width"
> integers.
Isn't this basically `llvm::APInt` class? We could just disregard every
integer's type, add their values as `APInt` and return the result with a
maximum width integer type. I kind of like this p
kuilpd wrote:
> We could, but I'm not sure if that's the most important question right now.
> The whole BasicType concept is very C-like. There is no "unsigned long long"
> basic type in swift (or pretty much any other language). While you could say
> that the function returns the langauge's e
kuilpd wrote:
@labath @cmtice @jimingham @asl
This is a draft with some potential changes I'd like to discuss regarding how
to handle the type system of constant literals.
I'm also trying to demonstrate how they interact further with other values in a
binary addition node. A lot of the code is
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/147064
A draft to discuss scalar literal node implementation
>From cf1f908360399ac51770d9fb7e1dac03eceab0e9 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Thu, 3 Jul 2025 19:34:17 +0500
Subject: [PATCH] [LLDB] *WIP*
kuilpd wrote:
Alright, thank you!
https://github.com/llvm/llvm-project/pull/146094
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kuilpd wrote:
@Michael137
If I add a non-static member to that struct, would dsymutil keep the static
member debug info as well?
https://github.com/llvm/llvm-project/pull/146094
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.
kuilpd wrote:
> This might be isolated to dsyms (i remember dsymutil stripping some static
> inlines, but i forget exactly in which cases).
This is very likely the case, but I don't have a machine to debug this on.
Could we just skip this test case?
https://github.com/llvm/llvm-project/pull/1
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/146094
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kuilpd wrote:
> I'm not sure that's the right thing to do -- if there are multiple matches,
> how can we know we picked the one that the user wanted to see?
> What might matter for performance is, if returning false/nullptr here causes
> the implementation to perform the lookup at a larger (mor
kuilpd wrote:
I did some benchmarks of DIL on Unreal Engine 5 (thousands of variables to
search through) and noticed that our current variable lookup implementation is
~10 times slower than it was in `lldb-eval`, especially when it comes to global
variables in other files.
I looked into it and
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/146094
Remove unused code and unnecessary function calls, optimize global variable
search.
Add more test cases.
>From b69070a717fa80058af475397dae7a41f172c580 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Tue, 24 J
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/144557
>From 49a615d48433dabc6f05848f40e38601222efe38 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Tue, 17 Jun 2025 21:06:49 +0500
Subject: [PATCH 1/2] [LLDB] Add negative number parsing to DIL
---
lldb/source/Val
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/144557
None
>From 49a615d48433dabc6f05848f40e38601222efe38 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Tue, 17 Jun 2025 21:06:49 +0500
Subject: [PATCH] [LLDB] Add negative number parsing to DIL
---
lldb/source/V
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/141422
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -62,7 +62,7 @@ def test_subscript(self):
self.expect(
"frame var 'int_arr[-1]'",
error=True,
-substrs=["unrecognized token"],
+substrs=["failed to parse integer constant"],
kuilpd wrote:
Should I make
kuilpd wrote:
@labath @jimingham
Just to clarify, do we change `-` to `:` now in this PR or later, after we
replace `frame var` with DIL?
https://github.com/llvm/llvm-project/pull/141422
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/141422
None
>From b093c5fb20c56251c61235c748b673ce59840173 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Tue, 20 May 2025 17:58:01 +0500
Subject: [PATCH] [LLDB] Add BitExtraction node to DIL
---
lldb/include/lldb/
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/141102
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kuilpd edited
https://github.com/llvm/llvm-project/pull/141102
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/141102
>From 5210b8b00dfd05d092b3519cbb0a5480b3abe534 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Thu, 22 May 2025 16:15:11 +0500
Subject: [PATCH 1/2] [LLDB] Add array subscription and integer parsing to DIL
(#138
https://github.com/kuilpd edited
https://github.com/llvm/llvm-project/pull/141102
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kuilpd wrote:
@labath
This code
```
llvm::Expected num_children = synthetic->GetNumChildren(child_idx
+ 1);
```
didn't work for `std::vector` on Windows on AArch64, got a buildbot error
there: https://lab.llvm.org/buildbot/#/builders/141/builds/8906
```
AssertionError: ':1:7: array index
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/141102
None
>From ad2c40ea689c71074237287989fa7ae01bd428e4 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Thu, 22 May 2025 16:15:11 +0500
Subject: [PATCH 1/2] [LLDB] Add array subscription and integer parsing to DIL
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/141059
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kuilpd created
https://github.com/llvm/llvm-project/pull/141059
Reverts llvm/llvm-project#138551
>From b2e110036df39bb33163b5cd6c8dacf9253b6b33 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Thu, 22 May 2025 17:29:24 +0500
Subject: [PATCH] Revert "[LLDB] Add array subscrip
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/138551
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -272,4 +272,67 @@ Interpreter::Visit(const UnaryOpNode *node) {
m_expr, "invalid ast: unexpected binary operator", node->GetLocation());
}
+llvm::Expected
+Interpreter::Visit(const ArraySubscriptNode *node) {
+ auto lhs_or_err = Evaluate(node->GetBase());
+ if (!lhs
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/138551
>From ad204cdfd226ca2a886c5475775fe67b29a70926 Mon Sep 17 00:00:00 2001
From: Ilia Kuklin
Date: Wed, 30 Apr 2025 22:03:50 +0500
Subject: [PATCH 1/7] [LLDB] Add array subscription and integer parsing to DIL
---
@@ -272,4 +272,67 @@ Interpreter::Visit(const UnaryOpNode *node) {
m_expr, "invalid ast: unexpected binary operator", node->GetLocation());
}
+llvm::Expected
+Interpreter::Visit(const ArraySubscriptNode *node) {
+ auto lhs_or_err = Evaluate(node->GetBase());
+ if (!lhs
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/138551
Rate limit · GitHub
body {
background-color: #f6f8fa;
color: #24292e;
font-family: -apple-system,BlinkMacSystemFont,Segoe
UI,Helvetica,Arial,sans-se
@@ -111,7 +111,42 @@ ASTNodeUP DILParser::ParseUnaryExpression() {
llvm_unreachable("invalid token kind");
}
}
- return ParsePrimaryExpression();
+ return ParsePostfixExpression();
+}
+
+// Parse a postfix_expression.
+//
+// postfix_expression:
+//primary_ex
@@ -272,4 +272,67 @@ Interpreter::Visit(const UnaryOpNode *node) {
m_expr, "invalid ast: unexpected binary operator", node->GetLocation());
}
+llvm::Expected
+Interpreter::Visit(const ArraySubscriptNode *node) {
+ auto lhs_or_err = Evaluate(node->GetBase());
+ if (!lhs
@@ -111,7 +111,42 @@ ASTNodeUP DILParser::ParseUnaryExpression() {
llvm_unreachable("invalid token kind");
}
}
- return ParsePrimaryExpression();
+ return ParsePostfixExpression();
+}
+
+// Parse a postfix_expression.
+//
+// postfix_expression:
+//primary_ex
kuilpd wrote:
I think I addressed everything I could, please take a look again.
https://github.com/llvm/llvm-project/pull/138551
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -272,4 +272,67 @@ Interpreter::Visit(const UnaryOpNode *node) {
m_expr, "invalid ast: unexpected binary operator", node->GetLocation());
}
+llvm::Expected
+Interpreter::Visit(const ArraySubscriptNode *node) {
+ auto lhs_or_err = Evaluate(node->GetBase());
+ if (!lhs
@@ -272,4 +272,67 @@ Interpreter::Visit(const UnaryOpNode *node) {
m_expr, "invalid ast: unexpected binary operator", node->GetLocation());
}
+llvm::Expected
+Interpreter::Visit(const ArraySubscriptNode *node) {
+ auto lhs_or_err = Evaluate(node->GetBase());
+ if (!lhs
https://github.com/kuilpd updated
https://github.com/llvm/llvm-project/pull/138551
Rate limit · GitHub
body {
background-color: #f6f8fa;
color: #24292e;
font-family: -apple-system,BlinkMacSystemFont,Segoe
UI,Helvetica,Arial,sans-se
https://github.com/kuilpd closed
https://github.com/llvm/llvm-project/pull/139567
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
kuilpd wrote:
Thank you!
https://github.com/llvm/llvm-project/pull/139567
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/kuilpd ready_for_review
https://github.com/llvm/llvm-project/pull/139567
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
1 - 100 of 219 matches
Mail list logo