fpetrogalli added a comment. In D141581#4056464 <https://reviews.llvm.org/D141581#4056464>, @lebedev.ri wrote:
> Why is it not sufficient to link to `RISCVTargetParserTableGen`, but is > sufficient to link to `LLVMTargetParser`? This is because the sources of clangBasic and clangDriver might be compiled before LLVMTargetParser is ready. In this case, compilation would fail because both libraries include the header file `llvm/TargetParser/RISCVTargetParser.h`, which needs the `inc` file generated by `RISCVTargetParserTableGen`. // quoting code from llvm/TargetParser/RISCVTargetParser.h enum CPUKind : unsigned { #define PROC(ENUM, NAME, FEATURES, DEFAULT_MARCH) CK_##ENUM, #define TUNE_PROC(ENUM, NAME) CK_##ENUM, #include "llvm/TargetParser/RISCVTargetParserDef.inc" }; > Does `RISCVTargetParserTableGen` itself not link to `LLVMTargetParser`? Nope, there is no "linking" between these two components. It is just that `LLVMTargetParser` requires `RISCVTargetParserTableGen`. Therefore, if we say that `clangDriver` and `clangBasic` depend on `LLVMTargetParser` we make sure that the inclusion of the tablegen-generated file resolves correctly. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141581/new/ https://reviews.llvm.org/D141581 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits