]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - source/Utility/LLDBAssert.cpp
Vendor import of lldb trunk r290819:
[FreeBSD/FreeBSD.git] / source / Utility / LLDBAssert.cpp
1 //===--------------------- LLDBAssert.cpp --------------------------*- C++
2 //-*-===//
3 //
4 //                     The LLVM Compiler Infrastructure
5 //
6 // This file is distributed under the University of Illinois Open Source
7 // License. See LICENSE.TXT for details.
8 //
9 //===----------------------------------------------------------------------===//
10
11 #include "lldb/Utility/LLDBAssert.h"
12
13 #include "llvm/Support/Format.h"
14 #include "llvm/Support/Signals.h"
15 #include "llvm/Support/raw_ostream.h"
16
17 using namespace llvm;
18 using namespace lldb_private;
19
20 void lldb_private::lldb_assert(bool expression, const char *expr_text,
21                                const char *func, const char *file,
22                                unsigned int line) {
23   if (expression)
24     ;
25   else {
26     errs() << format("Assertion failed: (%s), function %s, file %s, line %u\n",
27                      expr_text, func, file, line);
28     errs() << "backtrace leading to the failure:\n";
29     llvm::sys::PrintStackTrace(errs());
30     errs() << "please file a bug report against lldb reporting this failure "
31               "log, and as many details as possible\n";
32   }
33 }