Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

usaxena95 (Utkarsh Saxena)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 28 2018, 2:16 AM (265 w, 6 d)

Recent Activity

Aug 31 2023

usaxena95 closed D158842: [include-cleaner] Handle decls/refs to concepts..

closed by ac2d2652db8de9ea2b750dd2bf1232941039dffe

Aug 31 2023, 5:01 AM · Restricted Project, Restricted Project, Restricted Project
usaxena95 updated the summary of D158842: [include-cleaner] Handle decls/refs to concepts..
Aug 31 2023, 5:00 AM · Restricted Project, Restricted Project, Restricted Project
usaxena95 committed rGac2d2652db8d: [include-cleaner] Handle decls/refs to concepts (authored by usaxena95).
[include-cleaner] Handle decls/refs to concepts
Aug 31 2023, 4:59 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D158842: [include-cleaner] Handle decls/refs to concepts..

Addressed comments.

Aug 31 2023, 3:43 AM · Restricted Project, Restricted Project, Restricted Project
usaxena95 added inline comments to D158842: [include-cleaner] Handle decls/refs to concepts..
Aug 31 2023, 3:11 AM · Restricted Project, Restricted Project, Restricted Project
usaxena95 updated the diff for D158842: [include-cleaner] Handle decls/refs to concepts..

Rebased over AST changes.

Aug 31 2023, 3:11 AM · Restricted Project, Restricted Project, Restricted Project

Aug 25 2023

usaxena95 updated the summary of D158842: [include-cleaner] Handle decls/refs to concepts..
Aug 25 2023, 6:28 AM · Restricted Project, Restricted Project, Restricted Project
usaxena95 requested review of D158842: [include-cleaner] Handle decls/refs to concepts..
Aug 25 2023, 6:16 AM · Restricted Project, Restricted Project, Restricted Project

Jul 21 2023

usaxena95 accepted D155898: [clangd] Fix go-to-type target location.
Jul 21 2023, 3:58 AM · Restricted Project, Restricted Project

Jul 18 2023

usaxena95 added inline comments to D155614: [clangd] Remove redundant emptiness check in cross ref calculation for includes..
Jul 18 2023, 12:10 PM · Restricted Project, Restricted Project

Apr 13 2023

usaxena95 committed rGed365f464a0a: [clangd] Use FileEntryRef for canonicalizing filepaths. (authored by usaxena95).
[clangd] Use FileEntryRef for canonicalizing filepaths.
Apr 13 2023, 7:50 AM · Restricted Project, Restricted Project
usaxena95 closed D148213: [clangd] Use FileEntryRef for canonicalizing filepaths..
Apr 13 2023, 7:50 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D148213: [clangd] Use FileEntryRef for canonicalizing filepaths..

Addressed comments.

Apr 13 2023, 6:53 AM · Restricted Project, Restricted Project
usaxena95 updated the summary of D148213: [clangd] Use FileEntryRef for canonicalizing filepaths..
Apr 13 2023, 5:01 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D148213: [clangd] Use FileEntryRef for canonicalizing filepaths..

Rebase

Apr 13 2023, 4:15 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D148213: [clangd] Use FileEntryRef for canonicalizing filepaths..

More refactorings.

Apr 13 2023, 4:04 AM · Restricted Project, Restricted Project
usaxena95 requested review of D148213: [clangd] Use FileEntryRef for canonicalizing filepaths..
Apr 13 2023, 3:49 AM · Restricted Project, Restricted Project

Mar 22 2023

usaxena95 added a comment to D145642: [clang-format] Annotate lambdas with requires clauses..

starting a line with an opening paren is pretty weird!)

I do not think this is weird. On the contrary, this is more readable to me and separates the requires clause from the parameters list. For example this one looks so much better:

