blob: 6f35dcd32f4a0a8d23347d01ae3e5d0451c84be4 [file] [log] [blame]
Kate Stoneb9c1b512016-09-06 20:57:50 +00001//===--------------------- LLDBAssert.cpp --------------------------*- C++
2//-*-===//
Enrico Granata53ed89c2015-03-04 22:59:20 +00003//
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"
Enrico Granata53ed89c2015-03-04 22:59:20 +000012
Zachary Turnera893d302015-03-06 20:45:43 +000013#include "llvm/Support/Format.h"
Zachary Turnera893d302015-03-06 20:45:43 +000014#include "llvm/Support/Signals.h"
Kate Stoneb9c1b512016-09-06 20:57:50 +000015#include "llvm/Support/raw_ostream.h"
Zachary Turnera893d302015-03-06 20:45:43 +000016
17using namespace llvm;
Enrico Granata53ed89c2015-03-04 22:59:20 +000018using namespace lldb_private;
19
Kate Stoneb9c1b512016-09-06 20:57:50 +000020void 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 }
Enrico Granata53ed89c2015-03-04 22:59:20 +000033}