Make the generated InitXXXMCRegisterInfo function "static inline", so it doesn't get emitted into multiple object files.

This caused linker errors when linking both libLLVMX86Desc and libLLVMX86CodeGen
into a single binary (for example when building a monolithic libLLVM shared library).

llvm-svn: 133791
This commit is contained in:
Benjamin Kramer 2011-06-24 11:03:31 +00:00
parent a86f3ed0d9
commit 57bf7818aa

View File

@ -709,7 +709,7 @@ void RegisterInfoEmitter::runDesc(raw_ostream &OS) {
OS << "}\n\n"; // End of anonymous namespace... OS << "}\n\n"; // End of anonymous namespace...
// MCRegisterInfo initialization routine. // MCRegisterInfo initialization routine.
OS << "void " << "Init" << TargetName OS << "static inline void Init" << TargetName
<< "MCRegisterInfo(MCRegisterInfo *RI) {\n"; << "MCRegisterInfo(MCRegisterInfo *RI) {\n";
OS << " RI->InitMCRegisterInfo(" << TargetName << "RegDesc, " OS << " RI->InitMCRegisterInfo(" << TargetName << "RegDesc, "
<< Regs.size()+1 << ");\n}\n\n"; << Regs.size()+1 << ");\n}\n\n";