// trunk.
template <typename T>
void func() {
  auto x = []<typename U>
    requires Foo<T> && Foo<T>(T t, U u) requires BarBar<U> && BarBar<U> ||
                 BarBar<U>
  {
    return u + t;
  };
}
// patch.
template <typename T> void func() {
  auto x = []<typename U>
    requires Foo<T> && Foo<T>
  (T t, U u)
    requires BarBar<U> && BarBar<U> || BarBar<U>
  { return u + t; };
}
Mar 22 2023, 8:12 AM · Restricted Project, Restricted Project, Restricted Project

Mar 6 2023

usaxena95 added a comment to D142384: [C++20] Fix a crash with modules..

This does not seem to be a pressing issue as there are no other reported module/cpp20 related crashes which were fixed by this.
Also since it has no tests, it should be fine to postpone it to the next release.

Mar 6 2023, 9:18 AM · Restricted Project, Restricted Project

Mar 2 2023

usaxena95 committed rGc396073a0de6: Change ClangTidy unit tests to run in C++20 mode instead of C++11. (authored by usaxena95).
Change ClangTidy unit tests to run in C++20 mode instead of C++11.
Mar 2 2023, 5:07 AM · Restricted Project, Restricted Project
usaxena95 closed D145154: Change ClangTidy unit tests to run in C++20 mode instead of C++11..
Mar 2 2023, 5:06 AM · Restricted Project, Restricted Project
usaxena95 requested review of D145154: Change ClangTidy unit tests to run in C++20 mode instead of C++11..
Mar 2 2023, 4:05 AM · Restricted Project, Restricted Project
usaxena95 committed rGb4d9ac8b453e: [C++20][ClangTidy] Update the ClangTidy tests to also test in C++20 mode (authored by usaxena95).
[C++20][ClangTidy] Update the ClangTidy tests to also test in C++20 mode
Mar 2 2023, 4:03 AM · Restricted Project, Restricted Project
usaxena95 closed D144480: [C++20][ClangTidy] Update the ClangTidy tests to also test in C++20 mode.
Mar 2 2023, 4:03 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D144480: [C++20][ClangTidy] Update the ClangTidy tests to also test in C++20 mode.

Addressed comments.

Mar 2 2023, 4:02 AM · Restricted Project, Restricted Project
usaxena95 added a reviewer for D144480: [C++20][ClangTidy] Update the ClangTidy tests to also test in C++20 mode: gribozavr.
Mar 2 2023, 2:36 AM · Restricted Project, Restricted Project

Feb 21 2023

usaxena95 added a reviewer for D144480: [C++20][ClangTidy] Update the ClangTidy tests to also test in C++20 mode: ilya-biryukov.
Feb 21 2023, 1:14 PM · Restricted Project, Restricted Project
usaxena95 requested review of D144480: [C++20][ClangTidy] Update the ClangTidy tests to also test in C++20 mode.
Feb 21 2023, 6:25 AM · Restricted Project, Restricted Project

Feb 2 2023

usaxena95 committed rGb6121432da79: [C++20] Fix a crash with modules. (authored by usaxena95).
[C++20] Fix a crash with modules.
Feb 2 2023, 8:07 AM · Restricted Project, Restricted Project
usaxena95 closed D142384: [C++20] Fix a crash with modules..
Feb 2 2023, 8:07 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D142384: [C++20] Fix a crash with modules..

Addressed comments.

Feb 2 2023, 8:05 AM · Restricted Project, Restricted Project

Feb 1 2023

usaxena95 added a comment to D142384: [C++20] Fix a crash with modules..

@usaxena95 could you give an example of the code that fails the assertion? Is it some of the tests?

assert(getDefinition()) fails about 3.6k tests.
assert(!isa<CXXRecordDecl>(this) || getDefinition()); fails a handful 23 tests in ObjC:

