]> granicus.if.org Git - clang/commitdiff
[Tooling] Fix linking of StandaloneToolExecutorPlugin.
authorEric Liu <ioeric@google.com>
Fri, 3 Nov 2017 15:57:27 +0000 (15:57 +0000)
committerEric Liu <ioeric@google.com>
Fri, 3 Nov 2017 15:57:27 +0000 (15:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@317332 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Tooling/Execution.cpp
lib/Tooling/StandaloneExecution.cpp
unittests/Tooling/ExecutionTest.cpp

index 0e3404f91c8f261c2c21b22ecf4809c142b0303f..498d683f8924aef8f6d979961c749d0d108b5ef4 100644 (file)
@@ -61,7 +61,7 @@ createExecutorFromCommandLineArgsImpl(int &argc, const char **argv,
                                       const char *Overview) {
   auto OptionsParser =
       CommonOptionsParser::create(argc, argv, Category, llvm::cl::ZeroOrMore,
-                                  /*Overview=*/nullptr);
+                                  /*Overview=*/Overview);
   if (!OptionsParser)
     return OptionsParser.takeError();
   for (auto I = ToolExecutorPluginRegistry::begin(),
@@ -95,5 +95,11 @@ createExecutorFromCommandLineArgs(int &argc, const char **argv,
                                                          Overview);
 }
 
+// This anchor is used to force the linker to link in the generated object file
+// and thus register the StandaloneToolExecutorPlugin.
+extern volatile int StandaloneToolExecutorAnchorSource;
+static int LLVM_ATTRIBUTE_UNUSED StandaloneToolExecutorAnchorDest =
+    StandaloneToolExecutorAnchorSource;
+
 } // end namespace tooling
 } // end namespace clang
index e52e4a611f99c4e0d06e84733121b9ecddc5bcb0..eea8e39d134c2b7ad46e1604720c0141daaddefc 100644 (file)
@@ -79,13 +79,13 @@ public:
   }
 };
 
-// This anchor is used to force the linker to link in the generated object file
-// and thus register the plugin.
-volatile int ToolExecutorPluginAnchorSource = 0;
-
 static ToolExecutorPluginRegistry::Add<StandaloneToolExecutorPlugin>
     X("standalone", "Runs FrontendActions on a set of files provided "
                     "via positional arguments.");
 
+// This anchor is used to force the linker to link in the generated object file
+// and thus register the plugin.
+volatile int StandaloneToolExecutorAnchorSource = 0;
+
 } // end namespace tooling
 } // end namespace clang
index 44e37b40093c62b15590afe1a14e8d627e9da218..09dfdb6cf04bff3faed5a0db5e49696c1ef98b32 100644 (file)
@@ -125,13 +125,6 @@ public:
   }
 };
 
-// This anchor is used to force the linker to link in the generated object file
-// and thus register the plugin.
-extern volatile int ToolExecutorPluginAnchorSource;
-
-static int LLVM_ATTRIBUTE_UNUSED TestToolExecutorPluginAnchorDest =
-    ToolExecutorPluginAnchorSource;
-
 static ToolExecutorPluginRegistry::Add<TestToolExecutorPlugin>
     X("test-executor", "Plugin for TestToolExecutor.");