Remove the assert()'s from the LLVMCreateDisasmCPU() library API and just
authorKevin Enderby <enderby@apple.com>
Tue, 12 Mar 2013 18:12:17 +0000 (18:12 +0000)
committerKevin Enderby <enderby@apple.com>
Tue, 12 Mar 2013 18:12:17 +0000 (18:12 +0000)
commit2ee69f1be6473bef40862f4c55e0b33d141c6380
tree56ae8ac572852dff075e5647ac5b00dc749e2e7d
parent8f8af529fc6239985f73a4b3cf3a0b25692824ed
Remove the assert()'s from the LLVMCreateDisasmCPU() library API and just
return 0 to indicate failure to create the disassembler.  A library routine
should not assert and just let the caller handler the error.  For example
darwin's otool(1) will simply print an error if it ends up using a library
that is not configured for a target it wants:

% otool -tv ViewController.o
ViewController.o:
(__TEXT,__text) section
can't create arm llvm disassembler

This is much better than an abort which appears as a crash to the user or
even the assert when using a Debug+Asserts built library:

Assertion failed: (MAI && "Unable to create target asm info!"), function LLVMCreateDisasmCPU, file /Volumes/SandBox/llvm/lib/MC/MCDisassembler/Disassembler.cpp, line 47.

radr://12539918

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176880 91177308-0d34-0410-b5e6-96231b3b80d8
lib/MC/MCDisassembler/Disassembler.cpp