[Lldb-commits] [PATCH] D144240: Clear read_fd_set if EINTR received

2023-03-24 Thread Butta via Phabricator via lldb-commits
buttaface added a comment.

I looked online and it appears that you nominate a trunk commit by opening a 
github issue ? I am new to this LLVM 
workflow myself, but here is what appears to be a recent example 
.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144240/new/

https://reviews.llvm.org/D144240

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


[Lldb-commits] [lldb] 5831206 - [lldb][NFC] Remove outdated TODO in Log.h

2023-03-24 Thread Alex Langford via lldb-commits

Author: Alex Langford
Date: 2023-03-24T17:53:54-07:00
New Revision: 583120642694f21dc5f7cfc59b22fa6e709258eb

URL: 
https://github.com/llvm/llvm-project/commit/583120642694f21dc5f7cfc59b22fa6e709258eb
DIFF: 
https://github.com/llvm/llvm-project/commit/583120642694f21dc5f7cfc59b22fa6e709258eb.diff

LOG: [lldb][NFC] Remove outdated TODO in Log.h

The code this TODO was referring to was removed in
c34698a811b137b705738b7f8d193bc896027fb8.

Added: 


Modified: 
lldb/include/lldb/Utility/Log.h

Removed: 




diff  --git a/lldb/include/lldb/Utility/Log.h b/lldb/include/lldb/Utility/Log.h
index 596bec21b6f15..5d8530483594e 100644
--- a/lldb/include/lldb/Utility/Log.h
+++ b/lldb/include/lldb/Utility/Log.h
@@ -369,5 +369,3 @@ template  Log *GetLog(Cat mask) {
   } while (0)
 
 #endif // LLDB_UTILITY_LOG_H
-
-// TODO: Remove this and fix includes everywhere.



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


[Lldb-commits] [lldb] 5fb4147 - [lldb][NFC] Update and re-organize lldb-types.h

2023-03-24 Thread Alex Langford via lldb-commits

Author: Alex Langford
Date: 2023-03-24T17:40:58-07:00
New Revision: 5fb4147f74ad90095f08f243e5f19877d09d11b9

URL: 
https://github.com/llvm/llvm-project/commit/5fb4147f74ad90095f08f243e5f19877d09d11b9
DIFF: 
https://github.com/llvm/llvm-project/commit/5fb4147f74ad90095f08f243e5f19877d09d11b9.diff

LOG: [lldb][NFC] Update and re-organize lldb-types.h

- Address the TODO by identifying and documenting all types needed by a
  host system in order for lldb to work correctly
- Reformatted the comments to be easier to read
- Put everything inside of one namespace declaration instead of having
  multiple of the same
- Move the macros up to be right under the accompanying definitions

Added: 


Modified: 
lldb/include/lldb/lldb-types.h

Removed: 




diff  --git a/lldb/include/lldb/lldb-types.h b/lldb/include/lldb/lldb-types.h
index 462f4275042c..890b513cd6ee 100644
--- a/lldb/include/lldb/lldb-types.h
+++ b/lldb/include/lldb/lldb-types.h
@@ -15,71 +15,65 @@
 #include 
 
 // All host systems must define:
+//  lldb::rwlock_t  The type representing a read/write lock on the host
+//  lldb::process_t The type representing a process on the host
 //  lldb::thread_t  The native thread type for spawned threads on the
-//  system
-//  lldb::thread_arg_t  The type of the one any only thread creation
-//  argument for the host system
-//  lldb::thread_result_t   The return type that gets returned when a thread
-//  finishes.
+//  host
+//  lldb::file_tThe type representing a file on the host
+//  lldb::socket_t  The type representing a socket on the host
+//  lldb::thread_arg_t  The type of the one and only thread creation
+//  argument for the host system
+//  lldb::thread_result_t   The type that gets returned when a thread finishes
 //  lldb::thread_func_t The function prototype used to spawn a thread on 
the
-//  host system.
-//  #define LLDB_INVALID_PROCESS_ID ...
-//  #define LLDB_INVALID_THREAD_ID ...
-//  #define LLDB_INVALID_HOST_THREAD ...
+//  host system.
+//  lldb::pipe_tThe type representing a pipe on the host
+//
+// Additionally, lldb defines a few macros based on these definitions:
+//  LLDB_INVALID_PROCESS  The value of an invalid lldb::process_t
+//  LLDB_INVALID_HOST_THREAD  The value of an invalid lldb::thread_t
+//  LLDB_INVALID_PIPE The value of an invalid lldb::pipe_t
 