Failed Tests (23):
  Clang :: Analysis/CFContainers.mm
  Clang :: Analysis/blocks.m
  Clang :: Analysis/dtor-array.cpp
  Clang :: Analysis/edges-new.mm
  Clang :: Analysis/incorrect-checker-names.mm
  Clang :: Analysis/malloc.mm
  Clang :: Analysis/mig.mm
  Clang :: Analysis/retain-release.m
  Clang :: Analysis/retain-release.mm
  Clang :: Analysis/stack-capture-leak-arc.mm
  Clang :: Analysis/stack-capture-leak-no-arc.mm
  Clang :: Analysis/taint-tester.cpp
  Clang :: CodeGenObjCXX/encode.mm
  Clang-Unit :: AST/./ASTTests/0/100
  Clang-Unit :: AST/./ASTTests/1/100
  Clang-Unit :: AST/./ASTTests/14/100
  Clang-Unit :: AST/./ASTTests/16/100
  Clang-Unit :: AST/./ASTTests/76/100
  Clang-Unit :: AST/./ASTTests/77/100
  Clang-Unit :: AST/./ASTTests/78/100
  Clang-Unit :: AST/./ASTTests/79/100
  Clang-Unit :: AST/./ASTTests/98/100
  Clang-Unit :: AST/./ASTTests/99/100

bin/clang $SRC/llvm-project/clang/test/CodeGenObjCXX/encode.mm
Stacktrace: https://pastebin.pl/view/c6f505a7

Feb 1 2023, 11:41 PM · Restricted Project, Restricted Project
usaxena95 updated the diff for D142384: [C++20] Fix a crash with modules..

Moved to RecordDecl::field_begin. Assertion is no more valid in RecordDecl.

Feb 1 2023, 6:05 AM · Restricted Project, Restricted Project

Jan 31 2023

usaxena95 updated the diff for D142384: [C++20] Fix a crash with modules..

Use definition based field access only for CXXRecordDecl.
Avoid dynamic dispatch.

Jan 31 2023, 9:49 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D142384: [C++20] Fix a crash with modules..

Moved the use of definition where fields are accessed.
This now resolves several other C++20/Module related crashes as well.

Jan 31 2023, 2:49 AM · Restricted Project, Restricted Project

Jan 30 2023

usaxena95 updated the diff for D142384: [C++20] Fix a crash with modules..

Add message in the assertion.

Jan 30 2023, 10:55 PM · Restricted Project, Restricted Project

Jan 24 2023

usaxena95 updated the summary of D142384: [C++20] Fix a crash with modules..
Jan 24 2023, 1:56 AM · Restricted Project, Restricted Project
usaxena95 added a reviewer for D142384: [C++20] Fix a crash with modules.: ilya-biryukov.
Jan 24 2023, 1:55 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D142384: [C++20] Fix a crash with modules..

Use getDefinition

Jan 24 2023, 1:31 AM · Restricted Project, Restricted Project

Jan 23 2023

usaxena95 updated the summary of D142384: [C++20] Fix a crash with modules..
Jan 23 2023, 11:05 PM · Restricted Project, Restricted Project
usaxena95 requested review of D142384: [C++20] Fix a crash with modules..
Jan 23 2023, 10:20 AM · Restricted Project, Restricted Project

Jan 16 2023

usaxena95 committed rG15ad244670a9: Add test for an invalid requirement in requires expr. (authored by usaxena95).
Add test for an invalid requirement in requires expr.
Jan 16 2023, 3:29 AM · Restricted Project, Restricted Project
usaxena95 closed D141818: Add test for an invalid requirement in requires expr..
Jan 16 2023, 3:29 AM · Restricted Project, Restricted Project

Jan 15 2023

usaxena95 requested review of D141818: Add test for an invalid requirement in requires expr..
Jan 15 2023, 10:38 PM · Restricted Project, Restricted Project

Jan 13 2023

usaxena95 added a comment to D140547: Perform access checking to private members in simple requirement..

I have deleted the test in https://github.com/llvm/llvm-project/commit/a3b632ab8772237ae23638f702bdceda028b2016.
It is safe to delete as this is a brittle test trying to generate an invalid requirement using very deep template instantiation. I would find a better way to test this in another forward patch.

Jan 13 2023, 11:47 AM · Restricted Project, Restricted Project
usaxena95 committed rGa3b632ab8772: Remove brittle test introduced in D140547. (authored by usaxena95).
Remove brittle test introduced in D140547.
Jan 13 2023, 11:27 AM · Restricted Project, Restricted Project

