[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