================ @@ -6135,6 +6141,40 @@ std::string Driver::GetProgramPath(StringRef Name, const ToolChain &TC) const { return std::string(Name); } +std::string Driver::GetModuleManifestPath(const Compilation &C, + const ToolChain &TC) const { + + switch (TC.GetCXXStdlibType(C.getArgs())) { + case ToolChain::CST_Libcxx: { + std::string lib = "libc++.so"; + std::string path = GetFilePath(lib, TC); + + // Note when there are multiple flavours of libc++ the module json needs to + // look at the command-line arguments for the proper json. + + // For example + /* + const SanitizerArgs &Sanitize = TC.getSanitizerArgs(C.getArgs()); + if (Sanitize.needsAsanRt()) + return path.replace(path.size() - lib.size(), lib.size(), + "modules-asan.json"); + */ + + path = path.replace(path.size() - lib.size(), lib.size(), "modules.json"); + if (TC.getVFS().exists(path)) + return path; + + return ""; + } + + case ToolChain::CST_Libstdcxx: + // libstdc++ does not provide Standard library modules yet. + return ""; + } + + return ""; ---------------- tschuett wrote:
Note: found unknown STL. 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