Jan 11 2023

usaxena95 committed rG75c0d43e857d: [docs] Add newline in clang release notes. (authored by usaxena95).
[docs] Add newline in clang release notes.
Jan 11 2023, 3:29 AM · Restricted Project, Restricted Project
usaxena95 committed rG9e0474fbb9c5: Perform access checking to private members in simple requirement. (authored by usaxena95).
Perform access checking to private members in simple requirement.
Jan 11 2023, 3:14 AM · Restricted Project, Restricted Project
usaxena95 closed D140547: Perform access checking to private members in simple requirement..
Jan 11 2023, 3:14 AM · Restricted Project, Restricted Project

Jan 10 2023

usaxena95 updated the diff for D140547: Perform access checking to private members in simple requirement..

Remove new lines.

Jan 10 2023, 10:08 AM · Restricted Project, Restricted Project
usaxena95 added inline comments to D140547: Perform access checking to private members in simple requirement..
Jan 10 2023, 10:07 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D140547: Perform access checking to private members in simple requirement..

Addressed comments.

Jan 10 2023, 10:06 AM · Restricted Project, Restricted Project

Jan 5 2023

usaxena95 updated the summary of D140547: Perform access checking to private members in simple requirement..
Jan 5 2023, 9:33 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D140547: Perform access checking to private members in simple requirement..

Use ParsingDeclRAIIObject instead of ContextRAII.

Jan 5 2023, 9:27 AM · Restricted Project, Restricted Project

Jan 4 2023

usaxena95 updated the diff for D140547: Perform access checking to private members in simple requirement..

Return a valid RequriesExpr instead of a ExprError in case of depenedent diagnositcs.
We would also need to store the diagnositcs in the RequiresExpr for better diagnosis.

Jan 4 2023, 11:53 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D140547: Perform access checking to private members in simple requirement..

Added more tests. Still investigating libcxx failure and tests.

Jan 4 2023, 8:59 AM · Restricted Project, Restricted Project
usaxena95 added inline comments to D140547: Perform access checking to private members in simple requirement..
Jan 4 2023, 7:24 AM · Restricted Project, Restricted Project
usaxena95 updated the summary of D140547: Perform access checking to private members in simple requirement..
Jan 4 2023, 6:29 AM · Restricted Project, Restricted Project
usaxena95 added a reviewer for D140547: Perform access checking to private members in simple requirement.: Restricted Project.
Jan 4 2023, 6:09 AM · Restricted Project, Restricted Project
usaxena95 abandoned D140876: [clang][C++20] Non-dependent access checks in requires expression..

Moving the changes to https://reviews.llvm.org/D140547

Jan 4 2023, 6:09 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D140547: Perform access checking to private members in simple requirement..

Adding access check related changes from https://reviews.llvm.org/D140876

Jan 4 2023, 6:09 AM · Restricted Project, Restricted Project
usaxena95 added a comment to D140876: [clang][C++20] Non-dependent access checks in requires expression..

Should access checks should happen in the context where concept is written or where it's used?
If access-checking should happen where concept is defined, having a hard error seems fine because of the wording you quoted:

Jan 4 2023, 6:01 AM · Restricted Project, Restricted Project

Jan 3 2023

usaxena95 updated the diff for D140876: [clang][C++20] Non-dependent access checks in requires expression..

More tests.

Jan 3 2023, 1:44 AM · Restricted Project, Restricted Project
usaxena95 added a reviewer for D140876: [clang][C++20] Non-dependent access checks in requires expression.: Restricted Project.
Jan 3 2023, 1:35 AM · Restricted Project, Restricted Project
usaxena95 added reviewers for D140876: [clang][C++20] Non-dependent access checks in requires expression.: erichkeane, shafik, ilya-biryukov.
Jan 3 2023, 1:35 AM · Restricted Project, Restricted Project
usaxena95 requested review of D140876: [clang][C++20] Non-dependent access checks in requires expression..
Jan 3 2023, 1:33 AM · Restricted Project, Restricted Project

