When assertions are turned off, the llvm::Error value created at the
start of this function is overwritten using the move-assignment
operator, but the success value is never checked. Whenever a TypeSystem
cannot be found or created, this can lead to lldb core dumping with:
Program aborted due to an unhandled Error: Error value was Success. (Note: Success values must still be checked prior to being destroyed).
Fix this by not creating a llvm::Error value in advance, and directly
returning the result of llvm::make_error instead, whenever an error is
encountered.
See also: https://bugs.freebsd.org/253881 and
https://bugs.freebsd.org/257829.