Instead of crashing when MCAsmInfo is NULL, add an assert.
authorTorok Edwin <edwintorok@gmail.com>
Fri, 30 Sep 2011 12:31:57 +0000 (12:31 +0000)
committerTorok Edwin <edwintorok@gmail.com>
Fri, 30 Sep 2011 12:31:57 +0000 (12:31 +0000)
This helps with porting code from 2.9 to 3.0 as TargetSelect.h changed location,
and if you include the old one by accident you will trigger this assert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140848 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LLVMTargetMachine.cpp

index 8f463e2d3f9d46d68da840a302704445a1ed3489..3bd1d6071e4b9ebc052321ad10e7be685c4ca705 100644 (file)
@@ -114,6 +114,11 @@ LLVMTargetMachine::LLVMTargetMachine(const Target &T, StringRef Triple,
   : TargetMachine(T, Triple, CPU, FS) {
   CodeGenInfo = T.createMCCodeGenInfo(Triple, RM, CM);
   AsmInfo = T.createMCAsmInfo(Triple);
+  // TargetSelect.h moved to different directory between LLVM 2.9 and 3.0,
+  // and if the old one gets included then MCAsmInfo will be NULL and we'd crash
+  // later.
+  // Provide the user a useful error message about whats wrong.
+  assert(AsmInfo && "MCAsmInfo not initialized. Make sure you include the correct TargetSelect.h!");
 }
 
 bool LLVMTargetMachine::addPassesToEmitFile(PassManagerBase &PM,