Page MenuHomePhabricator

shafik (Shafik Yaghmour)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 12 2018, 2:31 PM (206 w, 6 d)

Recent Activity

Yesterday

shafik added inline comments to D128248: [clang] Avoid an assertion in APValue::hasArrayFiller().
Wed, Jun 29, 1:24 PM · Restricted Project, Restricted Project
shafik added a comment to D128248: [clang] Avoid an assertion in APValue::hasArrayFiller().

and run the test case, the first added line prints 1 and the second one 0. Result is being mutated when doing the in-place evaluation.

Wed, Jun 29, 1:21 PM · Restricted Project, Restricted Project

Tue, Jun 28

shafik added a comment to D128747: ISSUE - incorrect -Winfinite-recursion warning on potentially-unevaluated operand #21668.

Thank for looking at this bug, just a small comment on the test.

Tue, Jun 28, 2:45 PM · Restricted Project, Restricted Project
shafik added a comment to D122768: [Clang][C++20] Support capturing structured bindings in lambdas.

I think I need to do another sweep of this PR but mostly minor comments.

Tue, Jun 28, 1:47 PM · Restricted Project, Restricted Project, Restricted Project

Mon, Jun 27

shafik added a reviewer for D128248: [clang] Avoid an assertion in APValue::hasArrayFiller(): shafik.
Mon, Jun 27, 2:09 PM · Restricted Project, Restricted Project
shafik added a comment to D128248: [clang] Avoid an assertion in APValue::hasArrayFiller().

Are you sure it is failing on the line you indicated? After looking at the code, a little before that line we have:

Mon, Jun 27, 2:09 PM · Restricted Project, Restricted Project
shafik added inline comments to D128449: [clang] Introduce -Warray-parameter.
Mon, Jun 27, 1:37 PM · Restricted Project, Restricted Project

May 11 2022

shafik added a comment to D123319: Change how we handle auto return types for lambda operator() to be consistent with gcc.

Any update/further details here?

May 11 2022, 10:21 AM · Restricted Project, Restricted Project

May 4 2022

shafik updated the diff for D105564: Fix for DWARF parsing to better handle auto return type for member functions.
  • Expanded test
  • applied clang-format
May 4 2022, 11:55 AM · Restricted Project

Apr 27 2022

shafik added a comment to D124579: Make partial function name matching match on context boundaries.

You might want to try fun cases like operator< and operator()() from a lambda. They should work but might be worth throwing them in.

Apr 27 2022, 6:15 PM · Restricted Project, Restricted Project

Apr 26 2022

shafik added inline comments to D123954: [lldb] Add setting for max depth of value object printing (NFC).
Apr 26 2022, 5:37 PM · Restricted Project, Restricted Project

Apr 25 2022

shafik added a comment to D123319: Change how we handle auto return types for lambda operator() to be consistent with gcc.

