Page MenuHomePhabricator

davrec (David Rector)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 4 2021, 10:11 AM (79 w, 4 d)

Recent Activity

Yesterday

davrec added a comment to D131858: [clang] Track the templated entity in type substitution..

It was very good to separate this out, thanks. Can you can do some TMP performance testing, to verify the impacts are negligible before taking resugaring into consideration, to allay potential concerns?

Sun, Aug 14, 2:12 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
davrec added inline comments to D130308: [clang] extend getCommonSugaredType to merge sugar nodes.
Sun, Aug 14, 11:24 AM · Restricted Project, Restricted Project, Restricted Project
davrec added inline comments to D130308: [clang] extend getCommonSugaredType to merge sugar nodes.
Sun, Aug 14, 11:00 AM · Restricted Project, Restricted Project, Restricted Project
davrec added a comment to D111283: [clang] template / auto deduction deduces common sugar.

The second paragraph is talking about 'Canonical nodes', not 'Canonical types'.

A canonical node is a type node for which 'isSugared' method returns false.

Sun, Aug 14, 8:29 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Thu, Aug 11

davrec added a comment to D111283: [clang] template / auto deduction deduces common sugar.

This part of the description is confusing:

Thu, Aug 11, 7:18 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Wed, Aug 10

davrec added inline comments to D127695: WIP: clang: Implement Template Specialization Resugaring.
Wed, Aug 10, 6:28 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Mon, Aug 8

davrec accepted D128113: Clang: fix AST representation of expanded template arguments..

This corrects a genuine deficiency in the AST, and the patch LGTM. Can we knock this off Matheus' stack?

Mon, Aug 8, 3:01 PM · Restricted Project, Restricted Project

Feb 2 2022

davrec added inline comments to D117391: [AST] Ignore implicit nodes in CastExpr::getConversionFunction.
Feb 2 2022, 12:15 PM · Restricted Project, Restricted Project

Jan 31 2022

davrec added inline comments to D117391: [AST] Ignore implicit nodes in CastExpr::getConversionFunction.
Jan 31 2022, 1:52 PM · Restricted Project, Restricted Project

Jan 16 2022

davrec added a reviewer for D117391: [AST] Ignore implicit nodes in CastExpr::getConversionFunction: rsmith.
Jan 16 2022, 7:49 AM · Restricted Project, Restricted Project
davrec added a reviewer for D117390: [AST] Reformat CastExpr unittest suite: rsmith.

@daverec I don't have commit access, could you help me land this?

I've rebased on main without conflicts, and ninja check-clang ran successfully after rebase.

Let me know if there's anything else I can do as far as prep work.

Jan 16 2022, 7:49 AM · Restricted Project

Jan 15 2022

davrec accepted D117390: [AST] Reformat CastExpr unittest suite.
Jan 15 2022, 5:50 PM · Restricted Project
davrec accepted D117391: [AST] Ignore implicit nodes in CastExpr::getConversionFunction.

Looks good, thanks for fixing this!

Jan 15 2022, 5:49 PM · Restricted Project, Restricted Project

Jan 7 2022

davrec added a comment to D114622: [clang-tidy][analyzer] Fix false-positive in IdenticalExprChecker and misc-redundant-expression.

There are already two way more sophisticated (forgive me my bias) implementations in Clang that are for checking if two statements or decls are the same.

  1. ODRHash, used in modules to discover ODR violations
  2. ASTStructuralEquivalenceContext, used in ASTImporter to discover if two AST nodes are the same or not (as a side effect we diagnose ODR violations as well).

