| //===--------------------- LLDBAssert.cpp --------------------------*- C++ | 
 | //-*-===// | 
 | // | 
 | //                     The LLVM Compiler Infrastructure | 
 | // | 
 | // This file is distributed under the University of Illinois Open Source | 
 | // License. See LICENSE.TXT for details. | 
 | // | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | #include "lldb/Utility/LLDBAssert.h" | 
 |  | 
 | #include "llvm/Support/Format.h" | 
 | #include "llvm/Support/Signals.h" | 
 | #include "llvm/Support/raw_ostream.h" | 
 |  | 
 | using namespace llvm; | 
 | using namespace lldb_private; | 
 |  | 
 | void lldb_private::lldb_assert(bool expression, const char *expr_text, | 
 |                                const char *func, const char *file, | 
 |                                unsigned int line) { | 
 |   if (expression) | 
 |     ; | 
 |   else { | 
 |     errs() << format("Assertion failed: (%s), function %s, file %s, line %u\n", | 
 |                      expr_text, func, file, line); | 
 |     errs() << "backtrace leading to the failure:\n"; | 
 |     llvm::sys::PrintStackTrace(errs()); | 
 |     errs() << "please file a bug report against lldb reporting this failure " | 
 |               "log, and as many details as possible\n"; | 
 |   } | 
 | } |