Author: Michael Buch
Date: 2025-01-17T14:56:41Z
New Revision: a4d45fe8462bf7042bac2edfb87e3e41e4156ba4
URL:
https://github.com/llvm/llvm-project/commit/a4d45fe8462bf7042bac2edfb87e3e41e4156ba4
DIFF:
https://github.com/llvm/llvm-project/commit/a4d45fe8462bf7042bac2edfb87e3e41e4156ba4.diff
LOG:
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/123089
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/123089
>From 3b83db4a912d01b6f416e8873f9fbe8fb598ff0c Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Wed, 15 Jan 2025 16:58:53 +
Subject: [PATCH] [lldb][DWARFASTParserClang] Don't overwrite
DW_AT_object_poin
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/123261
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Michael137 wrote:
@labath the test `TestStaticVariables.py` was failing because with the new
iteration order `ParseVariableDIE` would overwrite a `DW_TAG_variable`s type
from `ArrayType[2]` (which is on the definition) to `ArrayType[]`. So I
adjusted it to not do that
https://github.com/llvm/
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/123261
>From 69b53a2a6290733ee90e4d75521f4c2fd6bd1401 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 16 Jan 2025 15:16:36 +
Subject: [PATCH 1/9] [lldb][DWARF] Change GetAttributes to always visit
curren
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/123261
>From 69b53a2a6290733ee90e4d75521f4c2fd6bd1401 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 16 Jan 2025 15:16:36 +
Subject: [PATCH 1/8] [lldb][DWARF] Change GetAttributes to always visit
curren
Michael137 wrote:
Hmm there's a clang-tidy test failing because this codepath gets hit for
`UserDefinedLiteral`, which is a `CallExpr` with a single argument:
```
(lldb) p E->dump()
UserDefinedLiteral 0x15402b738 'unsigned long long'
|-ImplicitCastExpr 0x15402b720 'unsigned long long (*)(unsigne
@@ -309,10 +319,10 @@ void DWARFDebugInfoEntry::GetAttributes(DWARFUnit *cu,
switch (attr) {
case DW_AT_sibling:
case DW_AT_declaration:
- if (curr_depth > 0) {
+ if (seen.size() > 1 && !is_first_die) {
Michael137 wrote:
Good point!
http
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/123261
>From 69b53a2a6290733ee90e4d75521f4c2fd6bd1401 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 16 Jan 2025 15:16:36 +
Subject: [PATCH 1/7] [lldb][DWARF] Change GetAttributes to always visit
curren
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/123261
>From 69b53a2a6290733ee90e4d75521f4c2fd6bd1401 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 16 Jan 2025 15:16:36 +
Subject: [PATCH 1/6] [lldb][DWARF] Change GetAttributes to always visit
curren
@@ -339,6 +348,39 @@ void DWARFDebugInfoEntry::GetAttributes(DWARFUnit *cu,
DWARFFormValue::SkipValue(form, data, &offset, cu);
}
}
+
+ return true;
+}
+
+DWARFAttributes DWARFDebugInfoEntry::GetAttributes(const DWARFUnit *cu,
+
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/123261
>From 69b53a2a6290733ee90e4d75521f4c2fd6bd1401 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 16 Jan 2025 15:16:36 +
Subject: [PATCH 1/5] [lldb][DWARF] Change GetAttributes to always visit
curren
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/123261
>From 69b53a2a6290733ee90e4d75521f4c2fd6bd1401 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 16 Jan 2025 15:16:36 +
Subject: [PATCH 1/4] [lldb][DWARF] Change GetAttributes to always visit
curren
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123261
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -377,7 +377,12 @@ ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(const
DWARFDIE &die) {
break;
case DW_AT_object_pointer:
- object_pointer = form_value.Reference();
+ // GetAttributes follows DW_AT_specification.
+ // DW_TAG_subprogram defini
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/123261
>From 69b53a2a6290733ee90e4d75521f4c2fd6bd1401 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 16 Jan 2025 15:16:36 +
Subject: [PATCH 1/3] [lldb][DWARF] Change GetAttributes to always visit
curren
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/123261
>From 69b53a2a6290733ee90e4d75521f4c2fd6bd1401 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 16 Jan 2025 15:16:36 +
Subject: [PATCH 1/2] [lldb][DWARF] Change GetAttributes to always visit
curren
https://github.com/Michael137 created
https://github.com/llvm/llvm-project/pull/123261
`GetAttributes` returns all attributes on a given DIE, including any attributes
that the DIE references via `DW_AT_abstract_origin` and `DW_AT_specification`.
However, if an attribute exists on both the refe
@@ -3183,10 +3183,24 @@ Expr *Expr::IgnoreUnlessSpelledInSource() {
}
return E;
};
+
+ auto IgnoreImplicitCallSingleStep = [](Expr *E) {
+if (auto *C = dyn_cast(E)) {
+ auto NumArgs = C->getNumArgs();
+ if (NumArgs == 1 ||
+ (NumArgs > 1 && isa
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/122265
>From b43ffd0c1bb6e4f1ca5b8458848f574480021b08 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 9 Jan 2025 10:01:31 +
Subject: [PATCH 1/8] [clang][DebugInfo] Expand detection of structured
bindings
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/122265
>From b43ffd0c1bb6e4f1ca5b8458848f574480021b08 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 9 Jan 2025 10:01:31 +
Subject: [PATCH 1/8] [clang][DebugInfo] Expand detection of structured
bindings
@@ -377,7 +377,12 @@ ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(const
DWARFDIE &die) {
break;
case DW_AT_object_pointer:
- object_pointer = form_value.Reference();
+ // GetAttributes follows DW_AT_specification.
+ // DW_TAG_subprogram defini
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123089
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123089
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123089
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -377,7 +377,12 @@ ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(const
DWARFDIE &die) {
break;
case DW_AT_object_pointer:
- object_pointer = form_value.Reference();
+ // GetAttributes follows DW_AT_specification.
+ // DW_TAG_subprogram defini
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123089
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -377,7 +377,12 @@ ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(const
DWARFDIE &die) {
break;
case DW_AT_object_pointer:
- object_pointer = form_value.Reference();
+ // GetAttributes follows DW_AT_specification.
+ // DW_TAG_subprogram defini
@@ -377,7 +377,12 @@ ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(const
DWARFDIE &die) {
break;
case DW_AT_object_pointer:
- object_pointer = form_value.Reference();
+ // GetAttributes follows DW_AT_specification.
+ // DW_TAG_subprogram defini
@@ -377,7 +377,12 @@ ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(const
DWARFDIE &die) {
break;
case DW_AT_object_pointer:
- object_pointer = form_value.Reference();
+ // GetAttributes follows DW_AT_specification.
+ // DW_TAG_subprogram defini
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123089
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -377,7 +377,12 @@ ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(const
DWARFDIE &die) {
break;
case DW_AT_object_pointer:
- object_pointer = form_value.Reference();
+ // GetAttributes follows DW_AT_specification.
+ // DW_TAG_subprogram defini
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123089
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -377,7 +377,12 @@ ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(const
DWARFDIE &die) {
break;
case DW_AT_object_pointer:
- object_pointer = form_value.Reference();
+ // GetAttributes follows DW_AT_specification.
+ // DW_TAG_subprogram defini
@@ -377,7 +377,12 @@ ParsedDWARFTypeAttributes::ParsedDWARFTypeAttributes(const
DWARFDIE &die) {
break;
case DW_AT_object_pointer:
- object_pointer = form_value.Reference();
+ // GetAttributes follows DW_AT_specification.
+ // DW_TAG_subprogram defini
@@ -401,12 +399,28 @@ static CompilerContext GetContextEntry(DWARFDIE die) {
return ctx(CompilerContextKind::Typedef);
case DW_TAG_base_type:
return ctx(CompilerContextKind::Builtin);
+ case DW_TAG_class_type:
+ case DW_TAG_structure_type:
+ case DW_TAG_union_type:
https://github.com/Michael137 ready_for_review
https://github.com/llvm/llvm-project/pull/123089
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 created
https://github.com/llvm/llvm-project/pull/123089
In https://github.com/llvm/llvm-project/pull/122742 we will start attaching
DW_AT_object_pointer to method declarations (in addition to definitions).
Currently when LLDB parses a `DW_TAG_subprogram` definiti
@@ -401,12 +399,28 @@ static CompilerContext GetContextEntry(DWARFDIE die) {
return ctx(CompilerContextKind::Typedef);
case DW_TAG_base_type:
return ctx(CompilerContextKind::Builtin);
+ case DW_TAG_class_type:
+ case DW_TAG_structure_type:
+ case DW_TAG_union_type:
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123054
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123054
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123054
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/123054
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -5,6 +5,13 @@ struct Outer {
struct Inner {};
};
+namespace NS {
+namespace {
+template struct Struct {};
+} // namespace
+} // namespace NS
+
int main() {
Outer::Inner oi;
+ NS::Struct ns_struct;
Michael137 wrote:
Just for test completeness, could
@@ -401,12 +399,28 @@ static CompilerContext GetContextEntry(DWARFDIE die) {
return ctx(CompilerContextKind::Typedef);
case DW_TAG_base_type:
return ctx(CompilerContextKind::Builtin);
+ case DW_TAG_class_type:
+ case DW_TAG_structure_type:
+ case DW_TAG_union_type:
@@ -376,7 +378,8 @@ lldb_private::Type *DWARFDIE::ResolveTypeUID(const DWARFDIE
&die) const {
return nullptr;
}
-static CompilerContext GetContextEntry(DWARFDIE die) {
+static CompilerContext GetContextEntry(DWARFDIE die,
+ bool complet
https://github.com/Michael137 approved this pull request.
https://github.com/llvm/llvm-project/pull/123054
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -145,12 +146,18 @@ class ExternalASTSource : public
RefCountedBase {
/// Find all declarations with the given name in the given context,
/// and add them to the context by calling SetExternalVisibleDeclsForName
/// or SetNoExternalVisibleDeclsForName.
- /// \return \
@@ -145,12 +146,18 @@ class ExternalASTSource : public
RefCountedBase {
/// Find all declarations with the given name in the given context,
/// and add them to the context by calling SetExternalVisibleDeclsForName
/// or SetNoExternalVisibleDeclsForName.
- /// \return \
@@ -145,12 +146,17 @@ class ExternalASTSource : public
RefCountedBase {
/// Find all declarations with the given name in the given context,
/// and add them to the context by calling SetExternalVisibleDeclsForName
/// or SetNoExternalVisibleDeclsForName.
+ /// \param Na
@@ -145,12 +146,17 @@ class ExternalASTSource : public
RefCountedBase {
/// Find all declarations with the given name in the given context,
/// and add them to the context by calling SetExternalVisibleDeclsForName
/// or SetNoExternalVisibleDeclsForName.
+ /// \param Na
@@ -2711,6 +2715,12 @@ class DeclContext {
bool Deserialize = false) const;
private:
+ /// Lookup all external visible declarations and the external declarations
+ /// within the same module specified by \param NamedModule. We can't
Michae
https://github.com/Michael137 commented:
LLDB API adjustments look fine. Just left some minor comments re. documentation
https://github.com/llvm/llvm-project/pull/122887
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/c
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/122887
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Michael137 wrote:
Added tests and updated PR description.
https://github.com/llvm/llvm-project/pull/122265
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/122265
>From b43ffd0c1bb6e4f1ca5b8458848f574480021b08 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 9 Jan 2025 10:01:31 +
Subject: [PATCH 1/7] [clang][DebugInfo] Expand detection of structured
bindings
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/122265
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/122265
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/122265
>From b43ffd0c1bb6e4f1ca5b8458848f574480021b08 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 9 Jan 2025 10:01:31 +
Subject: [PATCH 1/6] [clang][DebugInfo] Expand detection of structured
bindings
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/122265
>From b43ffd0c1bb6e4f1ca5b8458848f574480021b08 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 9 Jan 2025 10:01:31 +
Subject: [PATCH 1/5] [clang][DebugInfo] Expand detection of structured
bindings
Michael137 wrote:
> Did you try to modify `IgnoreUnlessSpelledInSource` to support CallExpr?
Updated to use this approach in latest commit. Seems to work well (including
the explicit object parameter case). Didn't find a great way to test this in
the clang AST unit-tests yet. Trying to underst
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/122265
>From b43ffd0c1bb6e4f1ca5b8458848f574480021b08 Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 9 Jan 2025 10:01:31 +
Subject: [PATCH 1/4] [clang][DebugInfo] Expand detection of structured
bindings
Michael137 wrote:
> > > Did you try to modify `IgnoreUnlessSpelledInSource` to support CallExpr?
> >
> >
> > Yea I was thinking about it initially. But I wasn't sure what that would
> > look like tbh. IIUC `IgnoreImplicitMemberCallSingleStep` will unwrap
> > `CXXMemberCallExpr` into the under
Timm =?utf-8?q?B=C3=A4der?=
Message-ID:
In-Reply-To:
https://github.com/Michael137 commented:
LLDB changes LGTM
https://github.com/llvm/llvm-project/pull/122289
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/122265
>From f56f9469e5465f38f6252b2c8c2136473187969b Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 9 Jan 2025 10:01:31 +
Subject: [PATCH 1/3] [clang][DebugInfo] Expand detection of structured
bindings
Michael137 wrote:
> Did you try to modify `IgnoreUnlessSpelledInSource` to support CallExpr?
Yea I was thinking about it initially. But I wasn't sure what that would look
like tbh. IIUC `IgnoreImplicitMemberCallSingleStep` will unwrap
`CXXMemberCallExpr` into the underlying `MemberExpr`. And t
https://github.com/Michael137 approved this pull request.
https://github.com/llvm/llvm-project/pull/122273
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/121033
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 created
https://github.com/llvm/llvm-project/pull/121033
This was never set to anything other than `true`.
>From e635c466deb3ed6423582049b5352a687ca017cb Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Tue, 24 Dec 2024 06:57:46 +
Subject: [PATCH] [lldb][DWAR
Michael137 wrote:
> > FWIW, I came across another no_unique_address-related crash today:
> > ```
> > $ cat a.cc
> > struct S {
> > private:
> > int i;
> > short s;
> > };
> > static_assert(sizeof(S) == 8);
> >
> > struct T {
> > [[no_unique_address]] S s;
> > char c;
> > };
> > static_as
https://github.com/Michael137 approved this pull request.
LGTM, thanks! (one minor nit in the test)
https://github.com/llvm/llvm-project/pull/120794
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listin
@@ -313,6 +313,16 @@ TEST_F(TestTypeSystemClang,
TestGetEnumIntegerTypeBasicTypes) {
}
}
+TEST_F(TestTypeSystemClang, TestEnumerationValueSign) {
+ CompilerType enum_type = m_ast->CreateEnumerationType(
+ "my_enum_signed", m_ast->GetTranslationUnitDecl(),
+ Optio
Michael137 wrote:
> FWIW, I came across another no_unique_address-related crash today:
>
> ```
> $ cat a.cc
> struct S {
> private:
> int i;
> short s;
> };
> static_assert(sizeof(S) == 8);
>
> struct T {
> [[no_unique_address]] S s;
> char c;
> };
> static_assert(sizeof(T) == 8);
>
>
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/120809
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/120569
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Author: Michael Buch
Date: 2024-12-23T10:43:35Z
New Revision: ac5029499561a8f76e71325ffb5c59d92ff84709
URL:
https://github.com/llvm/llvm-project/commit/ac5029499561a8f76e71325ffb5c59d92ff84709
DIFF:
https://github.com/llvm/llvm-project/commit/ac5029499561a8f76e71325ffb5c59d92ff84709.diff
LOG:
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/115005
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -2299,11 +2301,103 @@ size_t DWARFASTParserClang::ParseChildEnumerators(
}
if (name && name[0] && got_value) {
- m_ast.AddEnumerationValueToEnumerationType(
+ auto ECD = m_ast.AddEnumerationValueToEnumerationType(
clang_type, decl, name, enum_va
@@ -0,0 +1,40 @@
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+class TestCaseTypedefToOuterFwd(TestBase):
+"""
+We a global variable whose type is forward declared. We then
+try to
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/120569
>From 9aa49efdcde5887e8de6bcd6cfbb08c0a499e24b Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 19 Dec 2024 12:25:19 +
Subject: [PATCH 1/6] [lldb][SymbolFileDWARF] CompleteType: Lookup type in the
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/120569
>From 9aa49efdcde5887e8de6bcd6cfbb08c0a499e24b Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 19 Dec 2024 12:25:19 +
Subject: [PATCH 1/7] [lldb][SymbolFileDWARF] CompleteType: Lookup type in the
https://github.com/Michael137 commented:
LGTM
Can we add a test for this in `lldb/unittests/Symbol/TestTypeSystemClang.cpp`?
We could create call this API and then use `EnumConstantDecl::getInitVal` to
retrieve the `APSInt` and make sure it's unsigned
https://github.com/llvm/llvm-project/pull
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/120794
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 created
https://github.com/llvm/llvm-project/pull/120809
This addresses an issue encountered when investigating
https://github.com/llvm/llvm-project/pull/120569.
In `ParseTypeFromDWARF`, we insert the parsed type into `UniqueDWARFASTTypeMap`
using the typename an
Michael137 wrote:
If we don't want to introduce language specifics into `UniqueDWARFASTTypeList`,
we could just not update `MapDeclDIEToDefDIE` with the `Declaration` info of
the definition when we're dealing with C++.
On the other hand, assuming the debuggee doesn't violate ODR might be a bit
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/120569
>From 9aa49efdcde5887e8de6bcd6cfbb08c0a499e24b Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 19 Dec 2024 12:25:19 +
Subject: [PATCH 1/5] [lldb][SymbolFileDWARF] CompleteType: Lookup type in the
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/120569
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/120569
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 updated
https://github.com/llvm/llvm-project/pull/120569
>From 9aa49efdcde5887e8de6bcd6cfbb08c0a499e24b Mon Sep 17 00:00:00 2001
From: Michael Buch
Date: Thu, 19 Dec 2024 12:25:19 +
Subject: [PATCH 1/5] [lldb][SymbolFileDWARF] CompleteType: Lookup type in the
Michael137 wrote:
> > As an alternative, we might be able to make the die-to-type map shared
> > between all symbol files in a debug map (similar to how "unique dwarf ast
> > type map" is shared).
>
> Yea I considered that, but I was concerned with the unforeseen complications
> this might ha
https://github.com/Michael137 closed
https://github.com/llvm/llvm-project/pull/120279
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
Michael137 wrote:
> Maybe, but I don't expect the test to be pretty. What I (sometimes) do in
> these cases is to make the test bidirectional, i.e., have two compile unit
> where each one has a definition for a type declared/used in the other one.
> This way, you're guaranteed to hit the error
Michael137 wrote:
> As an alternative, we might be able to make the die-to-type map shared
> between all symbol files in a debug map (similar to how "unique dwarf ast
> type map" is shared).
Yea I considered that, but I was concerned with the unforeseen complications
this might have. Particul
Michael137 wrote:
> > In which case, GetDIEToType().lookup(decl_die) will return a nullptr. This
> > is already a bit iffy because some of the surrounding code assumes we don't
> > call CompleteTypeFromDWARF with a nullptr Type*. E.g., CompleteEnumType
> > blindly dereferences it (though enums
Michael137 wrote:
> > > > In which case, GetDIEToType().lookup(decl_die) will return a nullptr.
> > > > This is already a bit iffy because some of the surrounding code assumes
> > > > we don't call CompleteTypeFromDWARF with a nullptr Type*. E.g.,
> > > > CompleteEnumType blindly dereferences
Michael137 wrote:
> > In which case, GetDIEToType().lookup(decl_die) will return a nullptr. This
> > is already a bit iffy because some of the surrounding code assumes we don't
> > call CompleteTypeFromDWARF with a nullptr Type*. E.g., CompleteEnumType
> > blindly dereferences it (though enums
@@ -1593,7 +1593,9 @@ bool SymbolFileDWARF::CompleteType(CompilerType
&compiler_type) {
DWARFASTParser *dwarf_ast = GetDWARFParser(*def_die.GetCU());
if (!dwarf_ast)
return false;
- Type *type = GetDIEToType().lookup(decl_die.GetDIE());
+ Type *type = decl_die.GetDWA
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/120569
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
https://github.com/Michael137 edited
https://github.com/llvm/llvm-project/pull/120569
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
1 - 100 of 1377 matches
Mail list logo