[llvm-driver] Allow llvm driver binary to be called anything
authorAlex Brachet <abrachet@google.com>
Fri, 3 Mar 2023 19:45:03 +0000 (19:45 +0000)
committerAlex Brachet <abrachet@google.com>
Fri, 3 Mar 2023 19:45:03 +0000 (19:45 +0000)
llvm/test/tools/llvm-driver/not-called-llvm.test [new file with mode: 0644]
llvm/tools/llvm-driver/llvm-driver.cpp

diff --git a/llvm/test/tools/llvm-driver/not-called-llvm.test b/llvm/test/tools/llvm-driver/not-called-llvm.test
new file mode 100644 (file)
index 0000000..046ffa5
--- /dev/null
@@ -0,0 +1,12 @@
+## Don't make symlinks on Windows.
+# UNSUPPORTED: system-windows
+# REQUIRES: llvm-driver
+
+# RUN: rm -rf %t
+# RUN: mkdir %t
+# RUN: ln -s %llvm %t/invalidtool
+# RUN: %t/invalidtool cxxfilt --help | FileCheck %s
+
+# CHECK: OVERVIEW: LLVM symbol undecoration tool
+
+# RUN: not %llvm invalidtool cxxfilt --help
index 01c2761..11e79ed 100644 (file)
@@ -73,7 +73,7 @@ static int findTool(int Argc, char **Argv, const char *Argv0) {
     return entry##_main(Argc, Argv, MakeDriverArgs());
 #include "LLVMDriverTools.def"
 
-  if (Is("llvm"))
+  if (Is("llvm") || Argv0 == Argv[0])
     return findTool(Argc - 1, Argv + 1, Argv0);
 
   printHelpMessage();