Skip to content
  • Kevin Enderby's avatar
    Remove the assert()'s from the LLVMCreateDisasmCPU() library API and just · f536c6af
    Kevin Enderby authored
    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
    
    llvm-svn: 176880
    f536c6af
Loading