don't #include a header into the middle of an anon namespace.
authorChris Lattner <sabre@nondot.org>
Tue, 3 Mar 2009 20:10:23 +0000 (20:10 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 3 Mar 2009 20:10:23 +0000 (20:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65967 91177308-0d34-0410-b5e6-96231b3b80d8

lib/ExecutionEngine/JIT/JIT.cpp

index a611e82585cdf1ec93c9ae2f92186a09ac1587e7..3fd5be7d16ed7ce49d28a48175a213fca6d1b220 100644 (file)
 #include "llvm/ModuleProvider.h"
 #include "llvm/CodeGen/MachineCodeEmitter.h"
 #include "llvm/ExecutionEngine/GenericValue.h"
-#include "llvm/Support/MutexGuard.h"
-#include "llvm/System/DynamicLibrary.h"
 #include "llvm/Target/TargetData.h"
 #include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/TargetJITInfo.h"
-
+#include "llvm/Support/Dwarf.h"
+#include "llvm/Support/MutexGuard.h"
+#include "llvm/System/DynamicLibrary.h"
 #include "llvm/Config/config.h"
 
 using namespace llvm;
@@ -141,16 +141,14 @@ struct LibgccObjectInfo {
   unsigned unused[2];
 };
 
-// for DW_EH_PE_omit
-#include "llvm/Support/Dwarf.h"
-
 /// darwin_register_frame - Since __register_frame does not work with darwin's
 /// libgcc,we provide our own function, which "tricks" libgcc by modifying the
 /// "Dwarf2 object list" key.
 void DarwinRegisterFrame(void* FrameBegin) {
   // Get the key.
-  struct LibgccObjectInfo* LOI = (struct LibgccObjectInfo*)
+  LibgccObjectInfo* LOI = (struct LibgccObjectInfo*)
     _keymgr_get_and_lock_processwide_ptr(KEYMGR_GCC3_DW2_OBJ_LIST);
+  assert(LOI && "This should be preallocated by the runtime");
   
   // Allocate a new LibgccObject to represent this frame. Deallocation of this
   // object may be impossible: since darwin code in libgcc was written after