[Lldb-commits] [lldb] [lldb] Add frame recognizers for libc++ `std::invoke` (PR #105695)

2024-08-25 Thread Michael Buch via lldb-commits
@@ -305,7 +307,9 @@ def test_frame_recognizer_target_specific(self): self.expect( "frame recognizer list", -substrs=["recognizer.MyFrameRecognizer, module a.out, symbol bar"], +substrs=[ +"recognizer.MyFrameRecognizer

[Lldb-commits] [lldb] [lldb] Add frame recognizers for libc++ `std::invoke` (PR #105695)

2024-08-25 Thread Michael Buch via lldb-commits
@@ -53,10 +54,39 @@ class LibCXXFrameRecognizer : public StackFrameRecognizer { public: LibCXXFrameRecognizer() - : m_hidden_function_regex( -R"(^std::__.*::(__function.*::operator\(\)|__invoke))" -R"((\[.*\])?)"// ABI tag. -R"((

[Lldb-commits] [lldb] [lldb] Add frame recognizers for libc++ `std::invoke` (PR #105695)

2024-08-25 Thread Michael Buch via lldb-commits
@@ -0,0 +1,43 @@ +import lldb +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + + +class LibCxxStdFunctionRecognizerTestCase(TestBase): +NO_DEBUG_INFO_TESTCASE = True + +@add_test_categories(["libc++"]) +

[Lldb-commits] [lldb] [lldb] Add frame recognizers for libc++ `std::invoke` (PR #105695)

2024-08-25 Thread Michael Buch via lldb-commits
@@ -0,0 +1,43 @@ +import lldb +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + + +class LibCxxStdFunctionRecognizerTestCase(TestBase): +NO_DEBUG_INFO_TESTCASE = True + +@add_test_categories(["libc++"]) +

[Lldb-commits] [lldb] Remove redundant symbol lookups in IRExecutionUnit::FindInSymbols (PR #102835)

2024-08-26 Thread Michael Buch via lldb-commits
Michael137 wrote: > I'm not sure I understand because this will break the logic that is currently > in place. Many nuances in post-processing wouldn't be possible to implement > with a simple short-circuit. If a symbol is found in the hinted module, it > might be internal. `IRExecutionUnit::Fi

[Lldb-commits] [lldb] Add logs for SymbolFileDWARF::FindTypes (PR #106030)

2024-08-26 Thread Michael Buch via lldb-commits
@@ -2779,7 +2788,19 @@ void SymbolFileDWARF::FindTypes(const TypeQuery &query, TypeResults &results) { return !results.Done(query); // Keep iterating if we aren't done. }); - if (results.Done(query)) + auto CheckIsDoneAndLog = [&results, &query, log, type_basename, th

[Lldb-commits] [lldb] Add logs for SymbolFileDWARF::FindTypes (PR #106030)

2024-08-26 Thread Michael Buch via lldb-commits
@@ -2779,7 +2788,19 @@ void SymbolFileDWARF::FindTypes(const TypeQuery &query, TypeResults &results) { return !results.Done(query); // Keep iterating if we aren't done. }); - if (results.Done(query)) + auto CheckIsDoneAndLog = [&results, &query, log, type_basename, th

[Lldb-commits] [lldb] Add logs for SymbolFileDWARF::FindTypes (PR #106030)

2024-08-26 Thread Michael Buch via lldb-commits
https://github.com/Michael137 edited https://github.com/llvm/llvm-project/pull/106030 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] Add logs for SymbolFileDWARF::FindTypes (PR #106030)

2024-08-27 Thread Michael Buch via lldb-commits
https://github.com/Michael137 closed https://github.com/llvm/llvm-project/pull/106030 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Turn lldb_private::Status into a value type. (PR #106163)

2024-08-27 Thread Michael Buch via lldb-commits
@@ -39,8 +39,8 @@ using namespace lldb_private; Status::Status() : m_string() {} -Status::Status(ValueType err, ErrorType type) -: m_code(err), m_type(type), m_string() {} +Status::Status(ValueType err, ErrorType type, llvm::StringRef msg) Michael137 wrot

[Lldb-commits] [lldb] [lldb] Turn lldb_private::Status into a value type. (PR #106163)

2024-08-27 Thread Michael Buch via lldb-commits
@@ -51,13 +51,13 @@ Status::Status(std::error_code EC) : eErrorTypeGeneric), m_string(EC.message()) {} -Status::Status(const char *format, ...) : m_string() { - va_list args; - va_start(args, format); - SetErrorToG

[Lldb-commits] [lldb] [lldb] Turn lldb_private::Status into a value type. (PR #106163)

2024-08-27 Thread Michael Buch via lldb-commits
@@ -51,13 +51,13 @@ Status::Status(std::error_code EC) : eErrorTypeGeneric), m_string(EC.message()) {} -Status::Status(const char *format, ...) : m_string() { - va_list args; - va_start(args, format); - SetErrorToG

[Lldb-commits] [lldb] [lldb] Turn lldb_private::Status into a value type. (PR #106163)

2024-08-27 Thread Michael Buch via lldb-commits
@@ -37,10 +37,10 @@ class raw_ostream; using namespace lldb; using namespace lldb_private; -Status::Status() : m_string() {} +Status::Status() {} -Status::Status(ValueType err, ErrorType type) -: m_code(err), m_type(type), m_string() {} +Status::Status(ValueType err, Err

[Lldb-commits] [lldb] [lldb] Fix test expectation in `TestFrameRecognizer.py` (PR #106281)

2024-08-27 Thread Michael Buch via lldb-commits
https://github.com/Michael137 approved this pull request. https://github.com/llvm/llvm-project/pull/106281 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] 0b1c8fd - [lldb][ClangExpressionParser] Remove duplicate construction of ExternalASTSourceWrapper

2024-08-27 Thread Michael Buch via lldb-commits
Author: Michael Buch Date: 2024-08-28T00:40:12+01:00 New Revision: 0b1c8fd162aa1be66332d57d7da68416a9acb5ef URL: https://github.com/llvm/llvm-project/commit/0b1c8fd162aa1be66332d57d7da68416a9acb5ef DIFF: https://github.com/llvm/llvm-project/commit/0b1c8fd162aa1be66332d57d7da68416a9acb5ef.diff

[Lldb-commits] [lldb] Remove redundant symbol lookups in IRExecutionUnit::FindInSymbols (PR #102835)

2024-08-28 Thread Michael Buch via lldb-commits
Michael137 wrote: > > > What happens if we stop preferring the external symbols over internal > > > ones in IRExecutionUnit::FindInSymbols? What tests break? > > > > > > It looks like there are no failing tests. > > We should always prefer symbols from the current module first, probably > ex

[Lldb-commits] [lldb] Remove redundant symbol lookups in IRExecutionUnit::FindInSymbols (PR #102835)

2024-08-28 Thread Michael Buch via lldb-commits
Michael137 wrote: > yes. If we can do it, find something in the local compile unit first, if > there are two symbols in the CU, then the public one, else the private. I guess here lies my hangup. What is the distinction between local and private `lldb_private::Symbol`s here? And why prefer th

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

2024-09-02 Thread Michael Buch via lldb-commits
https://github.com/Michael137 approved this pull request. Let's see what happens. We did this because these tests were failing on macOS CI, but I never fully figured out what was happening here. Will keep an eye out on the macOS bots https://github.com/llvm/llvm-project/pull/106885 ___

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

2024-09-02 Thread Michael Buch via lldb-commits
https://github.com/Michael137 edited 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] Fix some tests that fail with system libstdc++ (PR #106885)

2024-09-02 Thread Michael Buch via lldb-commits
https://github.com/Michael137 edited 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] Fix some tests that fail with system libstdc++ (PR #106885)

2024-09-02 Thread Michael Buch via lldb-commits
Michael137 wrote: We should probably skip the `USE_LIBCPP` tests in the cases where a libc++ is nowhere available. Don't think that'd be easy to do at the Makefile level, but possibly lldb-dotest? https://github.com/llvm/llvm-project/pull/106885 ___

[Lldb-commits] [lldb] [lldb] Support "dereferencing" std::optional in `frame var` (PR #107077)

2024-09-03 Thread Michael Buch via lldb-commits
https://github.com/Michael137 edited https://github.com/llvm/llvm-project/pull/107077 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Support "dereferencing" std::optional in `frame var` (PR #107077)

2024-09-03 Thread Michael Buch via lldb-commits
https://github.com/Michael137 approved this pull request. Nice, was wishing for this just yesterday https://github.com/llvm/llvm-project/pull/107077 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listin

[Lldb-commits] [lldb] [lldb] Support "dereferencing" std::optional in `frame var` (PR #107077)

2024-09-03 Thread Michael Buch via lldb-commits
@@ -79,6 +79,18 @@ def cleanup(): ], ) +self.expect_var_path("*number_engaged", value="42") +self.expect_var_path("*x", children=[ValueCheck(name="x", value="42")]) +self.expect_var_path("x->x", value="42") + +# The error mes

[Lldb-commits] [lldb] [lldb] Recurse through DW_AT_signature when looking for attributes (PR #107241)

2024-09-04 Thread Michael Buch via lldb-commits
@@ -60,44 +60,45 @@ class DWARFDebugInfoEntry { return attrs; } - dw_offset_t - GetAttributeValue(const DWARFUnit *cu, const dw_attr_t attr, -DWARFFormValue &formValue, -dw_offset_t *end_attr_offset_ptr = nullptr, -

[Lldb-commits] [lldb] [lldb] Recurse through DW_AT_signature when looking for attributes (PR #107241)

2024-09-04 Thread Michael Buch via lldb-commits
https://github.com/Michael137 edited https://github.com/llvm/llvm-project/pull/107241 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Recurse through DW_AT_signature when looking for attributes (PR #107241)

2024-09-04 Thread Michael Buch via lldb-commits
@@ -377,11 +378,6 @@ static void GetDeclContextImpl(DWARFDIE die, die = spec; continue; } -// To find the name of a type in a type unit, we must follow the signature. -if (DWARFDIE spec = die.GetReferencedDIE(DW_AT_signature)) { Michael1

[Lldb-commits] [lldb] [lldb] Recurse through DW_AT_signature when looking for attributes (PR #107241)

2024-09-04 Thread Michael Buch via lldb-commits
@@ -50,7 +50,8 @@ class ElaboratingDIEIterator m_worklist.pop_back(); // And add back any items that elaborate it. -for (dw_attr_t attr : {DW_AT_specification, DW_AT_abstract_origin}) { +for (dw_attr_t attr : + {DW_AT_specification, DW_AT_abstract_origi

[Lldb-commits] [lldb] [lldb] Recurse through DW_AT_signature when looking for attributes (PR #107241)

2024-09-04 Thread Michael Buch via lldb-commits
https://github.com/Michael137 deleted https://github.com/llvm/llvm-project/pull/107241 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Recurse through DW_AT_signature when looking for attributes (PR #107241)

2024-09-04 Thread Michael Buch via lldb-commits
@@ -50,7 +50,8 @@ class ElaboratingDIEIterator m_worklist.pop_back(); // And add back any items that elaborate it. -for (dw_attr_t attr : {DW_AT_specification, DW_AT_abstract_origin}) { +for (dw_attr_t attr : + {DW_AT_specification, DW_AT_abstract_origi

[Lldb-commits] [lldb] [lldb] Correctly reconstruct simplified names for type units (PR #107240)

2024-09-04 Thread Michael Buch via lldb-commits
https://github.com/Michael137 approved this pull request. makes sense https://github.com/llvm/llvm-project/pull/107240 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Fix a format string in ClangASTSource (PR #107325)

2024-09-04 Thread Michael Buch via lldb-commits
https://github.com/Michael137 approved this pull request. Thanks! Is this asserting cause something changed in how llvm::formatv validates the format string? Or maybe I just never hit this codepath with expression log enabled before https://github.com/llvm/llvm-project/pull/107325

[Lldb-commits] [lldb] [lldb] Recurse through DW_AT_signature when looking for attributes (PR #107241)

2024-09-05 Thread Michael Buch via lldb-commits
@@ -377,11 +378,6 @@ static void GetDeclContextImpl(DWARFDIE die, die = spec; continue; } -// To find the name of a type in a type unit, we must follow the signature. -if (DWARFDIE spec = die.GetReferencedDIE(DW_AT_signature)) { Michael1

[Lldb-commits] [lldb] [lldb] Recurse through DW_AT_signature when looking for attributes (PR #107241)

2024-09-05 Thread Michael Buch via lldb-commits
https://github.com/Michael137 approved this pull request. LGTM Wouldn't block the PR on this, but is there a way the `ElaboratingDIIterator` changes can be tested? Maybe a unit-test where we instantiate `elaborating_dies` on something that has `DW_AT_signature` and makes sure we actually iter

[Lldb-commits] [clang] [lldb] [ASTImporter][lldb] Avoid implicit imports in VisitFieldDecl (PR #107828)

2024-09-09 Thread Michael Buch via lldb-commits
Michael137 wrote: Thanks for taking a stab at this and for the analysis. You rightly point out that this is the root problem: > If an implicit import happens between (2) and (3), it may indirectly bring > the same field into the context. When (3) happens we add it again, > duplicating the f

[Lldb-commits] [clang] [lldb] [ASTImporter][lldb] Avoid implicit imports in VisitFieldDecl (PR #107828)

2024-09-10 Thread Michael Buch via lldb-commits
Michael137 wrote: > As I understand it, minimal import is used in LLDB for performance reasons, > so we don't waste time parsing and loading AST elements that we don't need. > It sounds like a fine idea in general. Implicit imports of external sources > in Clang, however, turn import process i

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-10 Thread Michael Buch via lldb-commits
@@ -274,8 +274,9 @@ void IRExecutionUnit::GetRunnableInfo(Status &error, lldb::addr_t &func_addr, builder.setEngineKind(llvm::EngineKind::JIT) .setErrorStr(&error_string) - .setRelocationModel(triple.isOSBinFormatMachO() ? llvm::Reloc::PIC_ -

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-10 Thread Michael Buch via lldb-commits
@@ -1441,6 +1443,26 @@ lldb_private::Status ClangExpressionParser::DoPrepareForExecution( custom_passes.EarlyPasses->run(*llvm_module_up); } + std::unique_ptr arch_passes(nullptr); + if (lldb::TargetSP target_sp = exe_ctx.GetTargetSP()) { +Architecture *arch = tar

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-10 Thread Michael Buch via lldb-commits
@@ -1011,6 +1011,135 @@ void RuntimeDyldELF::resolveBPFRelocation(const SectionEntry &Section, } } +static void applyUTypeImmRISCV(uint8_t *InstrAddr, uint32_t Imm) { Michael137 wrote: I'm not sure if this was discussed elsewhere in the thread, but we shou

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-10 Thread Michael Buch via lldb-commits
@@ -0,0 +1,96 @@ +""" +Test RISC-V expressions evaluation. +""" Michael137 wrote: What happens if you run the test-suite on RISC-V? I do think it's good to document what doesn't work, but the successful cases should already be tested elsewhere. So should we jus

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-10 Thread Michael Buch via lldb-commits
@@ -1441,6 +1443,26 @@ lldb_private::Status ClangExpressionParser::DoPrepareForExecution( custom_passes.EarlyPasses->run(*llvm_module_up); } + std::unique_ptr arch_passes(nullptr); Michael137 wrote: ```suggestion std::unique_ptr arch_passes; ``` ht

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

2024-09-10 Thread Michael Buch via lldb-commits
Michael137 wrote: Looks like this broke the macOS bots for one of the tests: ``` runCmd: expr std::reverse(a.begin(), a.end()) Assertion failed: (isa(Decl->TypeForDecl)), function getInjectedClassNameType, file ASTContext.cpp, line 5057. PLEASE submit a bug report to https://github.com/llvm/llv

[Lldb-commits] [lldb] [lldb][test] TestDbgInfoContentVectorFromStdModule.py: skip test on Darwin (PR #108003)

2024-09-10 Thread Michael Buch via lldb-commits
https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/108003 This started failing on the macOS CI after https://github.com/llvm/llvm-project/pull/106885: ``` lldb-api :: commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdMo

[Lldb-commits] [lldb] [lldb][test] TestDbgInfoContentVectorFromStdModule.py: skip test on Darwin (PR #108003)

2024-09-10 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108003 >From cbc5d1316b5103a109bce905976fb9d5d937b330 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Tue, 10 Sep 2024 12:20:22 +0100 Subject: [PATCH 1/2] [lldb][test] TestDbgInfoContentVectorFromStdModule.py: sk

[Lldb-commits] [lldb] [lldb][test] TestDbgInfoContentVectorFromStdModule.py: skip test on Darwin (PR #108003)

2024-09-10 Thread Michael Buch via lldb-commits
https://github.com/Michael137 closed https://github.com/llvm/llvm-project/pull/108003 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-10 Thread Michael Buch via lldb-commits
@@ -124,6 +124,9 @@ class ABISysV_riscv : public lldb_private::RegInfoBasedABI { using lldb_private::RegInfoBasedABI::RegInfoBasedABI; // Call CreateInstance // instead. bool m_is_rv64; // true if target is riscv64; fa

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-10 Thread Michael Buch via lldb-commits
@@ -164,11 +167,82 @@ TotalArgsSizeInWords(bool is_rv64, return total_size; } +static bool UpdateRegister(RegisterContext *reg_ctx, + const lldb::RegisterKind reg_kind, + const uint32_t reg_num, const addr_t value) { + Log

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-10 Thread Michael Buch via lldb-commits
@@ -471,6 +498,18 @@ static void SetupTargetOpts(CompilerInstance &compiler, // Set the target ABI if (std::string abi = GetClangTargetABI(target_arch); !abi.empty()) compiler.getTargetOpts().ABI = std::move(abi); + + if ((target_machine == llvm::Triple::riscv64 && +

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-10 Thread Michael Buch via lldb-commits
@@ -164,11 +167,82 @@ TotalArgsSizeInWords(bool is_rv64, return total_size; } +static bool UpdateRegister(RegisterContext *reg_ctx, + const lldb::RegisterKind reg_kind, + const uint32_t reg_num, const addr_t value) { + Log

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-10 Thread Michael Buch via lldb-commits
https://github.com/Michael137 edited https://github.com/llvm/llvm-project/pull/99336 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] Add test for no_unique_address when mixed with bitfields (PR #108155)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/108155 This is the root-cause for the LLDB failures that started occurring after https://github.com/llvm/llvm-project/pull/105865. The DWARFASTParserClang has logic to try derive unnamed bitfields from DWARF offse

[Lldb-commits] [lldb] [lldb][test] Add test for no_unique_address when mixed with bitfields (PR #108155)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108155 >From ab898a3e176d0366fc15f6aad4b627d6e999753d Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 11 Sep 2024 01:15:21 +0100 Subject: [PATCH 1/2] [lldb][test] Add test for no_unique_address when mixed wi

[Lldb-commits] [lldb] [lldb][test] Add test for no_unique_address when mixed with bitfields (PR #108155)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108155 >From ab898a3e176d0366fc15f6aad4b627d6e999753d Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 11 Sep 2024 01:15:21 +0100 Subject: [PATCH 1/3] [lldb][test] Add test for no_unique_address when mixed wi

[Lldb-commits] [lldb] 19f604e - [lldb][test] Add test for printing std::string through expression evaluator

2024-09-11 Thread Michael Buch via lldb-commits
Author: Michael Buch Date: 2024-09-11T08:58:03+01:00 New Revision: 19f604edfc015b35999b3b95e94f18389e4b392d URL: https://github.com/llvm/llvm-project/commit/19f604edfc015b35999b3b95e94f18389e4b392d DIFF: https://github.com/llvm/llvm-project/commit/19f604edfc015b35999b3b95e94f18389e4b392d.diff

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout (PR #108169)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/108169 Adds new layout for https://github.com/llvm/llvm-project/pull/105865 >From fd093d23400fc48b013cafceafc009fcb5f2142c Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 11 Sep 2024 09:32:13 +0100 Subject:

[Lldb-commits] [lldb] [lldb][test] Add test for no_unique_address when mixed with bitfields (PR #108155)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108155 >From ab898a3e176d0366fc15f6aad4b627d6e999753d Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 11 Sep 2024 01:15:21 +0100 Subject: [PATCH 1/4] [lldb][test] Add test for no_unique_address when mixed wi

[Lldb-commits] [lldb] [lldb][test] Add test for no_unique_address when mixed with bitfields (PR #108155)

2024-09-11 Thread Michael Buch via lldb-commits
Michael137 wrote: > > The test will fail on windows because no_unique_address is not a thing > > there: > > Seems like that we should spell it as `[[msvc::no_unique_address]]` on > Windows. Is there already such a macro in lldb/test covering this? Don't think we have coverage for the `[[msvc:

[Lldb-commits] [lldb] [lldb][test] Add test for no_unique_address when mixed with bitfields (PR #108155)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 closed https://github.com/llvm/llvm-project/pull/108155 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang][NFC] Factor out unnamed bitfield creation into helper (PR #108196)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/108196 This logic will need adjusting soon for https://github.com/llvm/llvm-project/pull/108155 This patch pulls out the logic for detecting/creating unnamed bitfields out of `ParseSingleMember` to make the latter

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout (PR #108169)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108169 >From fd093d23400fc48b013cafceafc009fcb5f2142c Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 11 Sep 2024 09:32:13 +0100 Subject: [PATCH 1/2] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: a

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout (PR #108169)

2024-09-11 Thread Michael Buch via lldb-commits
Michael137 wrote: Test currently expectedly fails on CI https://github.com/llvm/llvm-project/pull/108169 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Make sure TestDAP_subtleFrames actually uses libc++ (PR #108227)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 approved this pull request. https://github.com/llvm/llvm-project/pull/108227 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang][NFC] Factor out unnamed bitfield creation into helper (PR #108196)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108196 >From 0484639d79dc79eba39d203a35487a0cc1064caa Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 11 Sep 2024 12:15:02 +0100 Subject: [PATCH 1/3] [lldb][DWARFASTParserClang][NFC] Factor out unnamed bitfi

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang][NFC] Factor out unnamed bitfield creation into helper (PR #108196)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108196 >From 0484639d79dc79eba39d203a35487a0cc1064caa Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 11 Sep 2024 12:15:02 +0100 Subject: [PATCH 1/5] [lldb][DWARFASTParserClang][NFC] Factor out unnamed bitfi

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang][NFC] Factor out unnamed bitfield creation into helper (PR #108196)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108196 >From 0484639d79dc79eba39d203a35487a0cc1064caa Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 11 Sep 2024 12:15:02 +0100 Subject: [PATCH 1/6] [lldb][DWARFASTParserClang][NFC] Factor out unnamed bitfi

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang][NFC] Factor out unnamed bitfield creation into helper (PR #108196)

2024-09-11 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108196 >From 0484639d79dc79eba39d203a35487a0cc1064caa Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 11 Sep 2024 12:15:02 +0100 Subject: [PATCH 1/7] [lldb][DWARFASTParserClang][NFC] Factor out unnamed bitfi

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang][NFC] Factor out unnamed bitfield creation into helper (PR #108196)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 closed https://github.com/llvm/llvm-project/pull/108196 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/108343 This bug surfaced after https://github.com/llvm/llvm-project/pull/105865 (currently reverted, but blocked on this to be relanded). Because Clang doesn't emit `DW_TAG_member`s for unnamed bitfields, LLDB has

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
Michael137 wrote: This logic is getting very finicky, so I wouldn't be surprised if there are cases not covered by this. Will have a think https://github.com/llvm/llvm-project/pull/108343 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108343 >From 51bca430ecb8be09ccacef5e616ea4ed9d85ab30 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Thu, 12 Sep 2024 09:07:16 +0100 Subject: [PATCH 1/2] [lldb][DWARFASTParserClang] Prevent unnamed bitfield crea

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 edited https://github.com/llvm/llvm-project/pull/108343 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: fix padding for current layout (PR #108362)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/108362 IIUC, the history of `std::string`'s `__short` structure in the alternate ABI layout (as recorded by the simulator test) looks as follows: * First layout ( `SUBCLASS_PADDING` is defined): ``` struct __sh

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: fix padding for current layout (PR #108362)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 edited https://github.com/llvm/llvm-project/pull/108362 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: fix padding for current layout (PR #108362)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108362 >From 8b999e3330f4b414d3ffe56c500d407cbde57be0 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Thu, 12 Sep 2024 11:05:27 +0100 Subject: [PATCH 1/2] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: f

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: fix padding for current layout (PR #108362)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 edited https://github.com/llvm/llvm-project/pull/108362 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout (PR #108169)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 closed https://github.com/llvm/llvm-project/pull/108169 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout (PR #108375)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/108375 Depends on https://github.com/llvm/llvm-project/pull/108362 and https://github.com/llvm/llvm-project/pull/108343. Adds new layout for https://github.com/llvm/llvm-project/pull/105865. >From cac4ea7d5f3b4d3b

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108343 >From 51bca430ecb8be09ccacef5e616ea4ed9d85ab30 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Thu, 12 Sep 2024 09:07:16 +0100 Subject: [PATCH 1/3] [lldb][DWARFASTParserClang] Prevent unnamed bitfield crea

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108343 >From 51bca430ecb8be09ccacef5e616ea4ed9d85ab30 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Thu, 12 Sep 2024 09:07:16 +0100 Subject: [PATCH 1/4] [lldb][DWARFASTParserClang] Prevent unnamed bitfield crea

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108343 >From 51bca430ecb8be09ccacef5e616ea4ed9d85ab30 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Thu, 12 Sep 2024 09:07:16 +0100 Subject: [PATCH 1/5] [lldb][DWARFASTParserClang] Prevent unnamed bitfield crea

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108343 >From 51bca430ecb8be09ccacef5e616ea4ed9d85ab30 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Thu, 12 Sep 2024 09:07:16 +0100 Subject: [PATCH 1/6] [lldb][DWARFASTParserClang] Prevent unnamed bitfield crea

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
Michael137 wrote: > Once we're in heuristic territory I think we can only get a hold of this > problem with lots of tests. Added more test in the latest iteration (the ones marked FIXME were still misbehaving on top-of-tree, although in other ways...but we still asserted in the expression eva

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 closed https://github.com/llvm/llvm-project/pull/108343 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout (PR #108375)

2024-09-12 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108375 >From 5b38bd48254d552dca2eb51d7270b01734494d90 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Thu, 12 Sep 2024 11:05:27 +0100 Subject: [PATCH 1/3] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: f

[Lldb-commits] [lldb] [lldb][DWARFASTParserClang] Prevent unnamed bitfield creation in the presence of overlapping fields (PR #108343)

2024-09-12 Thread Michael Buch via lldb-commits
Michael137 wrote: > I've fixed the warning with 5d17293caaf0f62ea94fecc137b9b6f07c659dac. > > Thanks! https://github.com/llvm/llvm-project/pull/108343 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/l

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: fix padding for current layout (PR #108362)

2024-09-13 Thread Michael Buch via lldb-commits
https://github.com/Michael137 closed https://github.com/llvm/llvm-project/pull/108362 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout (PR #108375)

2024-09-13 Thread Michael Buch via lldb-commits
@@ -77,7 +89,12 @@ template class basic_string { }; #else // !SUBCLASS_PADDING +#ifdef UB_PADDING unsigned char __padding[sizeof(value_type) - 1]; Michael137 wrote: Good point! I'll rename it to `NON_STANDARD_PADDING` https://github.com/llvm/llvm-

[Lldb-commits] [lldb] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new padding layout (PR #108375)

2024-09-13 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/108375 >From 7932edadf5726b2c73911d1316112af36ab7f044 Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Thu, 12 Sep 2024 12:55:17 +0100 Subject: [PATCH 1/2] [lldb][test] TestDataFormatterLibcxxStringSimulator.py: a

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-13 Thread Michael Buch via lldb-commits
@@ -471,6 +498,18 @@ static void SetupTargetOpts(CompilerInstance &compiler, // Set the target ABI if (std::string abi = GetClangTargetABI(target_arch); !abi.empty()) compiler.getTargetOpts().ABI = std::move(abi); + + if ((target_machine == llvm::Triple::riscv64 && +

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-13 Thread Michael Buch via lldb-commits
https://github.com/Michael137 commented: Expression parser side of things LGTM (apart from the redundant tests and the RuntimeDyld changes being in this patch). I'll let the others comment on the RISCV plugin changes. https://github.com/llvm/llvm-project/pull/99336

[Lldb-commits] [lldb] [lldb][test] Remove benchmark API tests (PR #108629)

2024-09-13 Thread Michael Buch via lldb-commits
https://github.com/Michael137 created https://github.com/llvm/llvm-project/pull/108629 These benchmarks don't get run as part of the regular API test-suite. And I'm not aware of any CI running this. Also, I haven't quite managed to actually run them locally using the `bench.py` script. It look

[Lldb-commits] [lldb] [lldb] Support new libc++ __compressed_pair layout (PR #96538)

2024-09-15 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/96538 >From 16ae2c3c04d908807d78224a8fee34f772a337fa Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Mon, 29 Jan 2024 16:23:16 + Subject: [PATCH 1/4] [lldb] Support new libc++ __compressed_pair layout --- ll

[Lldb-commits] [lldb] [lldb][test] Add a new __compressed_pair layout to libcxx simulator tests (PR #99012)

2024-09-15 Thread Michael Buch via lldb-commits
https://github.com/Michael137 edited https://github.com/llvm/llvm-project/pull/99012 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] Add a new __compressed_pair layout to libcxx simulator tests (PR #99012)

2024-09-15 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/99012 >From e3ec030cb404c407ead39b10d5ea0baa4a0683ff Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Wed, 10 Jul 2024 15:37:45 +0100 Subject: [PATCH 1/4] [WIP][lldb][test] Add a new __compressed_pair layout to li

[Lldb-commits] [lldb] [lldb][test] Add a new __compressed_pair layout to libcxx simulator tests (PR #99012)

2024-09-15 Thread Michael Buch via lldb-commits
https://github.com/Michael137 ready_for_review https://github.com/llvm/llvm-project/pull/99012 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Support new libc++ __compressed_pair layout (PR #96538)

2024-09-16 Thread Michael Buch via lldb-commits
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/96538 >From 16ae2c3c04d908807d78224a8fee34f772a337fa Mon Sep 17 00:00:00 2001 From: Michael Buch Date: Mon, 29 Jan 2024 16:23:16 + Subject: [PATCH 1/4] [lldb] Support new libc++ __compressed_pair layout --- ll

[Lldb-commits] [lldb] [lldb] Support new libc++ __compressed_pair layout (PR #96538)

2024-09-16 Thread Michael Buch via lldb-commits
https://github.com/Michael137 closed https://github.com/llvm/llvm-project/pull/96538 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] Remove benchmark API tests (PR #108629)

2024-09-16 Thread Michael Buch via lldb-commits
https://github.com/Michael137 closed https://github.com/llvm/llvm-project/pull/108629 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [llvm] [lldb][RISCV] function calls support in lldb expressions (PR #99336)

2024-09-16 Thread Michael Buch via lldb-commits
@@ -124,6 +124,9 @@ class ABISysV_riscv : public lldb_private::RegInfoBasedABI { using lldb_private::RegInfoBasedABI::RegInfoBasedABI; // Call CreateInstance // instead. bool m_is_rv64; // true if target is riscv64; fa

[Lldb-commits] [lldb] [lldb/DWARF] Downgrade the "parent of variable is not CU" error (PR #108806)

2024-09-16 Thread Michael Buch via lldb-commits
https://github.com/Michael137 commented: Seems reasonable to make this less spammy. Though is there a reason why we're not adding them to the manual index? Is this just something we didn't implement (yet)? https://github.com/llvm/llvm-project/pull/108806 ___

<    1   2   3   4   5   6   7   8   9   10   >