Dec 30 2022

usaxena95 updated the diff for D140547: Perform access checking to private members in simple requirement..

Improved comment and added comment.

Dec 30 2022, 1:19 PM · Restricted Project, Restricted Project
usaxena95 updated the summary of D140547: Perform access checking to private members in simple requirement..
Dec 30 2022, 1:18 PM · Restricted Project, Restricted Project
usaxena95 updated the diff for D140547: Perform access checking to private members in simple requirement..

Perform access-dependent checks after transforming requires clause.
This is more generic and less invasive than the previous version which changed RebuildMemberExpr and also produced duplicate diagnostics.

Dec 30 2022, 1:07 PM · Restricted Project, Restricted Project

Dec 22 2022

usaxena95 added a reviewer for D140547: Perform access checking to private members in simple requirement.: ilya-biryukov.
Dec 22 2022, 4:45 AM · Restricted Project, Restricted Project
usaxena95 requested review of D140547: Perform access checking to private members in simple requirement..
Dec 22 2022, 4:45 AM · Restricted Project, Restricted Project

Dec 21 2022

usaxena95 committed rG3b186db5a97c: [clang][C++20] Add test for crash in NestedRequirement. (authored by usaxena95).
[clang][C++20] Add test for crash in NestedRequirement.
Dec 21 2022, 9:53 PM · Restricted Project, Restricted Project
usaxena95 added inline comments to D138914: Make evaluation of nested requirement consistent with requires expr..
Dec 21 2022, 8:26 PM · Restricted Project, Restricted Project
usaxena95 committed rG8c0aa53b07ca: Fix out-of-bound access in TransformNestedRequirement. (authored by usaxena95).
Fix out-of-bound access in TransformNestedRequirement.
Dec 21 2022, 8:24 PM · Restricted Project, Restricted Project

Dec 19 2022

usaxena95 committed rGb3ce87285186: Make evaluation of nested requirement consistent with requires expr. (authored by usaxena95).
Make evaluation of nested requirement consistent with requires expr.
Dec 19 2022, 11:25 AM · Restricted Project, Restricted Project
usaxena95 closed D138914: Make evaluation of nested requirement consistent with requires expr..
Dec 19 2022, 11:25 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D138914: Make evaluation of nested requirement consistent with requires expr..

Removed use of SubstitutionDiagnostic from NestedRequirement.

Dec 19 2022, 10:51 AM · Restricted Project, Restricted Project

Nov 29 2022

usaxena95 updated the diff for D138914: Make evaluation of nested requirement consistent with requires expr..

Remove unintended whitespaces and new lines.

Nov 29 2022, 11:29 PM · Restricted Project, Restricted Project
usaxena95 updated the diff for D138914: Make evaluation of nested requirement consistent with requires expr..

Removed extraneous colons from diagnostic.

Nov 29 2022, 11:26 PM · Restricted Project, Restricted Project
usaxena95 added inline comments to D138914: Make evaluation of nested requirement consistent with requires expr..
Nov 29 2022, 11:14 PM · Restricted Project, Restricted Project
usaxena95 updated the diff for D138914: Make evaluation of nested requirement consistent with requires expr..

Addressed comments.

Nov 29 2022, 11:14 PM · Restricted Project, Restricted Project
usaxena95 updated the diff for D138914: Make evaluation of nested requirement consistent with requires expr..

Added tests.
Fixed regressions in diagnositcs.

Nov 29 2022, 11:20 AM · Restricted Project, Restricted Project
usaxena95 abandoned D137712: Correctly handle Substitution failure in concept specialization..

Second attempt along the lines of the last comment: https://reviews.llvm.org/D138914
PTAL.

