Factor some of the constants+context related code out into a separate header, to...
[oota-llvm.git] / include / llvm / LinkAllVMCore.h
index d0366ebe1e1ac40afe5aea520031663daa87e31c..e5a51971f164bf808d8f1e55c6d1f8a259d16e6c 100644 (file)
@@ -2,8 +2,8 @@
 //
 //                      The LLVM Compiler Infrastructure
 //
-// This file was developed by Reid Spencer and is distributed under the
-// University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
 //
 #ifndef LLVM_LINKALLVMCORE_H
 #define LLVM_LINKALLVMCORE_H
 
-#include "llvm/Support/IncludeFile.h"
-#include "llvm/Support/Mangler.h"
+#include "llvm/LLVMContext.h"
 #include "llvm/Module.h"
 #include "llvm/Instructions.h"
 #include "llvm/IntrinsicInst.h"
 #include "llvm/InlineAsm.h"
 #include "llvm/Analysis/Verifier.h"
+#include "llvm/System/Alarm.h"
+#include "llvm/System/DynamicLibrary.h"
+#include "llvm/System/Memory.h"
+#include "llvm/System/Mutex.h"
+#include "llvm/System/Path.h"
+#include "llvm/System/Process.h"
+#include "llvm/System/Program.h"
+#include "llvm/System/Signals.h"
+#include "llvm/System/TimeValue.h"
+#include "llvm/Support/Dwarf.h"
+#include "llvm/Support/Mangler.h"
+#include "llvm/Support/MathExtras.h"
+#include "llvm/Support/SlowOperationInformer.h"
 
 namespace {
   struct ForceVMCoreLinking {
@@ -33,9 +45,10 @@ namespace {
       // to know that getenv() never returns -1, this will do the job.
       if (std::getenv("bar") != (char*) -1)
         return;
-      (void)new llvm::Module("");
+      llvm::Module* M = new llvm::Module("", llvm::getGlobalContext());
       (void)new llvm::UnreachableInst();
       (void)    llvm::createVerifierPass(); 
+      (void) new llvm::Mangler(*M,"");
     }
   } ForceVMCoreLinking;
 }