Introduce new headers whose inclusion forces linking and

initialization of all targets (InitializeAllTargets.h) or assembler
printers (InitializeAllAsmPrinters.h). This is a step toward the
elimination of relinked object files, so that we can build normal
archives.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73543 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Douglas Gregor
2009-06-16 20:12:29 +00:00
parent c6ac322c1c
commit 1555a23335
31 changed files with 333 additions and 30 deletions

View File

@ -59,6 +59,11 @@ int CBackendTargetMachineModule = 0;
// Register the target.
static RegisterTarget<CTargetMachine> X("c", "C backend");
// Force static initialization when called from llvm/InitializeAllTargets.h
namespace llvm {
void InitializeCBackendTarget() { }
}
namespace {
/// CBackendNameAllUsedStructsAndMergeFunctions - This pass inserts names for
/// any unnamed structure types that are used by the program, and merges