================ @@ -250,6 +247,25 @@ void Driver::setDriverMode(StringRef Value) { Diag(diag::err_drv_unsupported_option_argument) << OptName << Value; } +void Driver::setResourceDirectory() { + // Compute the path to the resource directory, depending on the driver mode. + switch (Mode) { + case GCCMode: + case GXXMode: + case CPPMode: + case CLMode: + case DXCMode: + ResourceDir = GetResourcesPath(ClangExecutable, CLANG_RESOURCE_DIR); + break; + case FlangMode: + // TODO: Is there a better way to add the "../include/flang/" component? + SmallString<64> relPath{}; + llvm::sys::path::append(relPath, "..", "include", "flang"); + ResourceDir = GetResourcesPath(ClangExecutable, relPath); + break; ---------------- banach-space wrote:
Presumably `relPath` stands for "relative path"? Why not `customResoursePath` as in https://github.com/llvm/llvm-project/blob/6d44a1ef55b559e59d725b07ffe1da988b4e5f1c/clang/lib/Driver/Driver.cpp#L166-L192 ? Or, probably more accurate, `customResourcePathReleativeToDriver` (long names are fine with me). Wouldn't the above also add things that are only relevant for Clang? As in, shouldn't `GetResourcesPath` be specialised for Flang? Btw, where is `ClangExecutable` defined? In ideal world it would be something more generic, e.g. `DriverExecutable`. But I appreciate that that's tangential to this change :) https://github.com/llvm/llvm-project/pull/90886 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits