================
@@ -2164,6 +2164,12 @@ bool Driver::HandleImmediateArgs(const Compilation &C) {
     return false;
   }
 
+  if (C.getArgs().hasArg(options::OPT_print_library_module_manifest_path)) {
+    llvm::outs() << "module: ="
----------------
mordante wrote:

> I'd like there to be some distinction between "modules not present because 
> Clang was built without them" and "modules not present but expected to be 
> there" (maybe distro packagers split things and the modules package is 
> missing?).

However that is hard to do and might be wrong. Currently stdlibc++ does not 
ship modules. I don't know how clang-18 will ever find them stdlibc++-15 since 
it's unknown whether that version will have modules nor do I know the name of 
their manifest file.

Same for Clang and libc++,  Clang has no idea whether libc++ was build with or 
without modules. They are build independently. So it would need to look at the 
version information of libc++ to detect whether it's libc++-18 or earlier. 
Earlier never has the manifest.

IMO tool vendors should look at the output of this command; it either contains 
a path or a single error value. If it's the error value they should not attempt 
to build the std module.

What would be the benefit of different errors @mathstuf ? Especially 
considering the above that it's hard to determine the proper error message.

https://github.com/llvm/llvm-project/pull/76451
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to