[PATCH] D139168: [C++20] [Modules] [ClangScanDeps] Enable to print make-style dependency file within P1689 format (4/4)

Ben Boeckel via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Dec 4 19:38:42 PST 2022


ben.boeckel added inline comments.


================
Comment at: clang/test/ClangScanDeps/P1689.cppm:155
 
+// CHECK-MAKE: [[PREFIX]]/impl_part.o:
+// CHECK-MAKE:   [[PREFIX]]/impl_part.cppm
----------------
ChuanqiXu wrote:
> ben.boeckel wrote:
> > For scanning, this cannot be the object file. The output needs to be the P1689 output (or whatever the "main output" for the scanning rule is). This is the purpose behind the `-MT <target>` flag: to say what goes in this slot. I think it'll be necessary here (even if `clang-scan-deps` learns an `-o` flag because it is the build system that determines the "primary output").
> > 
> > I don't know if the `-MMD` and `-MD` differences are important or not; I don't think I particularly care which is default (I've used `-MD` FWIW), but it may matter for other situations.
> I am confused since the output `[[PREFIX]]/impl_part.o` is the same with `P1689` output `[[PREFIX]]/impl_part.o` and the one in the compilation database and the one specified in the command line option `--p1689-targeted-output`. What's the expected output for you in this case? (and the related command line input.)
P1689 is about specifying dependencies of *another* rule found by the dynamic content of some source. `-MF` is about *discovered* dependencies of *this* rule.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139168



More information about the cfe-commits mailing list