[Lldb-commits] [lldb] [LLDB] Fix operators <= and >= returning a wrong result when comparing to a floating point NaN (PR #108060)

2024-09-10 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd created https://github.com/llvm/llvm-project/pull/108060 Implement operators `<=` and `>=` to explicitly check the comparison results to be `cmpLessThan` or `cmpEqual` instead of negating the result of `operators<`. Fixes #85947 >From 1e83cdfeb7e3a6fba4b190e95dd7947

[Lldb-commits] [lldb] [LLDB] Fix operators <= and >= returning a wrong result when comparing to a floating point NaN (PR #108060)

2024-09-11 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/108060 >From 1e83cdfeb7e3a6fba4b190e95dd794723031370d Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Tue, 3 Sep 2024 03:08:48 +0500 Subject: [PATCH 1/2] Implement operators <= and >= and add a test --- lldb/include/

[Lldb-commits] [lldb] [lldb] Lookup static const members in FindGlobalVariables (PR #111859)

2024-10-18 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > The code I'm referring to is the `UniqueDWARFASTTypeMap` class (and the code > surrounding it). We use that to determine whether to DIEs describe the same > type. My idea was something like: a) look up the type that is supposed to > contain the variable we're searching for (usi

[Lldb-commits] [lldb] [lldb] Lookup static const members in FindGlobalVariables (PR #111859)

2024-10-16 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > I think we may want to implement this in a slightly different matter: find > the unique definition DIE for the given type (we use that concept when > parsing types) and then search for child inside that -- instead of searching > through all (possibly one per CU) definitions of

[Lldb-commits] [lldb] [lldb] Lookup static const members in FindGlobalVariables (PR #111859)

2024-10-10 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/111859 >From 4c394ec162b58b3cde3af924a5e9be1de8250a07 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Tue, 30 Jul 2024 17:02:10 +0500 Subject: [PATCH] [lldb] Lookup static const members in FindGlobalVariables Static c

[Lldb-commits] [lldb] [lldb] Lookup static const members in FindGlobalVariables (PR #111859)

2024-10-24 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/111859 >From 4c394ec162b58b3cde3af924a5e9be1de8250a07 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Tue, 30 Jul 2024 17:02:10 +0500 Subject: [PATCH 1/2] [lldb] Lookup static const members in FindGlobalVariables Stat

[Lldb-commits] [lldb] [lldb] Lookup static const members in FindGlobalVariables (PR #111859)

2024-10-24 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > It might actually be better to fix this problem during indexing, in the > ManualDWARFIndex -- basically, if we're indexing a v4 unit _and_ we run into > a static const(expr?) variable (can we detect that reliably by looking at the > DIE alone?), then we add it to the index, jus

[Lldb-commits] [lldb] [lldb] Lookup static const members in FindGlobalVariables (PR #111859)

2024-10-29 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/111859 >From 4c394ec162b58b3cde3af924a5e9be1de8250a07 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Tue, 30 Jul 2024 17:02:10 +0500 Subject: [PATCH 1/3] [lldb] Lookup static const members in FindGlobalVariables Stat

[Lldb-commits] [lldb] [lldb] Lookup static const members in FindGlobalVariables (PR #111859)

2024-10-29 Thread Ilia Kuklin via lldb-commits
@@ -3490,7 +3490,7 @@ VariableSP SymbolFileDWARF::ParseVariableDIE(const SymbolContext &sc, ModuleSP module = GetObjectFile()->GetModule(); if (tag != DW_TAG_variable && tag != DW_TAG_constant && - (tag != DW_TAG_formal_parameter || !sc.function)) + tag != DW_TA

[Lldb-commits] [lldb] [lldb] Lookup static const members in FindGlobalVariables (PR #111859)

2024-10-29 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/111859 >From 4c394ec162b58b3cde3af924a5e9be1de8250a07 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Tue, 30 Jul 2024 17:02:10 +0500 Subject: [PATCH 1/4] [lldb] Lookup static const members in FindGlobalVariables Stat

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2024-11-05 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd created https://github.com/llvm/llvm-project/pull/115005 The information about an enum's best promotion type is discarded after compilation and is not present in debug info. This patch repeats the same analysis of each enum value as in the front-end to determine the b

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2024-11-05 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: My thought process for this patch: https://github.com/llvm/llvm-project/issues/86989#issuecomment-2438116468 https://github.com/llvm/llvm-project/pull/115005 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.or

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2024-11-05 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/115005 >From 5290832b802d98b9d293b6910c0837911ec490c4 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Mon, 4 Nov 2024 14:33:45 +0500 Subject: [PATCH 1/4] [lldb] Analyze enum promotion type during parsing --- clang/in

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2024-11-05 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > Not that this shouldn't be fixed, just weighing of the amount of complexity > added here versus the benefit. I don't really know how useful it is in general to know the actual promotion type of the enum, I guess only for using enum values in expressions without explicit castin

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2024-11-05 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/115005 >From 5290832b802d98b9d293b6910c0837911ec490c4 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Mon, 4 Nov 2024 14:33:45 +0500 Subject: [PATCH 1/4] [lldb] Analyze enum promotion type during parsing --- clang/in

[Lldb-commits] [lldb] [lldb] Lookup static const members in FindGlobalVariables (PR #111859)

2024-11-04 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/111859 >From 4c394ec162b58b3cde3af924a5e9be1de8250a07 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Tue, 30 Jul 2024 17:02:10 +0500 Subject: [PATCH 1/5] [lldb] Lookup static const members in FindGlobalVariables Stat

[Lldb-commits] [lldb] [lldb] Index static const members of classes, structs and unions as global variables in DWARF 4 and earlier (PR #111859)

2024-11-04 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd edited https://github.com/llvm/llvm-project/pull/111859 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Index static const members of classes, structs and unions as global variables in DWARF 4 and earlier (PR #111859)

2024-11-04 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd edited https://github.com/llvm/llvm-project/pull/111859 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [LLDB] Fix operators <= and >= returning a wrong result when comparing to a floating point NaN (PR #108060)

2024-09-18 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd closed https://github.com/llvm/llvm-project/pull/108060 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Index static const members of classes, structs and unions as global variables in DWARF 4 and earlier (PR #111859)

2024-11-07 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd closed https://github.com/llvm/llvm-project/pull/111859 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] Reapply "[lldb] Convert file address to load address when reading memory for DW_OP_piece" (PR #117168)

2024-11-21 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd edited https://github.com/llvm/llvm-project/pull/117168 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Convert file address to load address when reading memory for DW_OP_piece (PR #116411)

2024-11-15 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd created https://github.com/llvm/llvm-project/pull/116411 When parsing an optimized value and reading a piece from a file address, LLDB tries to read the data from memory using that address. This patch converts file address to load address before reading the memory. Fi

[Lldb-commits] [lldb] [lldb] Convert file address to load address when reading memory for DW_OP_piece (PR #116411)

2024-11-15 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd edited https://github.com/llvm/llvm-project/pull/116411 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2024-11-14 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: Ping 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

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2024-12-05 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: So, is this patch worth pursuing or is it too much code for a too specific use case? https://github.com/llvm/llvm-project/pull/115005 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listin

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-02-08 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/115005 >From 4d797371598960baf7729d05590aa1a8c7077694 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Mon, 4 Nov 2024 14:33:45 +0500 Subject: [PATCH 01/13] [lldb] Analyze enum promotion type during parsing --- clang/

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-02-08 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: @Michael137 Changed the first argument of `computeEnumBits` to an `ArrayRef` to avoid the template and so it can be still seamlessly used from Sema. On LLDB side, I had to create a `SmallVector` and put enum constants there at the point of their creation (`AddEnumerationValueToEn

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-30 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/115005 >From 4d797371598960baf7729d05590aa1a8c7077694 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Mon, 4 Nov 2024 14:33:45 +0500 Subject: [PATCH 01/10] [lldb] Analyze enum promotion type during parsing --- clang/

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-30 Thread Ilia Kuklin via lldb-commits
@@ -2367,11 +2369,38 @@ size_t DWARFASTParserClang::ParseChildEnumerators( } if (name && name[0] && got_value) { - m_ast.AddEnumerationValueToEnumerationType( + auto ECD = m_ast.AddEnumerationValueToEnumerationType( clang_type, decl, name, enum_val

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-31 Thread Ilia Kuklin via lldb-commits
@@ -2367,11 +2369,36 @@ size_t DWARFASTParserClang::ParseChildEnumerators( } if (name && name[0] && got_value) { - m_ast.AddEnumerationValueToEnumerationType( + auto ECD = m_ast.AddEnumerationValueToEnumerationType( kuilpd wrote: Alright, wi

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-31 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/115005 >From 4d797371598960baf7729d05590aa1a8c7077694 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Mon, 4 Nov 2024 14:33:45 +0500 Subject: [PATCH 01/12] [lldb] Analyze enum promotion type during parsing --- clang/

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-31 Thread Ilia Kuklin via lldb-commits
@@ -2367,11 +2369,36 @@ size_t DWARFASTParserClang::ParseChildEnumerators( } if (name && name[0] && got_value) { - m_ast.AddEnumerationValueToEnumerationType( + auto ECD = m_ast.AddEnumerationValueToEnumerationType( kuilpd wrote: Well... I t

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-31 Thread Ilia Kuklin via lldb-commits
@@ -2367,11 +2369,36 @@ size_t DWARFASTParserClang::ParseChildEnumerators( } if (name && name[0] && got_value) { - m_ast.AddEnumerationValueToEnumerationType( + auto ECD = m_ast.AddEnumerationValueToEnumerationType( kuilpd wrote: > > Iterati

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-31 Thread Ilia Kuklin via lldb-commits
@@ -2367,11 +2369,36 @@ size_t DWARFASTParserClang::ParseChildEnumerators( } if (name && name[0] && got_value) { - m_ast.AddEnumerationValueToEnumerationType( + auto ECD = m_ast.AddEnumerationValueToEnumerationType( kuilpd wrote: Yes, but I

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-31 Thread Ilia Kuklin via lldb-commits
@@ -2367,11 +2369,36 @@ size_t DWARFASTParserClang::ParseChildEnumerators( } if (name && name[0] && got_value) { - m_ast.AddEnumerationValueToEnumerationType( + auto ECD = m_ast.AddEnumerationValueToEnumerationType( kuilpd wrote: It's used i

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2024-12-20 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/115005 >From 5290832b802d98b9d293b6910c0837911ec490c4 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Mon, 4 Nov 2024 14:33:45 +0500 Subject: [PATCH 1/6] [lldb] Analyze enum promotion type during parsing --- clang/in

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2024-12-20 Thread Ilia Kuklin via 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

[Lldb-commits] [lldb] [lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (PR #120794)

2024-12-20 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd created https://github.com/llvm/llvm-project/pull/120794 None >From b5cb9a262a5e1bdb19eb72e7e357c98e90fa9f4e Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Sat, 21 Dec 2024 02:04:35 +0500 Subject: [PATCH] Negate is_signed variable for argument isUnsigned --- lldb/

[Lldb-commits] [lldb] [lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (PR #120794)

2024-12-20 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: This change doesn't really affect anything in lldb yet, but will be used and tested afterwards in #115005 https://github.com/llvm/llvm-project/pull/120794 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/c

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2024-12-20 Thread Ilia Kuklin via lldb-commits
@@ -8544,7 +8524,8 @@ clang::EnumConstantDecl *TypeSystemClang::AddEnumerationValueToEnumerationType( bool is_signed = false; underlying_type.IsIntegerType(is_signed); - llvm::APSInt value(enum_value_bit_size, is_signed); + // APSInt constructor's sign argument is isUns

[Lldb-commits] [lldb] Reapply "[lldb] Convert file address to load address when reading memory for DW_OP_piece" (PR #117168)

2024-11-21 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd created https://github.com/llvm/llvm-project/pull/117168 This commit fixes the test in so that the breakpoint is triggered correctly after `array` usage on Aarch64. Reapplies #116411 with a fix. >From b59a2114542999fa233e802cbc36500678132cb2 Mon Sep 17 00:00:00 2001

[Lldb-commits] [lldb] Reapply "[lldb] Convert file address to load address when reading memory for DW_OP_piece" (PR #117168)

2024-11-21 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd edited https://github.com/llvm/llvm-project/pull/117168 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] Reapply "[lldb] Convert file address to load address when reading memory for DW_OP_piece" (PR #117168)

2024-11-21 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd closed https://github.com/llvm/llvm-project/pull/117168 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] Revert "[lldb] Fix DW_OP_piece-O3 test on AArch64 Windows" (PR #117354)

2024-11-22 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd created https://github.com/llvm/llvm-project/pull/117354 Reverts llvm/llvm-project#117336 >From 4348c4d658a56f45e939190aa1b2b6c698893999 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Fri, 22 Nov 2024 22:45:42 +0500 Subject: [PATCH] Revert "[lldb] Fix DW_OP_piece-O3

[Lldb-commits] [lldb] Revert "[lldb] Fix DW_OP_piece-O3 test on AArch64 Windows" (PR #117354)

2024-11-22 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd closed https://github.com/llvm/llvm-project/pull/117354 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] DW_OP_piece-O3.c: Disable on Windows (PR #117355)

2024-11-22 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd closed https://github.com/llvm/llvm-project/pull/117355 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] DW_OP_piece-O3.c: Disable on Windows (PR #117355)

2024-11-22 Thread Ilia Kuklin via lldb-commits
@@ -5,9 +5,10 @@ // DW_AT_type (0x0032 "char[5]") // DW_AT_location (DW_OP_piece 0x2, DW_OP_addrx 0x0, DW_OP_piece 0x1) +// XFAIL: target=aarch64-pc-windows-{{.*}} kuilpd wrote: Ah, thank you, good to know! https://

[Lldb-commits] [lldb] [lldb] Fix DW_OP_piece-O3 test on AArch64 Windows (PR #117336)

2024-11-22 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd created https://github.com/llvm/llvm-project/pull/117336 Making a breakpoint on a line causes an error on aarch64-pc-windows. This patch changes the test so that a breakpoint can be made on a function name. #117168 >From 8ab6044c2b1e54d0788eca39eb96cd64e30f372a Mon Se

[Lldb-commits] [lldb] [lldb] Fix DW_OP_piece-O3 test on AArch64 Windows (PR #117336)

2024-11-22 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd closed https://github.com/llvm/llvm-project/pull/117336 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][test] DW_OP_piece-O3.c: XFAIL on AArch64 Windows (PR #117355)

2024-11-22 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd created https://github.com/llvm/llvm-project/pull/117355 #117168 >From de297b66e1c87ed4856366f26c200bbbd172155c Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Fri, 22 Nov 2024 22:52:48 +0500 Subject: [PATCH] XFAIL DW_OP_piece-O3 test on AArch64 Windows --- lldb/te

[Lldb-commits] [lldb] [lldb][test] DW_OP_piece-O3.c: XFAIL on AArch64 Windows (PR #117355)

2024-11-22 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/117355 >From de297b66e1c87ed4856366f26c200bbbd172155c Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Fri, 22 Nov 2024 22:52:48 +0500 Subject: [PATCH 1/2] XFAIL DW_OP_piece-O3 test on AArch64 Windows --- lldb/test/Sh

[Lldb-commits] [lldb] [lldb][test] DW_OP_piece-O3.c: Disable on Windows (PR #117355)

2024-11-22 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd edited https://github.com/llvm/llvm-project/pull/117355 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-27 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/115005 >From 4d797371598960baf7729d05590aa1a8c7077694 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Mon, 4 Nov 2024 14:33:45 +0500 Subject: [PATCH 1/6] [lldb] Analyze enum promotion type during parsing --- clang/in

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-27 Thread Ilia Kuklin via lldb-commits
@@ -2367,11 +2369,38 @@ size_t DWARFASTParserClang::ParseChildEnumerators( } if (name && name[0] && got_value) { - m_ast.AddEnumerationValueToEnumerationType( + auto ECD = m_ast.AddEnumerationValueToEnumerationType( clang_type, decl, name, enum_val

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-27 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd 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

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-27 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/115005 >From 4d797371598960baf7729d05590aa1a8c7077694 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Mon, 4 Nov 2024 14:33:45 +0500 Subject: [PATCH 1/7] [lldb] Analyze enum promotion type during parsing --- clang/in

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-27 Thread Ilia Kuklin via lldb-commits
@@ -2367,11 +2369,38 @@ size_t DWARFASTParserClang::ParseChildEnumerators( } if (name && name[0] && got_value) { - m_ast.AddEnumerationValueToEnumerationType( + auto ECD = m_ast.AddEnumerationValueToEnumerationType( clang_type, decl, name, enum_val

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-27 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: @Michael137 Reused the code I merged in #120965 to get the best promotion type. 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/ll

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-27 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/115005 >From 4d797371598960baf7729d05590aa1a8c7077694 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Mon, 4 Nov 2024 14:33:45 +0500 Subject: [PATCH 1/8] [lldb] Analyze enum promotion type during parsing --- clang/in

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-01-27 Thread Ilia Kuklin via lldb-commits
@@ -3903,6 +3903,7 @@ class EnumDecl : public TagDecl { void setInstantiationOfMemberEnum(ASTContext &C, EnumDecl *ED, TemplateSpecializationKind TSK); +public: kuilpd wrote: I left this in so that that I could simply do

[Lldb-commits] [lldb] [lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (PR #120794)

2024-12-23 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/120794 >From b5cb9a262a5e1bdb19eb72e7e357c98e90fa9f4e Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Sat, 21 Dec 2024 02:04:35 +0500 Subject: [PATCH 1/3] Negate is_signed variable for argument isUnsigned --- lldb/so

[Lldb-commits] [lldb] [lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (PR #120794)

2024-12-23 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/120794 >From b5cb9a262a5e1bdb19eb72e7e357c98e90fa9f4e Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Sat, 21 Dec 2024 02:04:35 +0500 Subject: [PATCH 1/2] Negate is_signed variable for argument isUnsigned --- lldb/so

[Lldb-commits] [lldb] [lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (PR #120794)

2024-12-23 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd closed 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

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-02-13 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/115005 >From dd65babbf4c73a0b2fc2e4aa47a9a346bd5a9adf Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Mon, 4 Nov 2024 14:33:45 +0500 Subject: [PATCH 01/15] [lldb] Analyze enum promotion type during parsing --- clang/

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-02-13 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: @Michael137 Thank you for seeing this through! 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

[Lldb-commits] [clang] [lldb] [lldb] Analyze enum promotion type during parsing (PR #115005)

2025-02-13 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > But only for dSYMs. Looking at the `dSYM`, none of the enums are actually > preserved in the debug-info. You have to actually use the enum types in > source to get dsymutil to preserve them. I'll fix it Ah, I see. Thank you for handling this! https://github.com/llvm/llvm-proje

[Lldb-commits] [lldb] [LLDB] Add unary operators Dereference and AddressOf to DIL (PR #134428)

2025-04-09 Thread Ilia Kuklin via lldb-commits
@@ -3,7 +3,12 @@ (* This is currently a subset of the final DIL Language, matching the current DIL implementation. *) -expression = primary_expression ; +expression = unary_expression ; + +unary_expression = unary_operator expression kuilpd wrote: We have

[Lldb-commits] [lldb] [LLDB] Add unary operators Dereference and AddressOf to DIL (PR #134428)

2025-04-09 Thread Ilia Kuklin via lldb-commits
@@ -232,4 +263,105 @@ Interpreter::Visit(const IdentifierNode *node) { return identifier; } -} // namespace lldb_private::dil +llvm::Expected +Interpreter::Visit(const UnaryOpNode *node) { + FlowAnalysis rhs_flow( + /* address_of_is_pending */ node->kind() == UnaryOpKi

[Lldb-commits] [lldb] [LLDB] Add unary operators Dereference and AddressOf to DIL (PR #134428)

2025-04-09 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > I'm also not very convinced by this "FlowAnalysis" thingy. Is it supposed to > be a performance optimization (collapsing *&foo to foo) or does it do > something more? FlowAnalysis is also used in subscript operator, to short-circuit getting an address of an element: `&arr[1]`,

[Lldb-commits] [lldb] [LLDB] Add unary operators Dereference and AddressOf to DIL (PR #134428)

2025-04-09 Thread Ilia Kuklin via lldb-commits
@@ -232,4 +263,105 @@ Interpreter::Visit(const IdentifierNode *node) { return identifier; } -} // namespace lldb_private::dil +llvm::Expected +Interpreter::Visit(const UnaryOpNode *node) { + FlowAnalysis rhs_flow( + /* address_of_is_pending */ node->kind() == UnaryOpKi

[Lldb-commits] [lldb] [LLDB] Add unary operators Dereference and AddressOf to DIL (PR #134428)

2025-04-09 Thread Ilia Kuklin via lldb-commits
@@ -232,4 +263,105 @@ Interpreter::Visit(const IdentifierNode *node) { return identifier; } -} // namespace lldb_private::dil +llvm::Expected +Interpreter::Visit(const UnaryOpNode *node) { + FlowAnalysis rhs_flow( + /* address_of_is_pending */ node->kind() == UnaryOpKi

[Lldb-commits] [lldb] [LLDB] Add unary operators Dereference and AddressOf to DIL (PR #134428)

2025-04-08 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > This is the reason. Long-term maintainability of the project. We already have > (too) many different ways to build test binaries, so you need a very good > reason to introduce another method, and frankly, I don't think you have one. Is it a general consensus that people shouldn

[Lldb-commits] [lldb] [LLDB] Add unary operators Dereference and AddressOf to DIL (PR #134428)

2025-04-08 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd ready_for_review https://github.com/llvm/llvm-project/pull/134428 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Make ValueObject::Dereference less aggressive (PR #137311)

2025-04-28 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd approved this pull request. I see, makes sense now, thank you. https://github.com/llvm/llvm-project/pull/137311 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-com

[Lldb-commits] [lldb] [LLDB] Fix `ValueObject::AddressOf()` return value (PR #137688)

2025-04-30 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/137688 Rate limit ยท GitHub body { background-color: #f6f8fa; color: #24292e; font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-se

[Lldb-commits] [lldb] [lldb][TypeSystemClang] Allow arrays to be dereferenced in C/C++. (PR #135843)

2025-04-30 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/135843 >From 7cca4bf228ab2b882a1a6487eb24948cba9e5b12 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Wed, 16 Apr 2025 00:30:51 +0500 Subject: [PATCH 1/4] [lldb][TypeSystemClang] Add a function `IsValidDereferenceType

[Lldb-commits] [lldb] [LLDB] Add unary operators Dereference and AddressOf to DIL (PR #134428)

2025-04-14 Thread Ilia Kuklin via lldb-commits
@@ -18,6 +18,22 @@ namespace lldb_private::dil { +static lldb::ValueObjectSP +ArrayToPointerConversion(lldb::ValueObjectSP valobj, + std::shared_ptr ctx) { + assert(valobj->IsArrayType() && + "an argument to array-to-pointer conversion must be

[Lldb-commits] [lldb] [lldb][TypeSystemClang] Allow arrays to be dereferenced in C/C++. (PR #135843)

2025-05-05 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/135843 >From 7cca4bf228ab2b882a1a6487eb24948cba9e5b12 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Wed, 16 Apr 2025 00:30:51 +0500 Subject: [PATCH 1/5] [lldb][TypeSystemClang] Add a function `IsValidDereferenceType

[Lldb-commits] [lldb] [lldb][TypeSystemClang] Allow arrays to be dereferenced in C/C++. (PR #135843)

2025-05-05 Thread Ilia Kuklin via lldb-commits
@@ -88,7 +88,7 @@ def cleanup(): self.expect( "frame variable *number_not_engaged", error=True, -substrs=["not a pointer or reference type"], +substrs=["dereference failed: not a"], kuilpd wrote: I had a

[Lldb-commits] [lldb] [LLDB] Fix `ValueObject::AddressOf()` return value (PR #137688)

2025-05-05 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: @labath Is this okay to merge now? https://github.com/llvm/llvm-project/pull/137688 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [LLDB] Add array subscription and integer parsing to DIL (PR #138551)

2025-05-05 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd created https://github.com/llvm/llvm-project/pull/138551 None >From cfe7359bd16c1e87932e2ebb8bcdfc88130e9729 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Wed, 30 Apr 2025 22:03:50 +0500 Subject: [PATCH] [LLDB] Add array subscription and integer parsing to DIL ---

[Lldb-commits] [lldb] [LLDB] Fix `ValueObject::AddressOf()` return value (PR #137688)

2025-05-05 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd closed https://github.com/llvm/llvm-project/pull/137688 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [LLDB] Fix `ValueObject::AddressOf()` return value (PR #137688)

2025-05-01 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd ready_for_review https://github.com/llvm/llvm-project/pull/137688 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [LLDB] Add array subscription and integer parsing to DIL (PR #138551)

2025-05-05 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > Swift doesn't have pointers really. It does pass some things by value (called > structs) and others by reference (called classes), but it doesn't let you > know how. So this ambiguity between "pointer to object" and "pointer to > contiguous buffer of objects" doesn't come up.

[Lldb-commits] [lldb] [LLDB] Add array subscription and integer parsing to DIL (PR #138551)

2025-05-05 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: One thing I'm not sure about here: will converting array type to a pointer, adding the index and then dereferencing work for Swift? I tried just doing `base->GetChildAtIndex(index)`, but it doesn't work when the base is a pointer and it also returns an error when index is out of b

[Lldb-commits] [lldb] [LLDB] Add array subscription and integer parsing to DIL (PR #138551)

2025-05-05 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > I don't have an answer to that, but I do know that it's possible to index > pointers in the current implementation. I suggest checking out how it > achieves that and seeing if it can be translated to here. Ah, I will look into this further, thanks. https://github.com/llvm/llvm

[Lldb-commits] [lldb] [LLDB] Add array subscription and integer parsing to DIL (PR #138551)

2025-05-06 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > Apart from the pointer indexing question, this PR also opens the question of > "how should the numbers be represented". Here you represent them as > ValueObjects, which means you have to give them types, which means you have > to find a type system for them, ... Why is that a

[Lldb-commits] [lldb] [LLDB] Add array subscription and integer parsing to DIL (PR #138551)

2025-05-06 Thread Ilia Kuklin via lldb-commits
@@ -24,6 +28,8 @@ qualified_id = ["::"] [nested_name_specifier] unqualified_id identifier = ? C99 Identifier ? ; +numeric_literal = ? C99 Integer constant ? ; kuilpd wrote: Yeah, `0b...` and `0o...` formats supported here are missing from C99. How should I

[Lldb-commits] [lldb] [LLDB] Add array subscription and integer parsing to DIL (PR #138551)

2025-05-06 Thread Ilia Kuklin via lldb-commits
@@ -280,6 +311,52 @@ void DILParser::BailOut(const std::string &error, uint32_t loc, m_dil_lexer.ResetTokenIdx(m_dil_lexer.NumLexedTokens() - 1); } +// Parse a numeric_literal. +// +// numeric_literal: +//? Token::numeric_constant ? +// +ASTNodeUP DILParser::ParseNumer

[Lldb-commits] [lldb] [LLDB] Add array subscription and integer parsing to DIL (PR #138551)

2025-05-06 Thread Ilia Kuklin via lldb-commits
@@ -111,7 +111,36 @@ ASTNodeUP DILParser::ParseUnaryExpression() { llvm_unreachable("invalid token kind"); } } - return ParsePrimaryExpression(); + return ParsePostfixExpression(); +} + +// Parse a postfix_expression. +// +// postfix_expression: +//primary_ex

[Lldb-commits] [lldb] [LLDB] Add array subscription and integer parsing to DIL (PR #138551)

2025-05-06 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/138551 >From cfe7359bd16c1e87932e2ebb8bcdfc88130e9729 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Wed, 30 Apr 2025 22:03:50 +0500 Subject: [PATCH 1/3] [LLDB] Add array subscription and integer parsing to DIL ---

[Lldb-commits] [lldb] [LLDB] Add array subscription and integer parsing to DIL (PR #138551)

2025-05-06 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > I don't have an answer to that, but I do know that it's possible to index > pointers in the current implementation. I suggest checking out how it > achieves that and seeing if it can be translated to here. I found `GetSyntheticArrayMember`, hopefully this is the one you're refe

[Lldb-commits] [lldb] [LLDB] Add unary operators Dereference and AddressOf to DIL (PR #134428)

2025-04-25 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: @labath Should I move the check for `void *` to `TypeSystemClang::GetDereferencedType` in the other PR? https://github.com/llvm/llvm-project/pull/134428 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cg

[Lldb-commits] [lldb] [lldb][TypeSystemClang] Allow arrays to be dereferenced in C/C++. (PR #135843)

2025-04-24 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd updated https://github.com/llvm/llvm-project/pull/135843 >From 08834d47602b0df46e43678c08b3902d45145871 Mon Sep 17 00:00:00 2001 From: Ilia Kuklin Date: Wed, 16 Apr 2025 00:30:51 +0500 Subject: [PATCH 1/3] [lldb][TypeSystemClang] Add a function `IsValidDereferenceType

[Lldb-commits] [lldb] [lldb][TypeSystemClang] Allow arrays to be dereferenced in C/C++. (PR #135843)

2025-04-24 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd ready_for_review https://github.com/llvm/llvm-project/pull/135843 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Make ValueObject::Dereference less aggressive (PR #137311)

2025-04-25 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd edited https://github.com/llvm/llvm-project/pull/137311 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb] Make ValueObject::Dereference less aggressive (PR #137311)

2025-04-25 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd commented: So the difference is that if `value->Dereference` fails, the user should try to manually dereference a synthetic value? https://github.com/llvm/llvm-project/pull/137311 ___ lldb-commits mailing list lldb-commits@li

[Lldb-commits] [lldb] [lldb] Make ValueObject::Dereference less aggressive (PR #137311)

2025-04-25 Thread Ilia Kuklin via lldb-commits
https://github.com/kuilpd edited https://github.com/llvm/llvm-project/pull/137311 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

[Lldb-commits] [lldb] [lldb][TypeSystemClang] Allow arrays to be dereferenced in C/C++. (PR #135843)

2025-04-25 Thread Ilia Kuklin via lldb-commits
kuilpd wrote: > It's also possible that the implementation of Dereference is just too > persistent. I think it's doing too much. I've created > https://github.com/llvm/llvm-project/pull/137311 which I think is a better > way to approach dereferencing (BTW, I think you'll need to do something

[Lldb-commits] [lldb] [lldb] Make ValueObject::Dereference less aggressive (PR #137311)

2025-04-25 Thread Ilia Kuklin via lldb-commits
@@ -2202,6 +2202,45 @@ void ValueObject::GetExpressionPath(Stream &s, } } +// Return the alternate value (synthetic if the input object is non-synthetic +// and otherwise) this is permitted by the expression path options. +static ValueObjectSP GetAlternateValue( +ValueOb

  1   2   3   >