[PATCH] D126731: [pseudo] Eliminate dependencies from clang-pseudo-gen. NFC

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 21 23:55:19 PDT 2022


sammccall added a comment.

In D126731#3670265 <https://reviews.llvm.org/D126731#3670265>, @vsapsai wrote:

> Looks like this breaks a modular build. I.e.,
>
> My understanding is that the module 'Clang_Basic' needs .inc headers and this module is pulled in by `#include "clang/Basic/TokenKinds.h"` at "clang-tools-extra/pseudo/include/clang-pseudo/grammar/Grammar.h:55". When those .inc headers aren't generated, the build fails. Don't know what would be the best way to fix the issue, I was able to fix the build by commenting out `list(REMOVE_ITEM LLVM_COMMON_DEPENDS clang-tablegen-targets)` in "lib/grammar/CMakeLists.txt".

Hmm, I also don't know.
The idea here is that we specifically depend only on the TokenKind enum from TokenKinds.h (which doesn't need any generated headers), not on other headers from clang/include/Basic (which might), and not on building/linking clangBasic itself.
In a modules world, maybe that means we need TokenKinds.h to be its own module, or a non-modular header, or something?

I'm also not sure on the support status of the modules build: I can't find a buildbot covering it or docs. Is this something I need to fix, or is it an experimental build like GN/Bazel?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126731/new/

https://reviews.llvm.org/D126731



More information about the cfe-commits mailing list