aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-03-05 08:04:57 +0000
committerChris Lattner <sabre@nondot.org>2009-03-05 08:04:57 +0000
commit7d22bf00dbabca86ba791f56a99e006181fa22dd (patch)
tree380e5a9cc85aeaadc7ded8a28887ea0da992e657
parent49f28ca787d8db7cac3c8898334f70ea55374c98 (diff)
if we die in IR generation of a compound statement, include
it in the stack trace, giving us stuff like: Stack dump: 0. Program arguments: clang t.c -emit-llvm 1. <eof> parser at end of file 2. t.c:1:5: LLVM IR generation of declaration 'a' 3. t.c:1:9: LLVM IR generation of compound statement ('{}') 4. t.c:2:3: LLVM IR generation of compound statement ('{}') Abort git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66154 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/CGStmt.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/CodeGen/CGStmt.cpp b/lib/CodeGen/CGStmt.cpp
index 839ba671b9..f4d6679c93 100644
--- a/lib/CodeGen/CGStmt.cpp
+++ b/lib/CodeGen/CGStmt.cpp
@@ -15,6 +15,7 @@
#include "CodeGenModule.h"
#include "CodeGenFunction.h"
#include "clang/AST/StmtVisitor.h"
+#include "clang/Basic/PrettyStackTrace.h"
#include "clang/Basic/TargetInfo.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/InlineAsm.h"
@@ -123,7 +124,9 @@ bool CodeGenFunction::EmitSimpleStmt(const Stmt *S) {
/// (for use by the statement expression extension).
RValue CodeGenFunction::EmitCompoundStmt(const CompoundStmt &S, bool GetLast,
llvm::Value *AggLoc, bool isAggVol) {
-
+ PrettyStackTraceLoc CrashInfo(getContext().getSourceManager(),S.getLBracLoc(),
+ "LLVM IR generation of compound statement ('{}')");
+
CGDebugInfo *DI = getDebugInfo();
if (DI) {
EnsureInsertPoint();