Nov 29 2022, 5:22 AM · Restricted Project, Restricted Project
usaxena95 updated the summary of D138914: Make evaluation of nested requirement consistent with requires expr..
Nov 29 2022, 5:21 AM · Restricted Project, Restricted Project
usaxena95 requested review of D138914: Make evaluation of nested requirement consistent with requires expr..
Nov 29 2022, 5:20 AM · Restricted Project, Restricted Project

Nov 13 2022

usaxena95 added reviewers for D137712: Correctly handle Substitution failure in concept specialization.: erichkeane, ilya-biryukov.
Nov 13 2022, 10:54 PM · Restricted Project, Restricted Project
usaxena95 added inline comments to D137712: Correctly handle Substitution failure in concept specialization..
Nov 13 2022, 10:53 PM · Restricted Project, Restricted Project
usaxena95 updated the diff for D137712: Correctly handle Substitution failure in concept specialization..

Addressed commented. Added Release notes.
Removed infrastructure changes and deferred them to a future patch.

Nov 13 2022, 10:53 PM · Restricted Project, Restricted Project

Nov 11 2022

usaxena95 updated the diff for D137712: Correctly handle Substitution failure in concept specialization..

Moving closer to show diagnostic of entity for which SFNIAE occurred.

Nov 11 2022, 3:50 AM · Restricted Project, Restricted Project

Nov 10 2022

usaxena95 updated the summary of D137712: Correctly handle Substitution failure in concept specialization..
Nov 10 2022, 2:39 AM · Restricted Project, Restricted Project
usaxena95 updated the summary of D137712: Correctly handle Substitution failure in concept specialization..
Nov 10 2022, 2:38 AM · Restricted Project, Restricted Project

Nov 9 2022

usaxena95 updated the summary of D137712: Correctly handle Substitution failure in concept specialization..
Nov 9 2022, 7:10 AM · Restricted Project, Restricted Project
usaxena95 updated subscribers of D137712: Correctly handle Substitution failure in concept specialization..
Nov 9 2022, 6:55 AM · Restricted Project, Restricted Project
usaxena95 requested review of D137712: Correctly handle Substitution failure in concept specialization..
Nov 9 2022, 6:42 AM · Restricted Project, Restricted Project

Oct 28 2022

usaxena95 added a comment to D133052: [clang] Avoid crash when expanding conversion templates in concepts..

Coincidentally 2 of the bugs were just fixed in b9a77b56d8. I do not completely agree with the approach there though. We should be fixing the root cause instead of circumventing the assert in InsertNode by insert-if-not-present. This is why we have 44304 and 50891 still persistent.

Oct 28 2022, 11:03 AM · Restricted Project, Restricted Project
usaxena95 added a comment to D133052: [clang] Avoid crash when expanding conversion templates in concepts..

My suggestion would be to properly handle cycles in CheckConstraintSatisfaction. This problem goes beyond cycles introduced by conversion. See #53213, #44304 and #45736 https://godbolt.org/z/hzM6f3qnW. Most of the bugs are due to an assertion failure while inserting entry into SatisfactionCache.

Oct 28 2022, 6:15 AM · Restricted Project, Restricted Project

Oct 27 2022

usaxena95 added a comment to D133052: [clang] Avoid crash when expanding conversion templates in concepts..

Not sure if this has come up already but this would still crash on

template <typename T>
concept C = requires(T a) { foo(a); };
struct D1 {
    template <C TO> D1(TO);
};
struct D2 {
    friend void foo(D1);
};
Oct 27 2022, 1:09 PM · Restricted Project, Restricted Project
usaxena95 committed rG56099d242809: [clang] Do not hide base member using-decls with different template head. (authored by usaxena95).
[clang] Do not hide base member using-decls with different template head.
Oct 27 2022, 2:53 AM · Restricted Project, Restricted Project
usaxena95 closed D136440: [clang] Do not hide base member using-decls with different template head..
Oct 27 2022, 2:53 AM · Restricted Project, Restricted Project
usaxena95 updated the diff for D136440: [clang] Do not hide base member using-decls with different template head..

Addressed comments. Added release notes.

Oct 27 2022, 2:33 AM · Restricted Project, Restricted Project