================
@@ -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

Reply via email to