It is not the first time, when such a similarity check is needed (see https://reviews.llvm.org/D75041). Of course reusing the before mentioned components would require some architectural changes, but it might be beneficial.

Jan 7 2022, 10:13 AM · Restricted Project

Dec 21 2021

davrec added inline comments to D114622: [clang-tidy][analyzer] Fix false-positive in IdenticalExprChecker and misc-redundant-expression.
Dec 21 2021, 8:27 AM · Restricted Project
davrec added inline comments to D114622: [clang-tidy][analyzer] Fix false-positive in IdenticalExprChecker and misc-redundant-expression.
Dec 21 2021, 5:57 AM · Restricted Project

Dec 16 2021

davrec added a comment to D114251: [AST] Add a sugar type for types found via UsingDecl.

throughUsingDecl seems like a good solution, though I defer to regular ASTMatchers users.

Dec 16 2021, 7:20 AM · Restricted Project, Restricted Project, Restricted Project

Nov 29 2021

davrec added a comment to D114622: [clang-tidy][analyzer] Fix false-positive in IdenticalExprChecker and misc-redundant-expression.

A couple thoughts/cases to consider...

Nov 29 2021, 9:59 AM · Restricted Project
davrec accepted D114251: [AST] Add a sugar type for types found via UsingDecl.

Looks great, thanks for identifying the need and banging this out so quickly.
Hope you had some time to enjoy the holiday with your family!
Dave

Nov 29 2021, 3:55 AM · Restricted Project, Restricted Project, Restricted Project

Nov 19 2021

davrec added a comment to D114251: [AST] Add a sugar type for types found via UsingDecl.

Looks good, a few notes.

Nov 19 2021, 5:26 PM · Restricted Project, Restricted Project, Restricted Project

Jun 12 2021

davrec accepted D104182: [clang][NFC] Add IsAnyDestructorNoReturn field to CXXRecord instead of calculating it on demand.
Jun 12 2021, 6:17 PM · Restricted Project
davrec added a comment to D104182: [clang][NFC] Add IsAnyDestructorNoReturn field to CXXRecord instead of calculating it on demand.

Was this performance hit when using the static analyzer? A quick search suggests isAnyDestructorNoReturn() is only called within the analyzer, whereas comparable CXXRecordDecl methods whose results are stored (hasIrrelevantDestructor() etc.) seem to be called somewhere by Sema.

Jun 12 2021, 12:24 PM · Restricted Project

May 24 2021

davrec accepted D102241: [clang] p1099 4/5: using enum EnumTag.
May 24 2021, 4:57 PM · Restricted Project, Restricted Project
davrec accepted D101777: [clang] p1099 1/5: [NFC] Break out BaseUsingDecl from UsingDecl.

Looks good, thanks for doing this!

May 24 2021, 4:57 PM · Restricted Project, Restricted Project

May 22 2021

davrec added inline comments to D102241: [clang] p1099 4/5: using enum EnumTag.
May 22 2021, 12:46 PM · Restricted Project, Restricted Project
davrec added inline comments to D102241: [clang] p1099 4/5: using enum EnumTag.
May 22 2021, 10:45 AM · Restricted Project, Restricted Project
davrec accepted D100276: [clang] p1099 3/5: using Enum::member.
May 22 2021, 8:39 AM · Restricted Project
davrec accepted D102239: [clang][NFC] p1099 2/5: Break out enum completion from context completion.
May 22 2021, 8:36 AM · Restricted Project
davrec accepted D101777: [clang] p1099 1/5: [NFC] Break out BaseUsingDecl from UsingDecl.

Sorry for the delay.
Richard should probably weigh in before absolutely committing to

  1. BaseUsingDecl/UsingEnumDecl/UsingDecl (as implemented here) vs. single UsingDecl (Nathan's original approach) and
  2. Renaming getUsingDecl() to getIntroducer() (if it is to return a BaseUsingDecl).
May 22 2021, 8:26 AM · Restricted Project, Restricted Project
davrec accepted D102242: [clang] p1099 5/5: feature macro & web page.
May 22 2021, 7:54 AM · Restricted Project

May 7 2021

davrec added inline comments to D101777: [clang] p1099 1/5: [NFC] Break out BaseUsingDecl from UsingDecl.
May 7 2021, 3:13 PM · Restricted Project, Restricted Project