[Lldb-commits] [lldb] lldb: Fix some tests that fail with system libstdc++ (PR #106885)

2024-08-31 Thread via lldb-commits

llvmbot wrote:




@llvm/pr-subscribers-lldb

Author: Tom Stellard (tstellar)


Changes

This is a revert of b1fcc1840c312472cb9ccb8c4e5e02ca13b31113.

These tests weren't working on Ubuntu 22.04 or Fedora 37-40.  I'm not sure 
exactly why, but it seems like they may be incompatible with libstdc++.  Also, 
despite the fact that the tests were using the system libstdc++, the tests were 
only run when libcxx was enabled.

I tested this with a RelWithDebInfo build and the tests passed.

Fixes #106475

---
Full diff: https://github.com/llvm/llvm-project/pull/106885.diff


3 Files Affected:

- (modified) 
lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
 (+1-3) 
- (modified) 
lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
 (+1-3) 
- (modified) 
lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
 (+1-3) 


``diff
diff --git 
a/lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
 
b/lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
index 98638c56f0b98f..f938f7428468ab 100644
--- 
a/lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
+++ 
b/lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
@@ -1,5 +1,3 @@
-# FIXME: once the expression evaluator can handle std libraries with debug
-# info, change this to USE_LIBCPP=1
-USE_SYSTEM_STDLIB := 1
+USE_LIBCPP := 1
 CXX_SOURCES := main.cpp
 include Makefile.rules
diff --git 
a/lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
 
b/lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
index 98638c56f0b98f..f938f7428468ab 100644
--- 
a/lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
+++ 
b/lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
@@ -1,5 +1,3 @@
-# FIXME: once the expression evaluator can handle std libraries with debug
-# info, change this to USE_LIBCPP=1
-USE_SYSTEM_STDLIB := 1
+USE_LIBCPP := 1
 CXX_SOURCES := main.cpp
 include Makefile.rules
diff --git 
a/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
 
b/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
index 98638c56f0b98f..f938f7428468ab 100644
--- 
a/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
+++ 
b/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
@@ -1,5 +1,3 @@
-# FIXME: once the expression evaluator can handle std libraries with debug
-# info, change this to USE_LIBCPP=1
-USE_SYSTEM_STDLIB := 1
+USE_LIBCPP := 1
 CXX_SOURCES := main.cpp
 include Makefile.rules

``




https://github.com/llvm/llvm-project/pull/106885
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb] Change ValueObject::AddressOf() to return Expected (NFC) (PR #106831)

2024-08-31 Thread AbdAlRahman Gad via lldb-commits

https://github.com/AbdAlRahmanGad updated 
https://github.com/llvm/llvm-project/pull/106831

>From aeb2b3380c4aea636812fd37c19b5ca920d98806 Mon Sep 17 00:00:00 2001
From: AbdAlRahman Gad 
Date: Sat, 31 Aug 2024 10:11:39 +0300
Subject: [PATCH] [lldb] Change ValueObject::AddressOf() to return Expected
 (NFC)

---
 lldb/include/lldb/Core/ValueObject.h   |  2 +-
 .../include/lldb/Core/ValueObjectConstResult.h |  2 +-
 .../lldb/Core/ValueObjectConstResultCast.h |  2 +-
 .../lldb/Core/ValueObjectConstResultChild.h|  2 +-
 .../lldb/Core/ValueObjectConstResultImpl.h |  2 +-
 lldb/source/API/SBValue.cpp| 10 --
 lldb/source/Core/ValueObject.cpp   | 11 +--
 lldb/source/Core/ValueObjectConstResult.cpp|  3 ++-
 .../source/Core/ValueObjectConstResultCast.cpp |  3 ++-
 .../Core/ValueObjectConstResultChild.cpp   |  3 ++-
 .../source/Core/ValueObjectConstResultImpl.cpp |  3 ++-
 .../Clang/ClangExpressionDeclMap.cpp   | 18 --
 .../Plugins/Language/CPlusPlus/Coroutines.cpp  |  9 -
 .../Plugins/Language/CPlusPlus/LibCxxList.cpp  | 18 --
 lldb/source/Plugins/Language/ObjC/NSArray.cpp  |  8 +++-
 .../Plugins/Language/ObjC/NSDictionary.cpp |  8 +++-
 lldb/source/Plugins/Language/ObjC/NSSet.cpp|  8 +++-
 lldb/source/Symbol/Variable.cpp| 11 +--
 lldb/source/Target/StackFrame.cpp  |  9 -
 19 files changed, 108 insertions(+), 24 deletions(-)

diff --git a/lldb/include/lldb/Core/ValueObject.h 
b/lldb/include/lldb/Core/ValueObject.h
index 93eb3e8f590f4e..2a5358fd5b0276 100644
--- a/lldb/include/lldb/Core/ValueObject.h
+++ b/lldb/include/lldb/Core/ValueObject.h
@@ -625,7 +625,7 @@ class ValueObject {
   /// (e.g. sythetic child provider).
   virtual lldb::ValueObjectSP Clone(ConstString new_name);
 
-  virtual lldb::ValueObjectSP AddressOf(Status &error);
+  virtual llvm::Expected AddressOf(Status &error);
 
   virtual lldb::addr_t GetLiveAddress() { return LLDB_INVALID_ADDRESS; }
 
diff --git a/lldb/include/lldb/Core/ValueObjectConstResult.h 
b/lldb/include/lldb/Core/ValueObjectConstResult.h
index d3b3362bd0e9ec..6ae6f8624cc4af 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResult.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResult.h
@@ -83,7 +83,7 @@ class ValueObjectConstResult : public ValueObject {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   lldb::addr_t GetAddressOf(bool scalar_is_load_address = true,
 AddressType *address_type = nullptr) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultCast.h 
b/lldb/include/lldb/Core/ValueObjectConstResultCast.h
index 911a08363b3935..40528150fd852c 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultCast.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultCast.h
@@ -43,7 +43,7 @@ class ValueObjectConstResultCast : public ValueObjectCast {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   size_t GetPointeeData(DataExtractor &data, uint32_t item_idx = 0,
 uint32_t item_count = 1) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultChild.h 
b/lldb/include/lldb/Core/ValueObjectConstResultChild.h
index 71a3c53befe786..f6c4689c02ebd0 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultChild.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultChild.h
@@ -49,7 +49,7 @@ class ValueObjectConstResultChild : public ValueObjectChild {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   lldb::addr_t GetAddressOf(bool scalar_is_load_address = true,
 AddressType *address_type = nullptr) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultImpl.h 
b/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
index 68ba8ae7fba206..ff87b7d9898042 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
@@ -46,7 +46,7 @@ class ValueObjectConstResultImpl {
 bool can_create,
 ConstString name_const_str = ConstString());
 
-  lldb::ValueObjectSP AddressOf(Status &error);
+  llvm::Expected AddressOf(Status &error);
 
   lldb::addr_t GetLiveAddress() { return m_live_address; }
 
diff --git a/lldb/source/API/SBValue.cpp b/lldb/source/API/SBValue.cpp
index df0e82b6523fbd..4f86b5d9a7d018 100644
-

[Lldb-commits] [lldb] [lldb] Change ValueObject::AddressOf() to return Expected (NFC) (PR #106831)

2024-08-31 Thread via lldb-commits

github-actions[bot] wrote:



Thank you for submitting a Pull Request (PR) to the LLVM Project!

This PR will be automatically labeled and the relevant teams will be notified.

If you wish to, you can add reviewers by using the "Reviewers" section on this 
page.

If this is not working for you, it is probably because you do not have write 
permissions for the repository. In which case you can instead tag reviewers by 
name in a comment by using `@` followed by their GitHub username.

If you have received no comments on your PR for a week, you can request a 
review by "ping"ing the PR by adding a comment “Ping”. The common courtesy 
"ping" rate is once a week. Please remember that you are asking for valuable 
time from other developers.

If you have further questions, they may be answered by the [LLVM GitHub User 
Guide](https://llvm.org/docs/GitHub.html).

You can also ask questions in a comment on this PR, on the [LLVM 
Discord](https://discord.com/invite/xS7Z362) or on the 
[forums](https://discourse.llvm.org/).

https://github.com/llvm/llvm-project/pull/106831
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [clang] [clang-tools-extra] [lld] [lldb] [llvm] [mlir] [polly] [NFC] Add explicit #include llvm-config.h where its macros are used. (PR #106810)

2024-08-31 Thread Daniil Fukalov via lldb-commits

https://github.com/dfukalov edited 
https://github.com/llvm/llvm-project/pull/106810
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] lldb: Fix some tests that fail with system libstdc++ (PR #106885)

2024-08-31 Thread Tom Stellard via lldb-commits

https://github.com/tstellar created 
https://github.com/llvm/llvm-project/pull/106885

This is a revert of b1fcc1840c312472cb9ccb8c4e5e02ca13b31113.

These tests weren't working on Ubuntu 22.04 or Fedora 37-40.  I'm not sure 
exactly why, but it seems like they may be incompatible with libstdc++.  Also, 
despite the fact that the tests were using the system libstdc++, the tests were 
only run when libcxx was enabled.

I tested this with a RelWithDebInfo build and the tests passed.

Fixes #106475

>From 2bbcb2c5cc3e9c5dfc8f1e8424d72f20f0b8ec1a Mon Sep 17 00:00:00 2001
From: Tom Stellard 
Date: Sun, 1 Sep 2024 03:26:01 +
Subject: [PATCH] lldb: Fix some tests that fail with system libstdc++

This is a revert of b1fcc1840c312472cb9ccb8c4e5e02ca13b31113.

These tests weren't working on Ubuntu 22.04 or Fedora 37-40.  I'm not
sure exactly why, but it seems like the may be incompatible with
libstdc++.  Also, despite the fact that the tests were using the
system libstdc++, the tests were only run when libcxx was enabled.

I tested this with a RelWithDebInfo build and the tests passed.
---
 .../import-std-module/deque-dbg-info-content/Makefile | 4 +---
 .../import-std-module/list-dbg-info-content/Makefile  | 4 +---
 .../import-std-module/vector-dbg-info-content/Makefile| 4 +---
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git 
a/lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
 
b/lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
index 98638c56f0b98f..f938f7428468ab 100644
--- 
a/lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
+++ 
b/lldb/test/API/commands/expression/import-std-module/deque-dbg-info-content/Makefile
@@ -1,5 +1,3 @@
-# FIXME: once the expression evaluator can handle std libraries with debug
-# info, change this to USE_LIBCPP=1
-USE_SYSTEM_STDLIB := 1
+USE_LIBCPP := 1
 CXX_SOURCES := main.cpp
 include Makefile.rules
diff --git 
a/lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
 
b/lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
index 98638c56f0b98f..f938f7428468ab 100644
--- 
a/lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
+++ 
b/lldb/test/API/commands/expression/import-std-module/list-dbg-info-content/Makefile
@@ -1,5 +1,3 @@
-# FIXME: once the expression evaluator can handle std libraries with debug
-# info, change this to USE_LIBCPP=1
-USE_SYSTEM_STDLIB := 1
+USE_LIBCPP := 1
 CXX_SOURCES := main.cpp
 include Makefile.rules
diff --git 
a/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
 
b/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
index 98638c56f0b98f..f938f7428468ab 100644
--- 
a/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
+++ 
b/lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/Makefile
@@ -1,5 +1,3 @@
-# FIXME: once the expression evaluator can handle std libraries with debug
-# info, change this to USE_LIBCPP=1
-USE_SYSTEM_STDLIB := 1
+USE_LIBCPP := 1
 CXX_SOURCES := main.cpp
 include Makefile.rules

___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb] Change ValueObject::AddressOf() to return Expected (NFC) (PR #106831)

2024-08-31 Thread AbdAlRahman Gad via lldb-commits

https://github.com/AbdAlRahmanGad ready_for_review 
https://github.com/llvm/llvm-project/pull/106831
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb] Change ValueObject::AddressOf() to return Expected (NFC) (PR #106831)

2024-08-31 Thread AbdAlRahman Gad via lldb-commits

https://github.com/AbdAlRahmanGad updated 
https://github.com/llvm/llvm-project/pull/106831

>From aeb2b3380c4aea636812fd37c19b5ca920d98806 Mon Sep 17 00:00:00 2001
From: AbdAlRahman Gad 
Date: Sat, 31 Aug 2024 10:11:39 +0300
Subject: [PATCH] [lldb] Change ValueObject::AddressOf() to return Expected
 (NFC)

---
 lldb/include/lldb/Core/ValueObject.h   |  2 +-
 .../include/lldb/Core/ValueObjectConstResult.h |  2 +-
 .../lldb/Core/ValueObjectConstResultCast.h |  2 +-
 .../lldb/Core/ValueObjectConstResultChild.h|  2 +-
 .../lldb/Core/ValueObjectConstResultImpl.h |  2 +-
 lldb/source/API/SBValue.cpp| 10 --
 lldb/source/Core/ValueObject.cpp   | 11 +--
 lldb/source/Core/ValueObjectConstResult.cpp|  3 ++-
 .../source/Core/ValueObjectConstResultCast.cpp |  3 ++-
 .../Core/ValueObjectConstResultChild.cpp   |  3 ++-
 .../source/Core/ValueObjectConstResultImpl.cpp |  3 ++-
 .../Clang/ClangExpressionDeclMap.cpp   | 18 --
 .../Plugins/Language/CPlusPlus/Coroutines.cpp  |  9 -
 .../Plugins/Language/CPlusPlus/LibCxxList.cpp  | 18 --
 lldb/source/Plugins/Language/ObjC/NSArray.cpp  |  8 +++-
 .../Plugins/Language/ObjC/NSDictionary.cpp |  8 +++-
 lldb/source/Plugins/Language/ObjC/NSSet.cpp|  8 +++-
 lldb/source/Symbol/Variable.cpp| 11 +--
 lldb/source/Target/StackFrame.cpp  |  9 -
 19 files changed, 108 insertions(+), 24 deletions(-)

diff --git a/lldb/include/lldb/Core/ValueObject.h 
b/lldb/include/lldb/Core/ValueObject.h
index 93eb3e8f590f4e..2a5358fd5b0276 100644
--- a/lldb/include/lldb/Core/ValueObject.h
+++ b/lldb/include/lldb/Core/ValueObject.h
@@ -625,7 +625,7 @@ class ValueObject {
   /// (e.g. sythetic child provider).
   virtual lldb::ValueObjectSP Clone(ConstString new_name);
 
-  virtual lldb::ValueObjectSP AddressOf(Status &error);
+  virtual llvm::Expected AddressOf(Status &error);
 
   virtual lldb::addr_t GetLiveAddress() { return LLDB_INVALID_ADDRESS; }
 
diff --git a/lldb/include/lldb/Core/ValueObjectConstResult.h 
b/lldb/include/lldb/Core/ValueObjectConstResult.h
index d3b3362bd0e9ec..6ae6f8624cc4af 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResult.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResult.h
@@ -83,7 +83,7 @@ class ValueObjectConstResult : public ValueObject {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   lldb::addr_t GetAddressOf(bool scalar_is_load_address = true,
 AddressType *address_type = nullptr) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultCast.h 
b/lldb/include/lldb/Core/ValueObjectConstResultCast.h
index 911a08363b3935..40528150fd852c 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultCast.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultCast.h
@@ -43,7 +43,7 @@ class ValueObjectConstResultCast : public ValueObjectCast {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   size_t GetPointeeData(DataExtractor &data, uint32_t item_idx = 0,
 uint32_t item_count = 1) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultChild.h 
b/lldb/include/lldb/Core/ValueObjectConstResultChild.h
index 71a3c53befe786..f6c4689c02ebd0 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultChild.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultChild.h
@@ -49,7 +49,7 @@ class ValueObjectConstResultChild : public ValueObjectChild {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   lldb::addr_t GetAddressOf(bool scalar_is_load_address = true,
 AddressType *address_type = nullptr) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultImpl.h 
b/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
index 68ba8ae7fba206..ff87b7d9898042 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
@@ -46,7 +46,7 @@ class ValueObjectConstResultImpl {
 bool can_create,
 ConstString name_const_str = ConstString());
 
-  lldb::ValueObjectSP AddressOf(Status &error);
+  llvm::Expected AddressOf(Status &error);
 
   lldb::addr_t GetLiveAddress() { return m_live_address; }
 
diff --git a/lldb/source/API/SBValue.cpp b/lldb/source/API/SBValue.cpp
index df0e82b6523fbd..4f86b5d9a7d018 100644
-

[Lldb-commits] [lldb] [lldb] Change ValueObject::AddressOf() to return Expected (NFC) (PR #106831)

2024-08-31 Thread via lldb-commits

llvmbot wrote:




@llvm/pr-subscribers-lldb

Author: AbdAlRahman Gad (AbdAlRahmanGad)


Changes



---
Full diff: https://github.com/llvm/llvm-project/pull/106831.diff


19 Files Affected:

- (modified) lldb/include/lldb/Core/ValueObject.h (+1-1) 
- (modified) lldb/include/lldb/Core/ValueObjectConstResult.h (+1-1) 
- (modified) lldb/include/lldb/Core/ValueObjectConstResultCast.h (+1-1) 
- (modified) lldb/include/lldb/Core/ValueObjectConstResultChild.h (+1-1) 
- (modified) lldb/include/lldb/Core/ValueObjectConstResultImpl.h (+1-1) 
- (modified) lldb/source/API/SBValue.cpp (+8-2) 
- (modified) lldb/source/Core/ValueObject.cpp (+9-2) 
- (modified) lldb/source/Core/ValueObjectConstResult.cpp (+2-1) 
- (modified) lldb/source/Core/ValueObjectConstResultCast.cpp (+2-1) 
- (modified) lldb/source/Core/ValueObjectConstResultChild.cpp (+2-1) 
- (modified) lldb/source/Core/ValueObjectConstResultImpl.cpp (+2-1) 
- (modified) 
lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp (+16-2) 
- (modified) lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp (+8-1) 
- (modified) lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp (+16-2) 
- (modified) lldb/source/Plugins/Language/ObjC/NSArray.cpp (+7-1) 
- (modified) lldb/source/Plugins/Language/ObjC/NSDictionary.cpp (+7-1) 
- (modified) lldb/source/Plugins/Language/ObjC/NSSet.cpp (+7-1) 
- (modified) lldb/source/Symbol/Variable.cpp (+9-2) 
- (modified) lldb/source/Target/StackFrame.cpp (+8-1) 


``diff
diff --git a/lldb/include/lldb/Core/ValueObject.h 
b/lldb/include/lldb/Core/ValueObject.h
index 93eb3e8f590f4e..2a5358fd5b0276 100644
--- a/lldb/include/lldb/Core/ValueObject.h
+++ b/lldb/include/lldb/Core/ValueObject.h
@@ -625,7 +625,7 @@ class ValueObject {
   /// (e.g. sythetic child provider).
   virtual lldb::ValueObjectSP Clone(ConstString new_name);
 
-  virtual lldb::ValueObjectSP AddressOf(Status &error);
+  virtual llvm::Expected AddressOf(Status &error);
 
   virtual lldb::addr_t GetLiveAddress() { return LLDB_INVALID_ADDRESS; }
 
diff --git a/lldb/include/lldb/Core/ValueObjectConstResult.h 
b/lldb/include/lldb/Core/ValueObjectConstResult.h
index d3b3362bd0e9ec..6ae6f8624cc4af 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResult.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResult.h
@@ -83,7 +83,7 @@ class ValueObjectConstResult : public ValueObject {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   lldb::addr_t GetAddressOf(bool scalar_is_load_address = true,
 AddressType *address_type = nullptr) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultCast.h 
b/lldb/include/lldb/Core/ValueObjectConstResultCast.h
index 911a08363b3935..40528150fd852c 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultCast.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultCast.h
@@ -43,7 +43,7 @@ class ValueObjectConstResultCast : public ValueObjectCast {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   size_t GetPointeeData(DataExtractor &data, uint32_t item_idx = 0,
 uint32_t item_count = 1) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultChild.h 
b/lldb/include/lldb/Core/ValueObjectConstResultChild.h
index 71a3c53befe786..f6c4689c02ebd0 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultChild.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultChild.h
@@ -49,7 +49,7 @@ class ValueObjectConstResultChild : public ValueObjectChild {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   lldb::addr_t GetAddressOf(bool scalar_is_load_address = true,
 AddressType *address_type = nullptr) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultImpl.h 
b/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
index 68ba8ae7fba206..ff87b7d9898042 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
@@ -46,7 +46,7 @@ class ValueObjectConstResultImpl {
 bool can_create,
 ConstString name_const_str = ConstString());
 
-  lldb::ValueObjectSP AddressOf(Status &error);
+  llvm::Expected AddressOf(Status &error);
 
   lldb::addr_t GetLiveAddress() { return m_live_address; }
 
diff --git a/lldb/source/API/SBValue.cpp b/lldb/source/API/SBValue.cpp
index df0e82b6523fbd..4f86b5d9a7d018 100644
--- a/lldb/source/API/SBValue.cpp
+++ b/

[Lldb-commits] [lldb] [lldb] Change ValueObject::AddressOf() to return Expected (NFC) (PR #106831)

2024-08-31 Thread AbdAlRahman Gad via lldb-commits

AbdAlRahmanGad wrote:

@adrian-prantl 

https://github.com/llvm/llvm-project/pull/106831
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits


[Lldb-commits] [lldb] [lldb] Change ValueObject::AddressOf() to return Expected (NFC) (PR #106831)

2024-08-31 Thread AbdAlRahman Gad via lldb-commits

https://github.com/AbdAlRahmanGad created 
https://github.com/llvm/llvm-project/pull/106831

None

>From aeb2b3380c4aea636812fd37c19b5ca920d98806 Mon Sep 17 00:00:00 2001
From: AbdAlRahman Gad 
Date: Sat, 31 Aug 2024 10:11:39 +0300
Subject: [PATCH] [lldb] Change ValueObject::AddressOf() to return Expected
 (NFC)

---
 lldb/include/lldb/Core/ValueObject.h   |  2 +-
 .../include/lldb/Core/ValueObjectConstResult.h |  2 +-
 .../lldb/Core/ValueObjectConstResultCast.h |  2 +-
 .../lldb/Core/ValueObjectConstResultChild.h|  2 +-
 .../lldb/Core/ValueObjectConstResultImpl.h |  2 +-
 lldb/source/API/SBValue.cpp| 10 --
 lldb/source/Core/ValueObject.cpp   | 11 +--
 lldb/source/Core/ValueObjectConstResult.cpp|  3 ++-
 .../source/Core/ValueObjectConstResultCast.cpp |  3 ++-
 .../Core/ValueObjectConstResultChild.cpp   |  3 ++-
 .../source/Core/ValueObjectConstResultImpl.cpp |  3 ++-
 .../Clang/ClangExpressionDeclMap.cpp   | 18 --
 .../Plugins/Language/CPlusPlus/Coroutines.cpp  |  9 -
 .../Plugins/Language/CPlusPlus/LibCxxList.cpp  | 18 --
 lldb/source/Plugins/Language/ObjC/NSArray.cpp  |  8 +++-
 .../Plugins/Language/ObjC/NSDictionary.cpp |  8 +++-
 lldb/source/Plugins/Language/ObjC/NSSet.cpp|  8 +++-
 lldb/source/Symbol/Variable.cpp| 11 +--
 lldb/source/Target/StackFrame.cpp  |  9 -
 19 files changed, 108 insertions(+), 24 deletions(-)

diff --git a/lldb/include/lldb/Core/ValueObject.h 
b/lldb/include/lldb/Core/ValueObject.h
index 93eb3e8f590f4e..2a5358fd5b0276 100644
--- a/lldb/include/lldb/Core/ValueObject.h
+++ b/lldb/include/lldb/Core/ValueObject.h
@@ -625,7 +625,7 @@ class ValueObject {
   /// (e.g. sythetic child provider).
   virtual lldb::ValueObjectSP Clone(ConstString new_name);
 
-  virtual lldb::ValueObjectSP AddressOf(Status &error);
+  virtual llvm::Expected AddressOf(Status &error);
 
   virtual lldb::addr_t GetLiveAddress() { return LLDB_INVALID_ADDRESS; }
 
diff --git a/lldb/include/lldb/Core/ValueObjectConstResult.h 
b/lldb/include/lldb/Core/ValueObjectConstResult.h
index d3b3362bd0e9ec..6ae6f8624cc4af 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResult.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResult.h
@@ -83,7 +83,7 @@ class ValueObjectConstResult : public ValueObject {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   lldb::addr_t GetAddressOf(bool scalar_is_load_address = true,
 AddressType *address_type = nullptr) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultCast.h 
b/lldb/include/lldb/Core/ValueObjectConstResultCast.h
index 911a08363b3935..40528150fd852c 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultCast.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultCast.h
@@ -43,7 +43,7 @@ class ValueObjectConstResultCast : public ValueObjectCast {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   size_t GetPointeeData(DataExtractor &data, uint32_t item_idx = 0,
 uint32_t item_count = 1) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultChild.h 
b/lldb/include/lldb/Core/ValueObjectConstResultChild.h
index 71a3c53befe786..f6c4689c02ebd0 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultChild.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultChild.h
@@ -49,7 +49,7 @@ class ValueObjectConstResultChild : public ValueObjectChild {
   uint32_t offset, const CompilerType &type, bool can_create,
   ConstString name_const_str = ConstString()) override;
 
-  lldb::ValueObjectSP AddressOf(Status &error) override;
+  llvm::Expected AddressOf(Status &error) override;
 
   lldb::addr_t GetAddressOf(bool scalar_is_load_address = true,
 AddressType *address_type = nullptr) override;
diff --git a/lldb/include/lldb/Core/ValueObjectConstResultImpl.h 
b/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
index 68ba8ae7fba206..ff87b7d9898042 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResultImpl.h
@@ -46,7 +46,7 @@ class ValueObjectConstResultImpl {
 bool can_create,
 ConstString name_const_str = ConstString());
 
-  lldb::ValueObjectSP AddressOf(Status &error);
+  llvm::Expected AddressOf(Status &error);
 
   lldb::addr_t GetLiveAddress() { return m_live_address; }
 
diff --git a/lldb/source/API/SBValue.cpp b/lldb/source/API/SBValue.cpp
index df0e82b6523fbd..4f86b5d9a7d018 10

[Lldb-commits] [lldb] [lldb] Change the implementation of Status to store an llvm::Error (NFC) (PR #106774)

2024-08-31 Thread Jonas Devlieghere via lldb-commits


@@ -97,7 +97,7 @@ class LLDB_API SBError {
   friend class lldb_private::ScriptInterpreter;
   friend class lldb_private::python::SWIGBridge;
 
-  SBError(const lldb_private::Status &error);
+  SBError(lldb_private::Status &&error);

JDevlieghere wrote:

IIRC we have made changes to private functions that take lldb_private 
arguments. Given that they're private, I think it's a reasonable assumption to 
say that they're not part of the stable ABI. 

https://github.com/llvm/llvm-project/pull/106774
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits