Page MenuHomePhabricator

kbobyrev (Kirill Bobyrev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 19 2018, 7:14 AM (200 w, 4 d)

Recent Activity

Thu, May 19

kbobyrev removed a reviewer for D75251: [clangd] Move the format rename edits from clangdserver to rename API, NFC.: kbobyrev.
Thu, May 19, 5:53 AM · Restricted Project, Restricted Project, Restricted Project
kbobyrev removed a reviewer for D106645: [clangd] Tweak constructor of dex AndIterator for performance.: kbobyrev.
Thu, May 19, 5:53 AM · Restricted Project, Restricted Project
kbobyrev removed a reviewer for D118847: Added early exit for defaulted FunctionDecls.: kbobyrev.
Thu, May 19, 5:53 AM · Restricted Project, Restricted Project
kbobyrev abandoned D84138: Recommend Clangd extension for VSCode users.
Thu, May 19, 5:52 AM · Restricted Project, Restricted Project
kbobyrev abandoned D96324: [clangd] Rename references to function arguments within the same file.
Thu, May 19, 5:52 AM · Restricted Project, Restricted Project, Restricted Project
kbobyrev abandoned D117461: [clangd] IncludeCleaner: Attach "insert prgama keep" fix-it to diagnostic.
Thu, May 19, 5:52 AM · Restricted Project, Restricted Project
kbobyrev abandoned D83914: [clangd] Plan features for FoldingRanges.
Thu, May 19, 5:52 AM · Restricted Project, Restricted Project, Restricted Project
kbobyrev abandoned D84811: [clangd] Add an option to exclude symbols outside of project root from index.
Thu, May 19, 5:51 AM · Restricted Project, Restricted Project, Restricted Project
kbobyrev abandoned D85426: [clangd] Implement FileFilter for the indexer.
Thu, May 19, 5:51 AM · Restricted Project, Restricted Project, Restricted Project
kbobyrev abandoned D112707: [clangd] IncludeCleaner: Be more conservative in marking RecordDecl usage.
Thu, May 19, 5:51 AM · Restricted Project, Restricted Project
kbobyrev abandoned D113262: [clangd] Allow IncludeCleaner to replace unused header with transitively used.
Thu, May 19, 5:51 AM · Restricted Project, Restricted Project
kbobyrev removed a reviewer for D121593: [clangd][WIP] Provide clang-include-cleaner: kbobyrev.
Thu, May 19, 5:51 AM · Restricted Project, Restricted Project
kbobyrev updated subscribers of D125930: [clangd] WIP: Experimental support for "IWYU pragma: export".
Thu, May 19, 4:58 AM · Restricted Project, Restricted Project
kbobyrev committed rG4f5a4215bfc8: [clangd] Update the test after diagnostic message change (authored by kbobyrev).
[clangd] Update the test after diagnostic message change
Thu, May 19, 3:04 AM · Restricted Project, Restricted Project
kbobyrev committed rG43c0f90dd6eb: [clangd] NFC: Clarify the Include Cleaner warning (authored by kbobyrev).
[clangd] NFC: Clarify the Include Cleaner warning
Thu, May 19, 3:00 AM · Restricted Project, Restricted Project

Wed, May 18

kbobyrev requested review of D125930: [clangd] WIP: Experimental support for "IWYU pragma: export".
Wed, May 18, 2:25 PM · Restricted Project, Restricted Project

Mon, May 16

kbobyrev committed rG106e63ce47b5: [clangd] NFC: Rename field to be compatible with the function name (authored by kbobyrev).
[clangd] NFC: Rename field to be compatible with the function name
Mon, May 16, 1:18 AM · Restricted Project, Restricted Project
kbobyrev committed rG40f361ace3e9: [clangd] Include Cleaner: ignore headers with IWYU export pragmas (authored by kbobyrev).
[clangd] Include Cleaner: ignore headers with IWYU export pragmas
Mon, May 16, 1:14 AM · Restricted Project, Restricted Project
kbobyrev closed D125468: [clangd] Include Cleaner: ignore headers with IWYU export pragmas.
Mon, May 16, 1:14 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D125468: [clangd] Include Cleaner: ignore headers with IWYU export pragmas.

Address review comments.

Mon, May 16, 1:12 AM · Restricted Project, Restricted Project

Sun, May 15

kbobyrev updated the diff for D125468: [clangd] Include Cleaner: ignore headers with IWYU export pragmas.

Also rebase on top of main.

Sun, May 15, 11:53 PM · Restricted Project, Restricted Project
kbobyrev updated the diff for D125468: [clangd] Include Cleaner: ignore headers with IWYU export pragmas.

Address review comments: the structure is a bit different but the bug is now
actually removed.

Sun, May 15, 11:50 PM · Restricted Project, Restricted Project

Thu, May 12

kbobyrev updated the diff for D125468: [clangd] Include Cleaner: ignore headers with IWYU export pragmas.

Remove redundant comment.

Thu, May 12, 8:11 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D125468: [clangd] Include Cleaner: ignore headers with IWYU export pragmas.

Remove unwanted formatting changes.

Thu, May 12, 8:03 AM · Restricted Project, Restricted Project
kbobyrev requested review of D125468: [clangd] Include Cleaner: ignore headers with IWYU export pragmas.
Thu, May 12, 7:55 AM · Restricted Project, Restricted Project

Mon, May 9

kbobyrev added a comment to D125088: [clangd] Add parsing for IgnoreHeaders config option.

Is there a related change that explains what this setting does?

Mon, May 9, 12:32 AM · Restricted Project, Restricted Project

Fri, May 6

kbobyrev added inline comments to D125088: [clangd] Add parsing for IgnoreHeaders config option.
Fri, May 6, 7:06 AM · Restricted Project, Restricted Project
kbobyrev added inline comments to D125088: [clangd] Add parsing for IgnoreHeaders config option.
Fri, May 6, 7:06 AM · Restricted Project, Restricted Project
kbobyrev accepted D125088: [clangd] Add parsing for IgnoreHeaders config option.
Fri, May 6, 7:03 AM · Restricted Project, Restricted Project

Apr 21 2022

kbobyrev committed rG9f05b111ee1f: [clangd] Include Cleaner: suppress unused warnings for IWYU pragma: export (authored by kbobyrev).
[clangd] Include Cleaner: suppress unused warnings for IWYU pragma: export
Apr 21 2022, 8:01 AM · Restricted Project, Restricted Project
kbobyrev committed rGe1c0d2fb8272: [clangd] Correctly identify self-contained headers included rercursively (authored by kbobyrev).
[clangd] Correctly identify self-contained headers included rercursively
Apr 21 2022, 8:01 AM · Restricted Project, Restricted Project
kbobyrev closed D124170: [clangd] Include Cleaner: suppress unused warnings for IWYU pragma: export.
Apr 21 2022, 8:00 AM · Restricted Project, Restricted Project
kbobyrev closed D124166: [clangd] Correctly identify self-contained headers included rercursively.
Apr 21 2022, 8:00 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D124170: [clangd] Include Cleaner: suppress unused warnings for IWYU pragma: export.

Resolve comment.

Apr 21 2022, 7:59 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D124166: [clangd] Correctly identify self-contained headers included rercursively.

Resolve the comments.

Apr 21 2022, 7:05 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D124170: [clangd] Include Cleaner: suppress unused warnings for IWYU pragma: export.

Use strlen for performance.

Apr 21 2022, 6:57 AM · Restricted Project, Restricted Project
kbobyrev requested review of D124170: [clangd] Include Cleaner: suppress unused warnings for IWYU pragma: export.
Apr 21 2022, 6:54 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D124166: [clangd] Correctly identify self-contained headers included rercursively.

Remove unused include.

Apr 21 2022, 6:30 AM · Restricted Project, Restricted Project
kbobyrev requested review of D124166: [clangd] Correctly identify self-contained headers included rercursively.
Apr 21 2022, 6:30 AM · Restricted Project, Restricted Project

Apr 20 2022

kbobyrev accepted D123668: [Testing] TestAST, a helper for writing straight-line AST tests.

Thanks, this looks good; just few nits regarding the comments.

Apr 20 2022, 5:14 AM · Restricted Project, Restricted Project

Apr 19 2022

kbobyrev committed rGbdf0b757d593: [clangd] IncludeCleaner: Add filtering mechanism (authored by kbobyrev).
[clangd] IncludeCleaner: Add filtering mechanism
Apr 19 2022, 5:57 AM · Restricted Project, Restricted Project
kbobyrev closed D123488: [clangd] IncludeCleaner: Add filtering mechanism.
Apr 19 2022, 5:56 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D123488: [clangd] IncludeCleaner: Add filtering mechanism.

Resolve comments.

Apr 19 2022, 5:55 AM · Restricted Project, Restricted Project
kbobyrev updated subscribers of D123488: [clangd] IncludeCleaner: Add filtering mechanism.

@sammccall ping

Apr 19 2022, 12:00 AM · Restricted Project, Restricted Project

Apr 12 2022

kbobyrev added a comment to D123488: [clangd] IncludeCleaner: Add filtering mechanism.

Oops, sorry, I linked the wrong revision; here's the prototype: we plan to start rolling it out gradually https://reviews.llvm.org/D122677 and then have a common library that we could share between both clangd and Clang-Tidy (and potentially other tools).

Apr 12 2022, 7:39 AM · Restricted Project, Restricted Project
kbobyrev added a comment to D123488: [clangd] IncludeCleaner: Add filtering mechanism.

Cool stuff! Chiming in randomly here, but I've been keeping a loose eye on the progress of IncludeCleaner.

I've been using IncludeCleaner to power include cleanup in the Chromium code base for the past few months, and have built Python scripts around it so I can more efficiently use it at a code base level. You can find all that fun stuff on my repo: https://github.com/dsanders11/chromium-include-cleanup

In my usages, I've found there are three categories of ignores I need (you can see my ongoing list of them in the config file: https://github.com/dsanders11/chromium-include-cleanup/blob/main/configs/chromium.json):

  • Skip over a file entirely and don't provide any diagnostics for it. This is useful to ignore umbrella headers, without needing to ignore the headers included in that umbrella header.
  • Ignore diagnostics for a particular header, which is what is implemented here so far.
  • Ignore an include edge (filename, header). This is useful for cases where it's a spurious diagnostic, like when the usage is inside of a macro definition, so IncludeCleaner thinks it is unused but it is not.

This isn't entirely applicable here, but could be insightful: I initially I had my filtering mechanism in the script which ran clangd over the source files, but I found that it was better for my needs to decouple the filtering from the generating the diagnostics. Main reason being that generating the diagnostics for all 80k files in the Chromium code base takes hours to run, so if I found some new ignores I wanted to add, I'd have to do another 7 hour run (on the hardware I'm using), which wasn't efficient. So I let the many script output all diagnostics, and then I filter after the fact, letting me tweak the filtering without needing to re-run the whole thing. So for my own needs I'll probably stick with doing the filtering after the fact, even if it's built-in. Not too applicable for IncludeCleaner usage through say VS Code, but there are different challenges when doing it at code base level.

Apr 12 2022, 7:37 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D123488: [clangd] IncludeCleaner: Add filtering mechanism.

Fix the comment.

Apr 12 2022, 7:33 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D123488: [clangd] IncludeCleaner: Add filtering mechanism.

Resolve comments.

Apr 12 2022, 7:32 AM · Restricted Project, Restricted Project

Apr 11 2022

kbobyrev requested review of D123488: [clangd] IncludeCleaner: Add filtering mechanism.
Apr 11 2022, 1:42 AM · Restricted Project, Restricted Project

Apr 8 2022

kbobyrev added a comment to D121838: Generalize "check-all" umbrella targets, use for check-clang-tools.

LG to me with the comments that Haojian made!

Apr 8 2022, 5:26 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Apr 7 2022

kbobyrev committed rGbe572e1e1d29: [clangd] NFC: Fix doc typos (authored by kbobyrev).
[clangd] NFC: Fix doc typos
Apr 7 2022, 3:57 AM · Restricted Project, Restricted Project

Apr 6 2022

kbobyrev added a comment to D121838: Generalize "check-all" umbrella targets, use for check-clang-tools.

I think this is no longer [WIP] but rather review-ready, right?

Apr 6 2022, 7:52 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Apr 5 2022

kbobyrev added a comment to D123031: [clangd] Use stable keys for CanonicalIncludes mappings.

Looks like this breaks tests on Windows: http://45.33.8.238/win/55690/step_9.txt

please take a look, etc :)

Apr 5 2022, 9:22 AM · Restricted Project, Restricted Project
kbobyrev committed rG211df7319af4: Fix the test after D123031 (authored by kbobyrev).
Fix the test after D123031
Apr 5 2022, 9:22 AM · Restricted Project, Restricted Project
kbobyrev committed rG012e90bb2483: Reland "[clangd] IncludeCleaner: Add support for IWYU pragma private" (authored by kbobyrev).
Reland "[clangd] IncludeCleaner: Add support for IWYU pragma private"
Apr 5 2022, 7:58 AM · Restricted Project, Restricted Project
kbobyrev committed rG3de4d5e6dd66: [clangd] Use stable keys for CanonicalIncludes mappings (authored by kbobyrev).
[clangd] Use stable keys for CanonicalIncludes mappings
Apr 5 2022, 7:28 AM · Restricted Project, Restricted Project
kbobyrev closed D123031: [clangd] Use stable keys for CanonicalIncludes mappings.
Apr 5 2022, 7:28 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D123031: [clangd] Use stable keys for CanonicalIncludes mappings.

Fix the test case.

Apr 5 2022, 7:23 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D123031: [clangd] Use stable keys for CanonicalIncludes mappings.

Address review comments.

Apr 5 2022, 5:25 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D123031: [clangd] Use stable keys for CanonicalIncludes mappings.

Rebase correctly.

Apr 5 2022, 2:48 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D123031: [clangd] Use stable keys for CanonicalIncludes mappings.

Rebase on top of main.

Apr 5 2022, 2:45 AM · Restricted Project, Restricted Project
kbobyrev retitled D123031: [clangd] Use stable keys for CanonicalIncludes mappings from [clangd] Use consistent header paths in CanonicalIncludes mappings to [clangd] Use stable keys for CanonicalIncludes mappings.
Apr 5 2022, 2:40 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D123031: [clangd] Use stable keys for CanonicalIncludes mappings.

Switch to stable file UniqueIDs.

Apr 5 2022, 2:38 AM · Restricted Project, Restricted Project

Apr 4 2022

kbobyrev added inline comments to D123031: [clangd] Use stable keys for CanonicalIncludes mappings.
Apr 4 2022, 8:20 AM · Restricted Project, Restricted Project
kbobyrev added a comment to D123031: [clangd] Use stable keys for CanonicalIncludes mappings.

Right! I think I also need to do that in SymbolCollector.cpp.

Now that you mentioned this too, it feels like the issue is not about being consistent, as I think all of the places that we have today are actually making use of FileEntry::getName as keys to CanonicalIncludes::{addMapping,mapHeader}. Are we sure we're not relying on some sort of canonization of file path (AFAICT, that's not the case the only canonization that's happening is dropping ..) when you use tryGetRealPathName instead of getName?

Apr 4 2022, 8:10 AM · Restricted Project, Restricted Project
kbobyrev added a comment to D123031: [clangd] Use stable keys for CanonicalIncludes mappings.

note that you seem to be using auto PublicHeader = CanonIncludes.mapHeader(Entry->getName()); (i.e. getName) in D120306 and not tryGetRealPathName. it might be nice to have a test case here, at least one that only fails/runs on windows

Apr 4 2022, 7:49 AM · Restricted Project, Restricted Project
kbobyrev added a comment to D123031: [clangd] Use stable keys for CanonicalIncludes mappings.

This is required for D120306 which was landed but later reverted because of the failing Windows tests (different slash types for filenames requested during preamble parsing and in the main file).

Apr 4 2022, 7:27 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D123031: [clangd] Use stable keys for CanonicalIncludes mappings.

Fix the behavior: get Real Path instead.

Apr 4 2022, 7:24 AM · Restricted Project, Restricted Project
kbobyrev requested review of D123031: [clangd] Use stable keys for CanonicalIncludes mappings.
Apr 4 2022, 7:09 AM · Restricted Project, Restricted Project

Mar 31 2022

kbobyrev added a reverting change for rG4cb38bfe76b7: [clangd] IncludeCleaner: Add support for IWYU pragma private: rGf43c4c5be29b: Revert "[clangd] IncludeCleaner: Add support for IWYU pragma private".
Mar 31 2022, 9:00 AM · Restricted Project, Restricted Project
kbobyrev committed rGf43c4c5be29b: Revert "[clangd] IncludeCleaner: Add support for IWYU pragma private" (authored by kbobyrev).
Revert "[clangd] IncludeCleaner: Add support for IWYU pragma private"
Mar 31 2022, 9:00 AM · Restricted Project, Restricted Project
kbobyrev added a reverting change for D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private: rGf43c4c5be29b: Revert "[clangd] IncludeCleaner: Add support for IWYU pragma private".
Mar 31 2022, 9:00 AM · Restricted Project, Restricted Project
kbobyrev removed a reviewer for D116490: [clangd] Code action to declare missing move/copy constructor/assignment: kbobyrev.
Mar 31 2022, 3:50 AM · Restricted Project, Restricted Project
kbobyrev committed rG4cb38bfe76b7: [clangd] IncludeCleaner: Add support for IWYU pragma private (authored by kbobyrev).
[clangd] IncludeCleaner: Add support for IWYU pragma private
Mar 31 2022, 3:50 AM · Restricted Project, Restricted Project
kbobyrev closed D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.
Mar 31 2022, 3:50 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.

Address review comments.

Mar 31 2022, 2:47 AM · Restricted Project, Restricted Project

Mar 25 2022

kbobyrev updated the diff for D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.

Use better name for header recorder lambda.

Mar 25 2022, 2:14 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.

Add some docs, rebase on top of main.

Mar 25 2022, 2:12 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.

Fix a bug, add tests for diagnostics. This is ready for a review now.

Mar 25 2022, 1:33 AM · Restricted Project, Restricted Project

Mar 24 2022

kbobyrev abandoned D119116: [clangd] Pull AST printer helpers to Clang.
Mar 24 2022, 1:13 PM · Restricted Project, Restricted Project, Restricted Project
kbobyrev updated the diff for D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.

Switch to a different model of recording includes that differentiates between
user includes and public headers recored through IWYU pragmas.

Mar 24 2022, 8:36 AM · Restricted Project, Restricted Project

Mar 14 2022

kbobyrev added a comment to D121593: [clangd][WIP] Provide clang-include-cleaner.

Hi! I'm glad you're excited about IncludeCleaner and having a tool to try it out seems like a cool idea!

Mar 14 2022, 9:23 AM · Restricted Project, Restricted Project

Mar 8 2022

kbobyrev committed rGd5106c8f973b: [clangd] NFC: Cleanup IncludeCleaner API (authored by kbobyrev).
[clangd] NFC: Cleanup IncludeCleaner API
Mar 8 2022, 4:44 AM · Restricted Project, Restricted Project
kbobyrev closed D119842: [clangd] NFC: Cleanup IncludeCleaner API.
Mar 8 2022, 4:43 AM · Restricted Project, Restricted Project

Feb 22 2022

kbobyrev added a comment to D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.

What's the policy this patch intends to implement?

I'm a little concerned by building up maps of filenames with segment limits - it looks like some kind of heuristic/partial matching.

Basically, handling the mappings that. IWYU pragmas provide.

Yes, I'm asking you to describe that handling in a couple of sentences so I can understand what you intend it to be.

e.g. for includecleaner in general, the approach is: walk the AST, map each node to decls it uses, map decls to locations, map locations to files, then check which includes point to files that were not identified.

Feb 22 2022, 5:22 AM · Restricted Project, Restricted Project
kbobyrev planned changes to D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.
Feb 22 2022, 2:32 AM · Restricted Project, Restricted Project
kbobyrev updated the diff for D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.

Move suffix map to CanonicalIncludes (where it logically belongs), remove
component limit there.

Feb 22 2022, 2:32 AM · Restricted Project, Restricted Project
kbobyrev added a comment to D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.

What's the policy this patch intends to implement?

I'm a little concerned by building up maps of filenames with segment limits - it looks like some kind of heuristic/partial matching.

Feb 22 2022, 2:26 AM · Restricted Project, Restricted Project
kbobyrev planned changes to D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.

The patch is working but I didn't add tests yet. Also, I think I should move the suffix mapping to CanonicalIncludes structure rather than Headers.

Feb 22 2022, 12:22 AM · Restricted Project, Restricted Project
kbobyrev requested review of D120306: [clangd] IncludeCleaner: Add support for IWYU pragma private.
Feb 22 2022, 12:21 AM · Restricted Project, Restricted Project

Feb 15 2022

kbobyrev requested review of D119842: [clangd] NFC: Cleanup IncludeCleaner API.
Feb 15 2022, 7:07 AM · Restricted Project, Restricted Project

Feb 10 2022

kbobyrev committed rG100ec80ab5a6: [clang-tidy] Add early exit for defaulted FunctionDecls (authored by kbobyrev).
[clang-tidy] Add early exit for defaulted FunctionDecls
Feb 10 2022, 11:29 AM

Feb 9 2022

kbobyrev added a comment to D118847: Added early exit for defaulted FunctionDecls..

Can I still add a diff, or does this cause a revoke (apply the rest of the feedback)?
Also, is the commit added automatically to the repo, or do I / another one have to rebase it.

Sorry for those questions, this is my first contribution to llvm.

Feb 9 2022, 5:45 AM · Restricted Project, Restricted Project
kbobyrev accepted D118847: Added early exit for defaulted FunctionDecls..

LG, thanks!

Feb 9 2022, 4:21 AM · Restricted Project, Restricted Project
kbobyrev added inline comments to D118847: Added early exit for defaulted FunctionDecls..
Feb 9 2022, 4:01 AM · Restricted Project, Restricted Project
kbobyrev added a comment to D118847: Added early exit for defaulted FunctionDecls..

Mostly LG with few nits. I think it might be able to make it into the 14 release if we cherry-pick into the release branch.

Feb 9 2022, 3:05 AM · Restricted Project, Restricted Project
kbobyrev added a comment to D119130: [clangd] NFC: Move stdlib headers handling to Clang.

After this commit I am seeing the link time error

ld.lld: error: undefined symbol: clang::DeclContext::isInlineNamespace() const
>>> referenced by StandardLibrary.cpp:118 (/home/pmw/projects/upstream-llvm/llvm-project/clang/lib/Tooling/Inclusions/StandardLibrary.cpp:118)
>>>               tools/clang/lib/Tooling/Inclusions/CMakeFiles/obj.clangToolingInclusions.dir/StandardLibrary.cpp.o:(clang::tooling::stdlib::Recognizer::namespaceSymbols(clang::NamespaceDecl const*)::'lambda'()::operator()() const)

ld.lld: error: undefined symbol: clang::Decl::castFromDeclContext(clang::DeclContext const*)
>>> referenced by DeclBase.h:2562 (/home/pmw/projects/upstream-llvm/llvm-project/clang/include/clang/AST/DeclBase.h:2562)
>>>               tools/clang/lib/Tooling/Inclusions/CMakeFiles/obj.clangToolingInclusions.dir/StandardLibrary.cpp.o:(clang::cast_convert_decl_context<clang::Decl, false>::doit(clang::DeclContext*))
>>> referenced by DeclBase.h:2558 (/home/pmw/projects/upstream-llvm/llvm-project/clang/include/clang/AST/DeclBase.h:2558)
>>>               tools/clang/lib/Tooling/Inclusions/CMakeFiles/obj.clangToolingInclusions.dir/StandardLibrary.cpp.o:(clang::cast_convert_decl_context<clang::NamedDecl, false>::doit(clang::DeclContext const*))

If I revert this commit it goes away. I've tried a fresh cmake and build and get the same result.

Feb 9 2022, 2:54 AM · Restricted Project, Restricted Project
kbobyrev committed rGe3ba83193718: [clang] Fix the tooling build after D119130 (authored by kbobyrev).
[clang] Fix the tooling build after D119130
Feb 9 2022, 2:53 AM
kbobyrev committed rG76b855d84523: [llvm] Add IWYU pragmas to GTest (authored by kbobyrev).
[llvm] Add IWYU pragmas to GTest
Feb 9 2022, 2:06 AM
kbobyrev closed D119320: [llvm] Add IWYU pragmas to GTest.
Feb 9 2022, 2:06 AM · Restricted Project