('scuse the delay)

Baseline: I'm still not really sure this is the right direction. Is there a sound argument for why this change is suitable for lambdas, but not for other types? I believe all the situations that can happen with other types can happen with lambdas (& the other way around) with sufficiently interestingly crafted inputs.

Apr 25 2022, 10:22 PM · Restricted Project, Restricted Project
shafik added inline comments to D123319: Change how we handle auto return types for lambda operator() to be consistent with gcc.
Apr 25 2022, 6:50 PM · Restricted Project, Restricted Project
shafik added a comment to D124370: [lldb/DWARF] Fix linking direction in CopyUniqueClassMethodTypes.

This mostly makes sense, the purpose of the || alternate_defn was not clear to me either.

Apr 25 2022, 10:04 AM · Restricted Project, Restricted Project

Apr 22 2022

shafik committed rGfd1464604367: [LLDB] Applying clang-tidy modernize-use-override over LLDB (authored by shafik).
[LLDB] Applying clang-tidy modernize-use-override over LLDB
Apr 22 2022, 1:30 PM · Restricted Project
shafik closed D123340: Applying clang-tidy modernize-use-override over LLDB.
Apr 22 2022, 1:29 PM · Restricted Project, Restricted Project

Apr 21 2022

shafik committed rG5ff992bca208: [DEBUG-INFO] Change how we handle auto return types for lambda operator() to be… (authored by shafik).
[DEBUG-INFO] Change how we handle auto return types for lambda operator() to be…
Apr 21 2022, 2:59 PM · Restricted Project, Restricted Project
shafik closed D123319: Change how we handle auto return types for lambda operator() to be consistent with gcc.
Apr 21 2022, 2:59 PM · Restricted Project, Restricted Project
shafik updated the diff for D123319: Change how we handle auto return types for lambda operator() to be consistent with gcc.

-Replacing CHECK-NEXT with CHECK

Apr 21 2022, 2:44 PM · Restricted Project, Restricted Project

Apr 20 2022

shafik added a comment to D124113: [lldb] Adjust libc++ string formatter for changes in D123580.

Thank you, the names make a lot more sense to me but I am not sure why this was originally used either.

Apr 20 2022, 6:10 PM · Restricted Project, Restricted Project
shafik added inline comments to D123775: [AST] Support template declaration found through using-decl for QualifiedTemplateName..
Apr 20 2022, 4:52 PM · Restricted Project, Restricted Project

Apr 19 2022

shafik updated the diff for D123340: Applying clang-tidy modernize-use-override over LLDB.

-Removed override RemoteAwarePlatformTest.cpp and added NOLINT

Apr 19 2022, 1:40 PM · Restricted Project, Restricted Project
shafik added a comment to D123340: Applying clang-tidy modernize-use-override over LLDB.

The reason for the funny /*override*/ thingy in the mock classes is that it is impossible (in the gmock version that we use) to add the override keyword to the methods overridden by the MOCK macros. Then, having override keywords on hand-written methods triggered -Winconsistent-missing-override.

Or at least it used to -- have you checked that these changes don't introduce any new compiler warnings?

Apr 19 2022, 1:34 PM · Restricted Project, Restricted Project

Apr 18 2022

shafik updated the diff for D123319: Change how we handle auto return types for lambda operator() to be consistent with gcc.
  • Making test more robust
  • Adding comments
Apr 18 2022, 2:20 PM · Restricted Project, Restricted Project
shafik added inline comments to D123319: Change how we handle auto return types for lambda operator() to be consistent with gcc.
Apr 18 2022, 8:55 AM · Restricted Project, Restricted Project

Apr 11 2022

shafik updated the diff for D123319: Change how we handle auto return types for lambda operator() to be consistent with gcc.

Adding test case

Apr 11 2022, 5:49 PM · Restricted Project, Restricted Project

Apr 7 2022

shafik requested review of D123340: Applying clang-tidy modernize-use-override over LLDB.
Apr 7 2022, 2:35 PM · Restricted Project, Restricted Project
shafik added a comment to D123319: Change how we handle auto return types for lambda operator() to be consistent with gcc.

I did some experiments where I did not restrict this to lambdas case and I could not come up with a test case where we emit debug info and do not have the deduced type.

Apr 7 2022, 9:58 AM · Restricted Project, Restricted Project
shafik requested review of D123319: Change how we handle auto return types for lambda operator() to be consistent with gcc.
Apr 7 2022, 9:53 AM · Restricted Project, Restricted Project

Apr 4 2022

shafik added a comment to D123098: [lldb] Fix undefined behavior: left shift of negative value.

Note, in C++20 this was made well-defined see godbolt the paper that did this was P0907R4 Signed Integers are Two’s Complement

Apr 4 2022, 8:54 PM · Restricted Project, Restricted Project

Apr 1 2022

shafik added inline comments to D122856: [lldb] Refactor DataBuffer so we can map files as read-only.
Apr 1 2022, 10:25 PM · Restricted Project, Restricted Project

Mar 31 2022

shafik committed rG24f9a2f53db7: [LLDB] Applying clang-tidy modernize-use-equals-default over LLDB (authored by shafik).
[LLDB] Applying clang-tidy modernize-use-equals-default over LLDB
Mar 31 2022, 1:22 PM · Restricted Project
shafik closed D121844: Applying clang-tidy modernize-use-equals-default over LLDB.
Mar 31 2022, 1:22 PM · Restricted Project, Restricted Project
shafik updated the diff for D121844: Applying clang-tidy modernize-use-equals-default over LLDB.
  • Rebased
  • Applied clang-format
  • Address Pavel's comment
Mar 31 2022, 1:05 PM · Restricted Project, Restricted Project

Mar 30 2022

shafik added inline comments to D121844: Applying clang-tidy modernize-use-equals-default over LLDB.
Mar 30 2022, 8:40 PM · Restricted Project, Restricted Project
shafik committed rG14cad95d3823: [LLDB] Fix NSIndexPathSyntheticFrontEnd::Impl::Clear() to only clear the active… (authored by shafik).
[LLDB] Fix NSIndexPathSyntheticFrontEnd::Impl::Clear() to only clear the active…
Mar 30 2022, 6:02 PM · Restricted Project
shafik closed D122753: Fix NSIndexPathSyntheticFrontEnd::Impl::Clear() to only clear the active union member.
Mar 30 2022, 6:02 PM · Restricted Project, Restricted Project
shafik added a comment to D122753: Fix NSIndexPathSyntheticFrontEnd::Impl::Clear() to only clear the active union member.

I believe that NSIndexPathSyntheticFrontEnd::Update() also needs a fix in order to properly set the active member but I will do that as a separate fix since.

Mar 30 2022, 11:26 AM · Restricted Project, Restricted Project
shafik requested review of D122753: Fix NSIndexPathSyntheticFrontEnd::Impl::Clear() to only clear the active union member.
Mar 30 2022, 11:25 AM · Restricted Project, Restricted Project

Mar 29 2022

shafik added inline comments to D121844: Applying clang-tidy modernize-use-equals-default over LLDB.
Mar 29 2022, 2:11 PM · Restricted Project, Restricted Project

Mar 24 2022

shafik committed rGaca96480784b: [LLDB] Cleanup for Fixing DWARFExpression handling of ValueType::FileAddress… (authored by shafik).
[LLDB] Cleanup for Fixing DWARFExpression handling of ValueType::FileAddress…
Mar 24 2022, 10:00 AM · Restricted Project

Mar 21 2022

shafik added a comment to D122041: [llvm][utils] Fix llvm::Optional summary provider.

Do we have any tests for these?

Mar 21 2022, 1:11 PM · Restricted Project, Restricted Project, Restricted Project

Mar 17 2022

shafik added a comment to D121831: Modifying expression code in MakeLoadImageUtilityFunction to be more consistent.

Did you check if we have other helper expressions with the same problem?

Mar 17 2022, 4:35 PM · Restricted Project, Restricted Project
shafik committed rG33d74170a36e: [LLDB] Modifying expression code in MakeLoadImageUtilityFunction to be more… (authored by shafik).
[LLDB] Modifying expression code in MakeLoadImageUtilityFunction to be more…
Mar 17 2022, 8:53 AM · Restricted Project
shafik closed D121831: Modifying expression code in MakeLoadImageUtilityFunction to be more consistent.
Mar 17 2022, 8:53 AM · Restricted Project, Restricted Project

Mar 16 2022

shafik added inline comments to D121844: Applying clang-tidy modernize-use-equals-default over LLDB.
Mar 16 2022, 1:48 PM · Restricted Project, Restricted Project
shafik added a comment to D121844: Applying clang-tidy modernize-use-equals-default over LLDB.

We sure do have a lot of CommandOptions classes out there.

Mar 16 2022, 1:47 PM · Restricted Project, Restricted Project
shafik requested review of D121844: Applying clang-tidy modernize-use-equals-default over LLDB.
Mar 16 2022, 1:47 PM · Restricted Project, Restricted Project
shafik added a comment to D121831: Modifying expression code in MakeLoadImageUtilityFunction to be more consistent.

Note, we have a few tests that cover LoadImage:

Mar 16 2022, 11:09 AM · Restricted Project, Restricted Project
shafik requested review of D121831: Modifying expression code in MakeLoadImageUtilityFunction to be more consistent.
Mar 16 2022, 11:08 AM · Restricted Project, Restricted Project

Mar 15 2022

shafik committed rG37400dd3e817: [LLDB][NFC] Remove dead code from Section.cpp (authored by shafik).
[LLDB][NFC] Remove dead code from Section.cpp
Mar 15 2022, 6:12 PM · Restricted Project
shafik committed rG6583f0170721: [LLDB] Fixing DWARFExpression handling of ValueType::FileAddress case for… (authored by shafik).
[LLDB] Fixing DWARFExpression handling of ValueType::FileAddress case for…
Mar 15 2022, 9:36 AM · Restricted Project
shafik closed D121408: Fixing DWARFExpression handling of ValueType::FileAddress case for DW_OP_deref_size .
Mar 15 2022, 9:36 AM · Restricted Project, Restricted Project
shafik updated the diff for D121408: Fixing DWARFExpression handling of ValueType::FileAddress case for DW_OP_deref_size .

Fixing up diff

Mar 15 2022, 9:31 AM · Restricted Project, Restricted Project
shafik added a comment to D121605: [lldb/test] Make category-skipping logic "platform"-independent.

I think this PR broke green dragon incremental build: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/42185/

Mar 15 2022, 8:17 AM · Restricted Project, Restricted Project
shafik updated the diff for D121408: Fixing DWARFExpression handling of ValueType::FileAddress case for DW_OP_deref_size .

Removing dead code.

Mar 15 2022, 8:06 AM · Restricted Project, Restricted Project

Mar 14 2022

shafik added a comment to D121532: [Clang] Fix Unevaluated Lambdas.

Can you add a test to ASTImpoterTest.cpp that checks that we import the LambdaDependencyKind correctly?

Mar 14 2022, 2:04 PM · Restricted Project, Restricted Project
shafik committed rG28c878aeb29a: [LLDB] Applying clang-tidy modernize-use-default-member-init over LLDB (authored by shafik).
[LLDB] Applying clang-tidy modernize-use-default-member-init over LLDB
Mar 14 2022, 1:34 PM · Restricted Project
shafik closed D121481: Applying clang-tidy modernize-use-default-member-init over LLDB.
Mar 14 2022, 1:33 PM · Restricted Project, Restricted Project

Mar 11 2022

shafik updated the diff for D121481: Applying clang-tidy modernize-use-default-member-init over LLDB.

Applying clang-format

Mar 11 2022, 11:37 AM · Restricted Project, Restricted Project
shafik requested review of D121481: Applying clang-tidy modernize-use-default-member-init over LLDB.
Mar 11 2022, 11:24 AM · Restricted Project, Restricted Project
shafik added inline comments to D121408: Fixing DWARFExpression handling of ValueType::FileAddress case for DW_OP_deref_size .
Mar 11 2022, 8:02 AM · Restricted Project, Restricted Project
shafik added a reviewer for D121408: Fixing DWARFExpression handling of ValueType::FileAddress case for DW_OP_deref_size : clayborg.
Mar 11 2022, 8:01 AM · Restricted Project, Restricted Project
shafik updated the diff for D121408: Fixing DWARFExpression handling of ValueType::FileAddress case for DW_OP_deref_size .

Addressing comment

Mar 11 2022, 8:01 AM · Restricted Project, Restricted Project

Mar 10 2022

shafik added a comment to D121281: [ADT] Make BitmaskEnum operations constant expressions.

This is just prep work for another change then?

Mar 10 2022, 2:23 PM · Restricted Project, Restricted Project
shafik added a comment to D121408: Fixing DWARFExpression handling of ValueType::FileAddress case for DW_OP_deref_size .

There can probably be some more refactoring wrt to the Value class which also does a lot of the same work but there are enough differences that I think any attempt at that should be left for a separate PR.

Mar 10 2022, 1:16 PM · Restricted Project, Restricted Project
shafik requested review of D121408: Fixing DWARFExpression handling of ValueType::FileAddress case for DW_OP_deref_size .
Mar 10 2022, 1:15 PM · Restricted Project, Restricted Project

Mar 8 2022

shafik added a comment to D121161: [lldb] Avoid global constructor in LLDBLog.cpp.

The class has a constexpr constructor. I thought that would be enough to avoid runtime initialization. Is this being flagged by something?

It is getting flagged by -Wglobal-constructor but you're right, it's constexpr and therefore shouldn't. Might be a bug in clang. I'll try to repro with ToT.

Mar 8 2022, 2:04 PM · Restricted Project

Mar 7 2022

shafik added a comment to D121176: [ASTStructuralEquivalence] Add support for comparing ObjCCategoryDecl..

This make sense to me at a first pass, please make sure you run check-lldb as well.

Mar 7 2022, 6:12 PM · Restricted Project, Restricted Project

Mar 4 2022

shafik committed rG9bd72b5c2585: [LLDB] Remove cases of using namespace std (authored by shafik).
[LLDB] Remove cases of using namespace std
Mar 4 2022, 12:51 PM · Restricted Project
shafik closed D120966: Remove cases of using namespace std .
Mar 4 2022, 12:51 PM · Restricted Project, Restricted Project

Mar 3 2022

shafik added a comment to D120966: Remove cases of using namespace std .

As a side note, I noticed that we don't prefix typedefs from cstdint with std:: e.g. size_t. These typedefs are not guaranteed to be in the global namespace.

Mar 3 2022, 8:13 PM · Restricted Project, Restricted Project
shafik requested review of D120966: Remove cases of using namespace std .
Mar 3 2022, 8:11 PM · Restricted Project, Restricted Project
shafik added a comment to D120489: [analyzer] Done some changes to detect Uninitialized read by the char array manipulation functions.

Looks like it also broke lldb green dragon incremental as well: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/41865/consoleFull#-27141295349ba4694-19c4-4d7e-bec5-911270d8a58c

Mar 3 2022, 11:26 AM · Restricted Project, Restricted Project
shafik committed rGae869d448499: [LLDB] Remove cases of using namespace llvm:: from header file (authored by shafik).
[LLDB] Remove cases of using namespace llvm:: from header file
Mar 3 2022, 10:42 AM · Restricted Project
shafik closed D120836: [LLDB] Remove cases of using namespace llvm:: from header file.
Mar 3 2022, 10:42 AM · Restricted Project, Restricted Project
shafik updated the diff for D120836: [LLDB] Remove cases of using namespace llvm:: from header file.

Moved to using namespace lldb_private::dwarf everywhere since the consensus is that being verbose is preferred.

Mar 3 2022, 9:52 AM · Restricted Project, Restricted Project

Mar 2 2022

shafik added inline comments to D120836: [LLDB] Remove cases of using namespace llvm:: from header file.
Mar 2 2022, 7:04 PM · Restricted Project, Restricted Project
shafik updated the diff for D120836: [LLDB] Remove cases of using namespace llvm:: from header file.

Updating diff based on comments

Mar 2 2022, 2:41 PM · Restricted Project, Restricted Project
shafik added a comment to D120836: [LLDB] Remove cases of using namespace llvm:: from header file.

I think it's reasonable to be able to refer to the dwarf constants from within the dwarf plugin via their base names alone. The implementation -- a top-level using namespace llvm::dwarf -- is not reasonable, but that's because the plugin is very old, and completely unnamespaced.

For the newer plugins, we've started putting them in a sub-namespace of lldb_private, which means they cannot be accidentally referenced from the core code, but they can easily reference (without qualification) symbols defined in the core libraries.

If we put the dwarf plugin into a (e.g.) lldb_private::dwarf namespace, then I think it would be ok to put a using namespace llvm::dwarf into that namespace, even in a header -- because those symbols would only be visible to symbols which are in that namespace.

In other words, I'd have the dwarf plugin do what the minidump plugin is doing (disclaimer: I wrote most of that plugin).

Anyway, I'm not married to that approach, but that's what I would do...

Mar 2 2022, 11:48 AM · Restricted Project, Restricted Project
shafik added a comment to D120836: [LLDB] Remove cases of using namespace llvm:: from header file.

I used using namespace in a few functions but I am not committed to this approach. So I am happy to hear feedback on whether we want to just use fully qualified names everywhere instead or nail down a criteria as to when it is acceptable.

Mar 2 2022, 10:56 AM · Restricted Project, Restricted Project
shafik requested review of D120836: [LLDB] Remove cases of using namespace llvm:: from header file.
Mar 2 2022, 10:54 AM · Restricted Project, Restricted Project

Mar 1 2022

shafik added a comment to D120718: Fix DataExtractor symbol conflict.

I think the better solution here is to get rid of the using namespace llvm; in the implementation file instead.

Mar 1 2022, 1:09 PM · Restricted Project, Restricted Project
shafik accepted D120718: Fix DataExtractor symbol conflict.

LGTM

Mar 1 2022, 8:16 AM · Restricted Project, Restricted Project

Feb 27 2022

shafik added a comment to D119917: [Support] Add CSKY target parser and attributes parser.

Looks like this PR broke the green dragon bot, see: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/41771/consoleFull#10309019849ba4694-19c4-4d7e-bec5-911270d8a58c

Feb 27 2022, 9:01 PM · Restricted Project

Feb 21 2022

shafik committed rG14101f48d205: [LLDB] Remove recursive include of GDBRemoteCommunicationServerCommon.h (authored by shafik).
[LLDB] Remove recursive include of GDBRemoteCommunicationServerCommon.h
Feb 21 2022, 6:48 PM
shafik closed D120105: Remove recursive include of GDBRemoteCommunicationServerCommon.h.
Feb 21 2022, 6:47 PM · Restricted Project

Feb 17 2022

shafik requested review of D120105: Remove recursive include of GDBRemoteCommunicationServerCommon.h.
Feb 17 2022, 6:49 PM · Restricted Project
shafik committed rG08a6229e214b: [LLDB] Adding skipif for arm linux for TestStructuredBinding.py (authored by shafik).
[LLDB] Adding skipif for arm linux for TestStructuredBinding.py
Feb 17 2022, 2:31 PM
shafik committed rGf6d390193cbc: [LLDB] Fix TestStructuredBinding.py for libstdc++ (authored by shafik).
[LLDB] Fix TestStructuredBinding.py for libstdc++
Feb 17 2022, 11:30 AM
shafik committed rGf56cb520d855: [DEBUGINFO] [LLDB] Add support for generating debug-info for structured… (authored by shafik).
[DEBUGINFO] [LLDB] Add support for generating debug-info for structured…
Feb 17 2022, 11:14 AM
shafik closed D119178: Add support for generating debug-info for structured bindings of structs and arrays.
Feb 17 2022, 11:14 AM · Restricted Project, Restricted Project, debug-info

Feb 16 2022

shafik added a comment to D119501: [lldb/crashlog] Add CrashLogScriptedProcess & remove interactive mode.

Looks like the scripted_crashlog_json.test is broken on green dragon: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/41454/testReport/junit/lldb-shell/ScriptInterpreter_Python_Crashlog/scripted_crashlog_json_test/

Feb 16 2022, 1:14 PM · Restricted Project
shafik committed rG80a11e080358: [LLDB] Replace use of double underscore in identifiers (authored by shafik).
[LLDB] Replace use of double underscore in identifiers
Feb 16 2022, 11:55 AM
shafik closed D119915: Replace use of double underscore in identifiers.
Feb 16 2022, 11:55 AM · Restricted Project
shafik updated the diff for D119915: Replace use of double underscore in identifiers.

Used shorter options for renaming based on feedback.

Feb 16 2022, 11:27 AM · Restricted Project

Feb 15 2022

shafik requested review of D119915: Replace use of double underscore in identifiers.
Feb 15 2022, 9:06 PM · Restricted Project
shafik added a comment to D119857: [lldb] Don't rely on unsigned integer wrapping in PutRawBytes and PutBytesAsRawHex8.

Do we have a test that covers this edge case?

Feb 15 2022, 4:55 PM · Restricted Project
shafik added inline comments to D119178: Add support for generating debug-info for structured bindings of structs and arrays.
Feb 15 2022, 2:20 PM · Restricted Project, Restricted Project, debug-info
shafik updated the diff for D119178: Add support for generating debug-info for structured bindings of structs and arrays.

Addressed comments on SmallVector size and fixed test.

Feb 15 2022, 2:19 PM · Restricted Project, Restricted Project, debug-info