-// TODO: Add a bunch of ifdefs to determine the host system and what
-// things should be defined. Currently MacOSX is being assumed by default since
-// that is what lldb was first developed for.
+namespace lldb {
 
 #ifdef _WIN32
 
 #include 
-
-namespace lldb {
 typedef void *rwlock_t;
-typedef void *process_t; // Process type is HANDLE
-typedef void *thread_t;  // Host thread type
-typedef void *file_t;// Host file type
-typedef unsigned int __w64 socket_t; // Host socket type
+typedef void *process_t;  // Process type is HANDLE
+typedef void *thread_t;   // Host thread type
+typedef void *file_t; // Host file type
+typedef unsigned int __w64 socket_t;  // Host socket type
 typedef void *thread_arg_t;   // Host thread argument type
 typedef unsigned thread_result_t; // Host thread result type
 typedef thread_result_t (*thread_func_t)(void *); // Host thread function type
 typedef void *pipe_t; // Host pipe type is HANDLE
-} // namespace lldb
 
 #else
 
 #include 
-
-namespace lldb {
-// MacOSX Types
 typedef pthread_rwlock_t rwlock_t;
-typedef uint64_t process_t; // Process type is just a pid.
-typedef pthread_t thread_t; // Host thread type
-typedef int file_t; // Host file type
-typedef int socket_t;   // Host socket type
+typedef uint64_t process_t; // Process type is just a pid.
+typedef pthread_t thread_t; // Host thread type
+typedef int file_t; // Host file type
+typedef int socket_t;   // Host socket type
 typedef void *thread_arg_t; // Host thread argument type
 typedef void *thread_result_t;  // Host thread result type
 typedef void *(*thread_func_t)(void *); // Host thread function type
 typedef int pipe_t; // Host pipe type
-} // namespace lldb
 
-#endif
+#endif // _WIN32
+
+#define LLDB_INVALID_PROCESS ((lldb::process_t)-1)
+#define LLDB_INVALID_HOST_THREAD ((lldb::thread_t)NULL)
+#define LLDB_INVALID_PIPE ((lldb::pipe_t)-1)
 
-namespace lldb {
 typedef void (*LogOutputCallback)(const char *, void *baton);
 typedef bool (*CommandOverrideCallback)(void *baton, const char **argv);
 typedef bool (*CommandOverrideCallbackWithResult)(
 void *baton, const char **argv, 

[Lldb-commits] [lldb] 0016f47 - [lldb] Remove errant call to SBReproducer.SetWorkingDirectory

2023-03-24 Thread Jonas Devlieghere via lldb-commits

Author: Jonas Devlieghere
Date: 2023-03-24T17:32:58-07:00
New Revision: 0016f476ab1f9013d336491924495ec01f43a045

URL: 
https://github.com/llvm/llvm-project/commit/0016f476ab1f9013d336491924495ec01f43a045
DIFF: 
https://github.com/llvm/llvm-project/commit/0016f476ab1f9013d336491924495ec01f43a045.diff

LOG: [lldb] Remove errant call to SBReproducer.SetWorkingDirectory

The old reproducer functionality has been removed. Remove this call as
it's now just a NO-OP.

Added: 


Modified: 
lldb/packages/Python/lldbsuite/test/lldbtest.py

Removed: 




diff  --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py 
b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index e2c076132fc63..31539f6a768bd 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -560,7 +560,6 @@ def setUpClass(cls):
 if traceAlways:
 print("Change dir to:", full_dir, file=sys.stderr)
 os.chdir(full_dir)
-lldb.SBReproducer.SetWorkingDirectory(full_dir)
 
 # Set platform context.
 cls.platformContext = lldbplatformutil.createPlatformContext()



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


[Lldb-commits] [PATCH] D146783: [lldb] Add ability to hide the root name of a value

2023-03-24 Thread Jorge Gorbe Moya via Phabricator via lldb-commits
jgorbe added a comment.

I just noticed a minor aesthetic problem with the input of `dwim-print` when 
using data formatters. There are some spacing adjustments in this commit but 
I'm not sure if they are the actual cause (please let me know if you'd prefer 
me to file a bug instead).

You can reproduce it by defining some random struct `X` and using `settings set 
auto-one-line-summaries false` like you did in the test case for this commit.

If you add a summary string:

  type summary add -s "my summary" -e "X"

then the output of dwim-print without persistent results has the wrong spacing:

  (lldb) dwim-print my_x
  (X)  my summary{
value = 0
  }

(note there are two spaces before "my summary" and no space before the opening 
brace).

Using `expr` or `dwim-print --persistent-result on --` doesn't have this 
problem:

  (lldb) dwim-print --persistent-result on -- my_x
  (X) $2 = my summary {
value = 0
  }


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146783/new/

https://reviews.llvm.org/D146783

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


[Lldb-commits] [lldb] d0acc6f - [lldb][NFC] Remove outdated TODOs from API headers

2023-03-24 Thread Alex Langford via lldb-commits

Author: Alex Langford
Date: 2023-03-24T15:50:57-07:00
New Revision: d0acc6f8c285a47eadc703385861c570f8a84978

URL: 
https://github.com/llvm/llvm-project/commit/d0acc6f8c285a47eadc703385861c570f8a84978
DIFF: 
https://github.com/llvm/llvm-project/commit/d0acc6f8c285a47eadc703385861c570f8a84978.diff

LOG: [lldb][NFC] Remove outdated TODOs from API headers

There were added when I removed the swig interface files in
662548c82683bd8657a3179afee693c4965a3dfd. However, they mostly meant for
me to better track the differences between the existing API headers and
bindings interfaces. There's nothing actionable about these so I remove
them.

Added: 


Modified: 
lldb/include/lldb/API/SBListener.h
lldb/include/lldb/API/SBProcess.h

Removed: 




diff  --git a/lldb/include/lldb/API/SBListener.h 
b/lldb/include/lldb/API/SBListener.h
index fe631bb86defd..eaa8b59d0c49b 100644
--- a/lldb/include/lldb/API/SBListener.h
+++ b/lldb/include/lldb/API/SBListener.h
@@ -37,7 +37,6 @@ class LLDB_API SBListener {
const char *broadcaster_class,
uint32_t event_mask);
 
-  // TODO: This returns uint32_t in the interface files. :/
   bool StopListeningForEventClass(SBDebugger ,
   const char *broadcaster_class,
   uint32_t event_mask);

diff  --git a/lldb/include/lldb/API/SBProcess.h 
b/lldb/include/lldb/API/SBProcess.h
index be0048763a25d..b7eb2036dbe47 100644
--- a/lldb/include/lldb/API/SBProcess.h
+++ b/lldb/include/lldb/API/SBProcess.h
@@ -115,7 +115,6 @@ class LLDB_API SBProcess {
   // Queue related functions
   uint32_t GetNumQueues();
 
-  // TODO: This technically takes a uint32_t in the interface file.
   lldb::SBQueue GetQueueAtIndex(size_t index);
 
   // Stepping related functions



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


[Lldb-commits] [PATCH] D146783: [lldb] Add ability to hide the root name of a value

2023-03-24 Thread Dave Lee via Phabricator via lldb-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rG23349d83a98f: [lldb] Add ability to hide the root name of a 
value (authored by kastiglione).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146783/new/

https://reviews.llvm.org/D146783

Files:
  lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
  lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
  lldb/source/Commands/CommandObjectDWIMPrint.cpp
  lldb/source/Commands/CommandObjectExpression.cpp
  lldb/source/DataFormatters/DumpValueObjectOptions.cpp
  lldb/source/DataFormatters/ValueObjectPrinter.cpp
  lldb/test/API/commands/dwim-print/TestDWIMPrint.py
  lldb/test/API/commands/dwim-print/main.c

Index: lldb/test/API/commands/dwim-print/main.c
===
--- lldb/test/API/commands/dwim-print/main.c
+++ lldb/test/API/commands/dwim-print/main.c
@@ -1,3 +1,10 @@
+struct Structure {
+  int number;
+};
+
 int main(int argc, char **argv) {
+  struct Structure s;
+  s.number = 30;
+  // break here
   return 0;
 }
Index: lldb/test/API/commands/dwim-print/TestDWIMPrint.py
===
--- lldb/test/API/commands/dwim-print/TestDWIMPrint.py
+++ lldb/test/API/commands/dwim-print/TestDWIMPrint.py
@@ -114,3 +114,11 @@
 error_msg = "error: 'dwim-print' takes a variable or expression"
 self.expect(f"dwim-print", error=True, startstr=error_msg)
 self.expect(f"dwim-print -- ", error=True, startstr=error_msg)
+
+def test_nested_values(self):
+"""Test dwim-print with nested values (structs, etc)."""
+self.build()
+lldbutil.run_to_source_breakpoint(self, "// break here", lldb.SBFileSpec("main.c"))
+self.runCmd("settings set auto-one-line-summaries false")
+self._expect_cmd(f"dwim-print s", "frame variable")
+self._expect_cmd(f"dwim-print (struct Structure)s", "expression")
Index: lldb/source/DataFormatters/ValueObjectPrinter.cpp
===
--- lldb/source/DataFormatters/ValueObjectPrinter.cpp
+++ lldb/source/DataFormatters/ValueObjectPrinter.cpp
@@ -275,7 +275,7 @@
 
   StreamString varName;
 
-  if (!m_options.m_hide_name) {
+  if (ShouldShowName()) {
 if (m_options.m_flat_output)
   m_valobj->GetExpressionPath(varName);
 else
@@ -314,7 +314,7 @@
   m_stream->Printf("(%s) ", typeName.GetData());
 if (!varName.Empty())
   m_stream->Printf("%s =", varName.GetData());
-else if (!m_options.m_hide_name)
+else if (ShouldShowName())
   m_stream->Printf(" =");
   }
 }
@@ -437,7 +437,7 @@
 if (m_options.m_hide_pointer_value &&
 IsPointerValue(m_valobj->GetCompilerType())) {
 } else {
-  if (!m_options.m_hide_name)
+  if (ShouldShowName())
 m_stream->PutChar(' ');
   m_stream->PutCString(m_value);
   value_printed = true;
@@ -459,7 +459,7 @@
 // let's avoid the overly verbose no description error for a nil thing
 if (m_options.m_use_objc && !IsNil() && !IsUninitialized() &&
 (!m_options.m_pointer_as_array)) {
-  if (!m_options.m_hide_value || !m_options.m_hide_name)
+  if (!m_options.m_hide_value || ShouldShowName())
 m_stream->Printf(" ");
   const char *object_desc = nullptr;
   if (value_printed || summary_printed)
@@ -565,8 +565,14 @@
 if (ShouldPrintValueObject())
   m_stream->EOL();
   } else {
-if (ShouldPrintValueObject())
-  m_stream->PutCString(IsRef() ? ": {\n" : " {\n");
+if (ShouldPrintValueObject()) {
+  if (IsRef()) {
+m_stream->PutCString(": ");
+  } else if (ShouldShowName()) {
+m_stream->PutChar(' ');
+  }
+  m_stream->PutCString("{\n");
+}
 m_stream->IndentMore();
   }
 }
@@ -819,3 +825,9 @@
 bool ValueObjectPrinter::HasReachedMaximumDepth() {
   return m_curr_depth >= m_options.m_max_depth;
 }
+
+bool ValueObjectPrinter::ShouldShowName() const {
+  if (m_curr_depth == 0)
+return !m_options.m_hide_root_name && !m_options.m_hide_name;
+  return !m_options.m_hide_name;
+}
Index: lldb/source/DataFormatters/DumpValueObjectOptions.cpp
===
--- lldb/source/DataFormatters/DumpValueObjectOptions.cpp
+++ lldb/source/DataFormatters/DumpValueObjectOptions.cpp
@@ -19,10 +19,10 @@
   m_decl_printing_helper(), m_pointer_as_array(), m_use_synthetic(true),
   m_scope_already_checked(false), m_flat_output(false), m_ignore_cap(false),
   m_show_types(false), m_show_location(false), m_use_objc(false),
-  m_hide_root_type(false), m_hide_name(false), m_hide_value(false),
-  m_run_validator(false), m_use_type_display_name(true),
-  m_allow_oneliner_mode(true), m_hide_pointer_value(false),
-  m_reveal_empty_aggregates(true) {}
+  

[Lldb-commits] [lldb] 23349d8 - [lldb] Add ability to hide the root name of a value

2023-03-24 Thread Dave Lee via lldb-commits

Author: Dave Lee
Date: 2023-03-24T14:07:31-07:00
New Revision: 23349d83a98f23e67ff0321dad7c378b117ce6aa

URL: 
https://github.com/llvm/llvm-project/commit/23349d83a98f23e67ff0321dad7c378b117ce6aa
DIFF: 
https://github.com/llvm/llvm-project/commit/23349d83a98f23e67ff0321dad7c378b117ce6aa.diff

LOG: [lldb] Add ability to hide the root name of a value

When printing a value, allow the root value's name to be elided, without 
omiting the
names of child values.

At the API level, this adds `SetHideRootName()`, which joins the existing
`SetHideName()` function.

This functionality is used by `dwim-print` and `expression`.

Fixes an issue identified by @jgorbe in https://reviews.llvm.org/D145609.

Differential Revision: https://reviews.llvm.org/D146783

Added: 


Modified: 
lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
lldb/source/Commands/CommandObjectDWIMPrint.cpp
lldb/source/Commands/CommandObjectExpression.cpp
lldb/source/DataFormatters/DumpValueObjectOptions.cpp
lldb/source/DataFormatters/ValueObjectPrinter.cpp
lldb/test/API/commands/dwim-print/TestDWIMPrint.py
lldb/test/API/commands/dwim-print/main.c

Removed: 




diff  --git a/lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h 
b/lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
index c6306c7dab60b..dedb64521adc1 100644
--- a/lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
+++ b/lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
@@ -102,6 +102,8 @@ class DumpValueObjectOptions {
 
   DumpValueObjectOptions (bool hide_root_type = false);
 
+  DumpValueObjectOptions (bool hide_root_name);
+
   DumpValueObjectOptions (bool hide_name = false);
 
   DumpValueObjectOptions (bool hide_value = false);
@@ -143,6 +145,7 @@ class DumpValueObjectOptions {
   bool m_show_location : 1;
   bool m_use_objc : 1;
   bool m_hide_root_type : 1;
+  bool m_hide_root_name : 1;
   bool m_hide_name : 1;
   bool m_hide_value : 1;
   bool m_run_validator : 1;

diff  --git a/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h 
b/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
index 90e54021a71f7..e1a4b8e12e59c 100644
--- a/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
+++ b/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
@@ -120,6 +120,8 @@ class ValueObjectPrinter {
   bool HasReachedMaximumDepth();
 
 private:
+  bool ShouldShowName() const;
+
   ValueObject *m_orig_valobj;
   ValueObject *m_valobj;
   Stream *m_stream;

diff  --git a/lldb/source/Commands/CommandObjectDWIMPrint.cpp 
b/lldb/source/Commands/CommandObjectDWIMPrint.cpp
index ed816195350e9..0b5dde9ccaa67 100644
--- a/lldb/source/Commands/CommandObjectDWIMPrint.cpp
+++ b/lldb/source/Commands/CommandObjectDWIMPrint.cpp
@@ -88,7 +88,7 @@ bool CommandObjectDWIMPrint::DoExecute(StringRef command,
 
   DumpValueObjectOptions dump_options = m_varobj_options.GetAsDumpOptions(
   m_expr_options.m_verbosity, m_format_options.GetFormat());
-  dump_options.SetHideName(eval_options.GetSuppressPersistentResult());
+  dump_options.SetHideRootName(eval_options.GetSuppressPersistentResult());
 
   // First, try `expr` as the name of a frame variable.
   if (StackFrame *frame = m_exe_ctx.GetFramePtr()) {

diff  --git a/lldb/source/Commands/CommandObjectExpression.cpp 
b/lldb/source/Commands/CommandObjectExpression.cpp
index 2658677085a24..5d68f662a771f 100644
--- a/lldb/source/Commands/CommandObjectExpression.cpp
+++ b/lldb/source/Commands/CommandObjectExpression.cpp
@@ -456,7 +456,7 @@ bool 
CommandObjectExpression::EvaluateExpression(llvm::StringRef expr,
 
 DumpValueObjectOptions options(m_varobj_options.GetAsDumpOptions(
 m_command_options.m_verbosity, format));
-options.SetHideName(eval_options.GetSuppressPersistentResult());
+options.SetHideRootName(eval_options.GetSuppressPersistentResult());
 options.SetVariableFormatDisplayLanguage(
 result_valobj_sp->GetPreferredDisplayLanguage());
 

diff  --git a/lldb/source/DataFormatters/DumpValueObjectOptions.cpp 
b/lldb/source/DataFormatters/DumpValueObjectOptions.cpp
index 38de4428bb235..3fbff86a14172 100644
--- a/lldb/source/DataFormatters/DumpValueObjectOptions.cpp
+++ b/lldb/source/DataFormatters/DumpValueObjectOptions.cpp
@@ -19,10 +19,10 @@ DumpValueObjectOptions::DumpValueObjectOptions()
   m_decl_printing_helper(), m_pointer_as_array(), m_use_synthetic(true),
   m_scope_already_checked(false), m_flat_output(false), 
m_ignore_cap(false),
   m_show_types(false), m_show_location(false), m_use_objc(false),
-  m_hide_root_type(false), m_hide_name(false), m_hide_value(false),
-  m_run_validator(false), m_use_type_display_name(true),
-  m_allow_oneliner_mode(true), m_hide_pointer_value(false),
-  m_reveal_empty_aggregates(true) {}
+  m_hide_root_type(false), 

[Lldb-commits] [PATCH] D144240: Clear read_fd_set if EINTR received

2023-03-24 Thread Emre Kultursay via Phabricator via lldb-commits
emrekultursay added a comment.

Sure, you are right that it should be pulled back into release/16.x, and I 
expect it to apply cleanly. However, I don't know what mechanism should bve 
used to create cherry-pick changes into release branches on GitHub: (1) this 
was not a GitHub issue/PR, so I guess I cannot use that mechanism; (2) I can 
run `git cherry-pick` myself, and then run `arc diff` to create a new 
Phabricator review (with a new D number?) but I don't know if that's the right 
way, (3) maybe there's some special "arc" commands to create a cherry-pick? (4) 
any other way?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144240/new/

https://reviews.llvm.org/D144240

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


[Lldb-commits] [lldb] 44650a9 - [lldb] Add header REPL.h to lldb_Expression

2023-03-24 Thread Alex Langford via lldb-commits

Author: Alex Langford
Date: 2023-03-24T12:42:50-07:00
New Revision: 44650a96a58b1233ed8e192232da05f6f74c6d5d

URL: 
https://github.com/llvm/llvm-project/commit/44650a96a58b1233ed8e192232da05f6f74c6d5d
DIFF: 
https://github.com/llvm/llvm-project/commit/44650a96a58b1233ed8e192232da05f6f74c6d5d.diff

LOG: [lldb] Add header REPL.h to lldb_Expression

As of c5bfa3dafb3e7ccc871734a96b7a9188868d925a, REPL.h no longer has a
private implementation header in it. This TODO and the thing it marks
cdan be removed.

Added: 


Modified: 
lldb/include/lldb/module.modulemap

Removed: 




diff  --git a/lldb/include/lldb/module.modulemap 
b/lldb/include/lldb/module.modulemap
index c06e026076f49..3e5a903dc1c6c 100644
--- a/lldb/include/lldb/module.modulemap
+++ b/lldb/include/lldb/module.modulemap
@@ -97,8 +97,6 @@ module lldb_Wrapper {
 
 umbrella "Expression"
 module * { export * }
-// TODO: This file includes a non-public header.
-exclude header "Expression/REPL.h"
   }
 
   module lldb_Interpreter {



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


[Lldb-commits] [lldb] 0999996 - Don't expect what newlines look like - never works on Windows.

2023-03-24 Thread Jim Ingham via lldb-commits

Author: Jim Ingham
Date: 2023-03-24T12:28:16-07:00
New Revision: 096f68186183eaf065e4a05a3e73170a19ae

URL: 
https://github.com/llvm/llvm-project/commit/096f68186183eaf065e4a05a3e73170a19ae
DIFF: 
https://github.com/llvm/llvm-project/commit/096f68186183eaf065e4a05a3e73170a19ae.diff

LOG: Don't expect what newlines look like - never works on Windows.

Added: 


Modified: 
lldb/test/API/commands/command/backticks/TestBackticksInAlias.py

Removed: 




diff  --git a/lldb/test/API/commands/command/backticks/TestBackticksInAlias.py 
b/lldb/test/API/commands/command/backticks/TestBackticksInAlias.py
index 4a95cff21e713..74c33c66cdd08 100644
--- a/lldb/test/API/commands/command/backticks/TestBackticksInAlias.py
+++ b/lldb/test/API/commands/command/backticks/TestBackticksInAlias.py
@@ -76,6 +76,7 @@ def test_backticks_in_raw_cmd(self):
 interp = self.dbg.GetCommandInterpreter()
 interp.HandleCommand(f"script {argc_value} - `argc`", result)
 self.assertTrue(result.Succeeded(), "Command succeeded")
-self.assertEqual("0\n", result.GetOutput(), "Substitution worked")
+fixed_output = result.GetOutput().rstrip()
+self.assertEqual("0", fixed_output, "Substitution worked")
 
 



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


[Lldb-commits] [PATCH] D146783: [lldb] Add ability to hide the root name of a value

2023-03-24 Thread Dave Lee via Phabricator via lldb-commits
kastiglione added inline comments.



Comment at: lldb/source/DataFormatters/ValueObjectPrinter.cpp:278
 
-  if (!m_options.m_hide_name) {
+  if (ShowName()) {
 if (m_options.m_flat_output)

jgorbe wrote:
> This method name reads like a command, rather than a predicate. What about 
> something like `ShouldShowName` or `ShouldPrintName`? This would also match 
> the style of other method names already in this file such as 
> `ShouldPrintValueObject`.
Good call, ShouldShowName is better.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146783/new/

https://reviews.llvm.org/D146783

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


[Lldb-commits] [PATCH] D146590: [lldb] Update some uses of Python2 API in typemaps.

2023-03-24 Thread Jorge Gorbe Moya via Phabricator via lldb-commits
jgorbe added a comment.

I found the actual reason for the crash I was talking about. This patch only 
addressed the incorrect `OverflowError`, but the crash comes from a double free 
(as @rupprecht mentioned) in the error handling logic. The error path here 

 does both `free($1);` and `SWIG_fail;`. The same goes for another error check 
a few lines below that. In the generated code, the `SWIG_fail` macro is 
expanded to `goto fail` and the `fail` label also frees the same memory buffer.

I believe (but I don't have any experience with SWIG typemaps so this is an 
educated guess) that the call to `free` in the error path comes from the 
`%typemap(freearg)` immediately after that one. So if freearg already takes 
care of it, the error handling logic in `%typemap(in)` should just call 
`SWIG_fail`. Does that sound correct?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146590/new/

https://reviews.llvm.org/D146590

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


[Lldb-commits] [PATCH] D146783: [lldb] Add ability to hide the root name of a value

2023-03-24 Thread Dave Lee via Phabricator via lldb-commits
kastiglione updated this revision to Diff 508173.
kastiglione added a comment.

Rename ShowName to ShouldShowName


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146783/new/

https://reviews.llvm.org/D146783

Files:
  lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
  lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
  lldb/source/Commands/CommandObjectDWIMPrint.cpp
  lldb/source/Commands/CommandObjectExpression.cpp
  lldb/source/DataFormatters/DumpValueObjectOptions.cpp
  lldb/source/DataFormatters/ValueObjectPrinter.cpp
  lldb/test/API/commands/dwim-print/TestDWIMPrint.py
  lldb/test/API/commands/dwim-print/main.c

Index: lldb/test/API/commands/dwim-print/main.c
===
--- lldb/test/API/commands/dwim-print/main.c
+++ lldb/test/API/commands/dwim-print/main.c
@@ -1,3 +1,10 @@
+struct Structure {
+  int number;
+};
+
 int main(int argc, char **argv) {
+  struct Structure s;
+  s.number = 30;
+  // break here
   return 0;
 }
Index: lldb/test/API/commands/dwim-print/TestDWIMPrint.py
===
--- lldb/test/API/commands/dwim-print/TestDWIMPrint.py
+++ lldb/test/API/commands/dwim-print/TestDWIMPrint.py
@@ -114,3 +114,11 @@
 error_msg = "error: 'dwim-print' takes a variable or expression"
 self.expect(f"dwim-print", error=True, startstr=error_msg)
 self.expect(f"dwim-print -- ", error=True, startstr=error_msg)
+
+def test_nested_values(self):
+"""Test dwim-print with nested values (structs, etc)."""
+self.build()
+lldbutil.run_to_source_breakpoint(self, "// break here", lldb.SBFileSpec("main.c"))
+self.runCmd("settings set auto-one-line-summaries false")
+self._expect_cmd(f"dwim-print s", "frame variable")
+self._expect_cmd(f"dwim-print (struct Structure)s", "expression")
Index: lldb/source/DataFormatters/ValueObjectPrinter.cpp
===
--- lldb/source/DataFormatters/ValueObjectPrinter.cpp
+++ lldb/source/DataFormatters/ValueObjectPrinter.cpp
@@ -275,7 +275,7 @@
 
   StreamString varName;
 
-  if (!m_options.m_hide_name) {
+  if (ShouldShowName()) {
 if (m_options.m_flat_output)
   m_valobj->GetExpressionPath(varName);
 else
@@ -314,7 +314,7 @@
   m_stream->Printf("(%s) ", typeName.GetData());
 if (!varName.Empty())
   m_stream->Printf("%s =", varName.GetData());
-else if (!m_options.m_hide_name)
+else if (ShouldShowName())
   m_stream->Printf(" =");
   }
 }
@@ -437,7 +437,7 @@
 if (m_options.m_hide_pointer_value &&
 IsPointerValue(m_valobj->GetCompilerType())) {
 } else {
-  if (!m_options.m_hide_name)
+  if (ShouldShowName())
 m_stream->PutChar(' ');
   m_stream->PutCString(m_value);
   value_printed = true;
@@ -459,7 +459,7 @@
 // let's avoid the overly verbose no description error for a nil thing
 if (m_options.m_use_objc && !IsNil() && !IsUninitialized() &&
 (!m_options.m_pointer_as_array)) {
-  if (!m_options.m_hide_value || !m_options.m_hide_name)
+  if (!m_options.m_hide_value || ShouldShowName())
 m_stream->Printf(" ");
   const char *object_desc = nullptr;
   if (value_printed || summary_printed)
@@ -565,8 +565,14 @@
 if (ShouldPrintValueObject())
   m_stream->EOL();
   } else {
-if (ShouldPrintValueObject())
-  m_stream->PutCString(IsRef() ? ": {\n" : " {\n");
+if (ShouldPrintValueObject()) {
+  if (IsRef()) {
+m_stream->PutCString(": ");
+  } else if (ShouldShowName()) {
+m_stream->PutChar(' ');
+  }
+  m_stream->PutCString("{\n");
+}
 m_stream->IndentMore();
   }
 }
@@ -819,3 +825,9 @@
 bool ValueObjectPrinter::HasReachedMaximumDepth() {
   return m_curr_depth >= m_options.m_max_depth;
 }
+
+bool ValueObjectPrinter::ShouldShowName() const {
+  if (m_curr_depth == 0)
+return !m_options.m_hide_root_name && !m_options.m_hide_name;
+  return !m_options.m_hide_name;
+}
Index: lldb/source/DataFormatters/DumpValueObjectOptions.cpp
===
--- lldb/source/DataFormatters/DumpValueObjectOptions.cpp
+++ lldb/source/DataFormatters/DumpValueObjectOptions.cpp
@@ -19,10 +19,10 @@
   m_decl_printing_helper(), m_pointer_as_array(), m_use_synthetic(true),
   m_scope_already_checked(false), m_flat_output(false), m_ignore_cap(false),
   m_show_types(false), m_show_location(false), m_use_objc(false),
-  m_hide_root_type(false), m_hide_name(false), m_hide_value(false),
-  m_run_validator(false), m_use_type_display_name(true),
-  m_allow_oneliner_mode(true), m_hide_pointer_value(false),
-  m_reveal_empty_aggregates(true) {}
+  m_hide_root_type(false), m_hide_root_name(false), m_hide_name(false),
+  

[Lldb-commits] [PATCH] D146783: [lldb] Add ability to hide the root name of a value

2023-03-24 Thread Jorge Gorbe Moya via Phabricator via lldb-commits
jgorbe added a comment.

I've tried building lldb with this patch applied and it fixes the problem I 
saw. Thanks for the quick fix!

I'm not very familiar with the code so I'd appreciate if someone else gives 
their LGTM too but the changes look reasonable to me (just one small nit I've 
mentioned in an inline comment).




Comment at: lldb/source/DataFormatters/ValueObjectPrinter.cpp:278
 
-  if (!m_options.m_hide_name) {
+  if (ShowName()) {
 if (m_options.m_flat_output)

This method name reads like a command, rather than a predicate. What about 
something like `ShouldShowName` or `ShouldPrintName`? This would also match the 
style of other method names already in this file such as 
`ShouldPrintValueObject`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146783/new/

https://reviews.llvm.org/D146783

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


[Lldb-commits] [PATCH] D144240: Clear read_fd_set if EINTR received

2023-03-24 Thread Butta via Phabricator via lldb-commits
buttaface added a comment.

@emrekultursay, do you think you can get this into the release/16.x branch 
next? It fixed lldb for us 
 
on the Android Termux app .


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144240/new/

https://reviews.llvm.org/D144240

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


[Lldb-commits] [lldb] e7654a7 - [lldb] Explicitly mark PlatformFreeBSD's dependency on PlatformPOSIX

2023-03-24 Thread Alex Langford via lldb-commits

Author: Alex Langford
Date: 2023-03-24T10:55:36-07:00
New Revision: e7654a7692c4f894eec136af07fe6756bef315fc

URL: 
https://github.com/llvm/llvm-project/commit/e7654a7692c4f894eec136af07fe6756bef315fc
DIFF: 
https://github.com/llvm/llvm-project/commit/e7654a7692c4f894eec136af07fe6756bef315fc.diff

LOG: [lldb] Explicitly mark PlatformFreeBSD's dependency on PlatformPOSIX

I accidentally broke the FreeBSD lldb-server build in 0c5cee7 because it
now depends on PlatformFreeBSD. PlatformFreeBSD depends on PlatformPOSIX
but this dependency was not explicitly tracked in CMake. As a result,
the FreeBSD lldb-server build broke.

Credit to John F. Carr  for pointing out the issue and
providing a fix.

Added: 


Modified: 
lldb/source/Plugins/Platform/FreeBSD/CMakeLists.txt

Removed: 




diff  --git a/lldb/source/Plugins/Platform/FreeBSD/CMakeLists.txt 
b/lldb/source/Plugins/Platform/FreeBSD/CMakeLists.txt
index 8095a0b584dc3..e277a8f5c9269 100644
--- a/lldb/source/Plugins/Platform/FreeBSD/CMakeLists.txt
+++ b/lldb/source/Plugins/Platform/FreeBSD/CMakeLists.txt
@@ -7,6 +7,7 @@ add_lldb_library(lldbPluginPlatformFreeBSD PLUGIN
 lldbCore
 lldbHost
 lldbTarget
+lldbPluginPlatformPOSIX
 
   LINK_COMPONENTS
 TargetParser



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


[Lldb-commits] [PATCH] D146779: Fix handling of backticks in CommandObjectParsed commands

2023-03-24 Thread Jim Ingham via Phabricator via lldb-commits
jingham added a comment.

I fixed those two nits on submission.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146779/new/

https://reviews.llvm.org/D146779

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


[Lldb-commits] [lldb] 75ca15f - Fix backtick handling in parsed commands.

2023-03-24 Thread Jim Ingham via lldb-commits

Author: Jim Ingham
Date: 2023-03-24T10:40:10-07:00
New Revision: 75ca15fcbb2e1b3671e41f971a000c6d59f5e5ae

URL: 
https://github.com/llvm/llvm-project/commit/75ca15fcbb2e1b3671e41f971a000c6d59f5e5ae
DIFF: 
https://github.com/llvm/llvm-project/commit/75ca15fcbb2e1b3671e41f971a000c6d59f5e5ae.diff

LOG: Fix backtick handling in parsed commands.

https://reviews.llvm.org/D146779

Added: 


Modified: 
lldb/include/lldb/Interpreter/CommandInterpreter.h
lldb/source/Interpreter/CommandInterpreter.cpp
lldb/source/Interpreter/CommandObject.cpp
lldb/test/API/commands/command/backticks/TestBackticksInAlias.py

Removed: 




diff  --git a/lldb/include/lldb/Interpreter/CommandInterpreter.h 
b/lldb/include/lldb/Interpreter/CommandInterpreter.h
index cf44412b13026..e428614fbedb1 100644
--- a/lldb/include/lldb/Interpreter/CommandInterpreter.h
+++ b/lldb/include/lldb/Interpreter/CommandInterpreter.h
@@ -637,6 +637,9 @@ class CommandInterpreter : public Broadcaster,
 
   bool IOHandlerInterrupt(IOHandler _handler) override;
 
+  Status PreprocessCommand(std::string );
+  Status PreprocessToken(std::string );
+
 protected:
   friend class Debugger;
 
@@ -671,8 +674,6 @@ class CommandInterpreter : public Broadcaster,
 
   void RestoreExecutionContext();
 
-  Status PreprocessCommand(std::string );
-
   void SourceInitFile(FileSpec file, CommandReturnObject );
 
   // Completely resolves aliases and abbreviations, returning a pointer to the

diff  --git a/lldb/source/Interpreter/CommandInterpreter.cpp 
b/lldb/source/Interpreter/CommandInterpreter.cpp
index cf3fff23005bf..09fc8e216bc00 100644
--- a/lldb/source/Interpreter/CommandInterpreter.cpp
+++ b/lldb/source/Interpreter/CommandInterpreter.cpp
@@ -1750,112 +1750,124 @@ Status 
CommandInterpreter::PreprocessCommand(std::string ) {
 
 std::string expr_str(command, expr_content_start,
  end_backtick - expr_content_start);
+error = PreprocessToken(expr_str);
+// We always stop at the first error:
+if (error.Fail())
+  break;
 
-ExecutionContext exe_ctx(GetExecutionContext());
+command.erase(start_backtick, end_backtick - start_backtick + 1);
+command.insert(start_backtick, std::string(expr_str));
+pos = start_backtick + expr_str.size();
+  }
+  return error;
+}
 
-// Get a dummy target to allow for calculator mode while processing
-// backticks. This also helps break the infinite loop caused when target is
-// null.
-Target *exe_target = exe_ctx.GetTargetPtr();
-Target  = exe_target ? *exe_target : m_debugger.GetDummyTarget();
-
-ValueObjectSP expr_result_valobj_sp;
-
-EvaluateExpressionOptions options;
-options.SetCoerceToId(false);
-options.SetUnwindOnError(true);
-options.SetIgnoreBreakpoints(true);
-options.SetKeepInMemory(false);
-options.SetTryAllThreads(true);
-options.SetTimeout(std::nullopt);
-
-ExpressionResults expr_result =
-target.EvaluateExpression(expr_str.c_str(), exe_ctx.GetFramePtr(),
-  expr_result_valobj_sp, options);
-
-if (expr_result == eExpressionCompleted) {
-  Scalar scalar;
-  if (expr_result_valobj_sp)
-expr_result_valobj_sp =
-expr_result_valobj_sp->GetQualifiedRepresentationIfAvailable(
-expr_result_valobj_sp->GetDynamicValueType(), true);
-  if (expr_result_valobj_sp->ResolveValue(scalar)) {
-command.erase(start_backtick, end_backtick - start_backtick + 1);
-StreamString value_strm;
-const bool show_type = false;
-scalar.GetValue(_strm, show_type);
-size_t value_string_size = value_strm.GetSize();
-if (value_string_size) {
-  command.insert(start_backtick, std::string(value_strm.GetString()));
-  pos = start_backtick + value_string_size;
-  continue;
-} else {
-  error.SetErrorStringWithFormat("expression value didn't result "
- "in a scalar value for the "
- "expression '%s'",
- expr_str.c_str());
-  break;
-}
-  } else {
-error.SetErrorStringWithFormat("expression value didn't result "
-   "in a scalar value for the "
-   "expression '%s'",
-   expr_str.c_str());
-break;
-  }
+Status
+CommandInterpreter::PreprocessToken(std::string _str) {
+  Status error;
+  ExecutionContext exe_ctx(GetExecutionContext());
 
-  continue;
-}
+  // Get a dummy target to allow for calculator mode while processing
+  // backticks. This also helps break the infinite loop caused when target is
+  // null.
+  Target *exe_target = exe_ctx.GetTargetPtr();
+  Target  = exe_target ? 

[Lldb-commits] [PATCH] D145803: [clang][DebugInfo] Emit DW_AT_type of preferred name if available

2023-03-24 Thread Wolfgang Pieb via Phabricator via lldb-commits
wolfgangp added a comment.

In D145803#4219894 , @probinson wrote:

> This is pretty different from the "always desugar to the canonical type" 
> habit that has always been in place. Sony has done some downstream things to 
> try to work around that in the past. @wolfgangp will remember it better than 
> I do, but I think we make some effort to preserve the type-as-written. This 
> goes in completely the other direction.

The Sony solution does not rely on a user-specified attribute, but uniformly 
preserves all typedefs, though only in template argument types. Similar to this 
solution, it adds a second type to keep track of the preferred type, though it 
does so in the TemplateArgument structure as a separate QualType. A client can 
then either print the preferred type or the canonical type, depending on a 
printing policy, which is controlled by an option. This leads to a similar 
result in the resulting DWARF, i.e. the DW_AT_type node gets the preferred type 
string. The preferred type can also be used for diagnostic messages.




Comment at: clang/lib/CodeGen/CGDebugInfo.h:289
+  /// PreferredNameAttr attribute on \ref RD refers to. If no such
+  /// attribute exists, returns nullptr.
+  llvm::DIType *GetPreferredNameType(const CXXRecordDecl *RD,

This comment seems a bit garbled. Also, this is just a helper function, no?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D145803/new/

https://reviews.llvm.org/D145803

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


[Lldb-commits] [PATCH] D146765: [lldb/crashlog] Load inlined symbol into interactive crashlog

2023-03-24 Thread Jonas Devlieghere via Phabricator via lldb-commits
JDevlieghere added inline comments.



Comment at: lldb/examples/python/crashlog.py:1187-1192
+symbol_file = os.path.join(tmp_dir.name, module.GetUUIDString() + 
".json")
+with open(symbol_file, 'w') as f:
+f.write(json.dumps(symbol_data))
+
+ci.HandleCommand("target symbols add -s '%s' %s" %
+ (module.GetFileSpec().fullpath, symbol_file), result)

We shouldn't keep those temp files around once they've been loaded by LLDB. We 
should use a `tempfile.NamedTemporaryFile` for this with the UUID as part of 
its name pattern.



Comment at: lldb/include/lldb/API/SBModuleSpec.h:78
 
+  bool SetUUIDFromString(const char *uuid, size_t uuid_len);
+

We don't need the `uuid_len`, the string should be NULL terminated. That 
matches other `FromString` SB APIs.



Comment at: lldb/source/API/SBModuleSpec.cpp:136
+bool SBModuleSpec::SetUUIDFromString(const char *uuid, size_t uuid_len) {
+  LLDB_INSTRUMENT_VA(this, uuid, uuid_len)
+  m_opaque_up->GetUUID().SetFromStringRef(llvm::StringRef(uuid, uuid_len));

newline after LLDB_INSTRUMENT


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146765/new/

https://reviews.llvm.org/D146765

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


[Lldb-commits] [PATCH] D145803: [clang][DebugInfo] Emit DW_AT_type of preferred name if available

2023-03-24 Thread Paul Robinson via Phabricator via lldb-commits
probinson added subscribers: wolfgangp, probinson.
probinson added a comment.

This is pretty different from the "always desugar to the canonical type" habit 
that has always been in place. Sony has done some downstream things to try to 
work around that in the past. @wolfgangp will remember it better than I do, but 
I think we make some effort to preserve the type-as-written. This goes in 
completely the other direction.




Comment at: clang/test/CodeGen/preferred_name.cpp:49
+
+Foo> varFooInt;
+

This doesn't become `Foo` ?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D145803/new/

https://reviews.llvm.org/D145803

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


[Lldb-commits] [PATCH] D146058: [lldb][gnustep] Add basic test and infrastructure for GNUstep ObjC runtime

2023-03-24 Thread David Spickett via Phabricator via lldb-commits
DavidSpickett added a comment.

No issues with the patch. If you want to get it enabled on Linaro's lldb bots, 
email linaro-toolch...@lists.linaro.org and one of us will  set it up for you.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146058/new/

https://reviews.llvm.org/D146058

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