[llvm-commits] [llvm] r111007 - in /llvm/trunk/utils/TableGen: LLVMCConfigurationEmitter.cpp TableGen.cpp
Mikhail Glushenkov
foldr at codedgers.com
Thu Aug 12 23:02:45 PDT 2010
Author: foldr
Date: Fri Aug 13 01:02:45 2010
New Revision: 111007
URL: http://llvm.org/viewvc/llvm-project?rev=111007&view=rev
Log:
Add a workaround for building with Clang.
Modified:
llvm/trunk/utils/TableGen/LLVMCConfigurationEmitter.cpp
llvm/trunk/utils/TableGen/TableGen.cpp
Modified: llvm/trunk/utils/TableGen/LLVMCConfigurationEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/LLVMCConfigurationEmitter.cpp?rev=111007&r1=111006&r2=111007&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/LLVMCConfigurationEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/LLVMCConfigurationEmitter.cpp Fri Aug 13 01:02:45 2010
@@ -17,6 +17,8 @@
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringSet.h"
+#include "llvm/Support/CommandLine.h"
+#include "llvm/System/Path.h"
#include <algorithm>
#include <cassert>
@@ -27,6 +29,8 @@
using namespace llvm;
+extern cl::opt<std::string> InputFilename;
+
namespace {
//===----------------------------------------------------------------------===//
@@ -2974,9 +2978,18 @@
O << "}\n\n";
}
+std::string GetPluginName() {
+ if (!InputFilename.empty()) {
+ return sys::Path(InputFilename).getBasename();
+ }
+
+ return "";
+}
+
/// EmitRegisterPlugin - Emit code to register this plugin.
void EmitRegisterPlugin(int Priority, raw_ostream& O) {
- O << "struct Plugin : public llvmc::BasePlugin {\n\n";
+ O << "struct Plugin" << GetPluginName()
+ << " : public llvmc::BasePlugin {\n\n";
O.indent(Indent1) << "int Priority() const { return "
<< Priority << "; }\n\n";
O.indent(Indent1) << "int PreprocessOptions() const\n";
@@ -2987,7 +3000,8 @@
<< "int PopulateCompilationGraph(CompilationGraph& graph) const\n";
O.indent(Indent1) << "{ return PopulateCompilationGraphLocal(graph); }\n"
<< "};\n\n"
- << "static llvmc::RegisterPlugin<Plugin> RP;\n\n";
+ << "static llvmc::RegisterPlugin<Plugin"
+ << GetPluginName()<< "> RP;\n\n";
}
/// EmitIncludes - Emit necessary #include directives and some
Modified: llvm/trunk/utils/TableGen/TableGen.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/TableGen.cpp?rev=111007&r1=111006&r2=111007&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/TableGen.cpp (original)
+++ llvm/trunk/utils/TableGen/TableGen.cpp Fri Aug 13 01:02:45 2010
@@ -146,9 +146,6 @@
OutputFilename("o", cl::desc("Output filename"), cl::value_desc("filename"),
cl::init("-"));
- cl::opt<std::string>
- InputFilename(cl::Positional, cl::desc("<input file>"), cl::init("-"));
-
cl::list<std::string>
IncludeDirs("I", cl::desc("Directory of include files"),
cl::value_desc("directory"), cl::Prefix);
@@ -161,6 +158,9 @@
// FIXME: Eliminate globals from tblgen.
+cl::opt<std::string>
+InputFilename(cl::Positional, cl::desc("<input file>"), cl::init("-"));
+
RecordKeeper llvm::Records;
static SourceMgr SrcMgr;
More information about the llvm-commits
mailing list