diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-08-23 22:35:34 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-08-23 22:35:34 +0000 |
commit | f10f9bec833f6b438d52d3dcb70578bfde449116 (patch) | |
tree | b86bdb8d65df8bc9a3eb1c86b8d5e6e9827acea4 | |
parent | 8d03b8a8ce55116136b3bdb2b21aca0666d7f6f7 (diff) | |
download | bcm5719-llvm-f10f9bec833f6b438d52d3dcb70578bfde449116.tar.gz bcm5719-llvm-f10f9bec833f6b438d52d3dcb70578bfde449116.zip |
libclang: Print more information when recovering from crashes in
clang_parseTranslationUnit.
llvm-svn: 111855
-rw-r--r-- | clang/tools/libclang/CIndex.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index 27d5ab25b82..a98f064e6f9 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -1491,7 +1491,26 @@ CXTranslationUnit clang_parseTranslationUnit(CXIndex CIdx, llvm::CrashRecoveryContext CRC; if (!CRC.RunSafely(clang_parseTranslationUnit_Impl, &PTUI)) { - fprintf(stderr, "libclang: crash detected during parsing"); + fprintf(stderr, "libclang: crash detected during parsing: {\n"); + fprintf(stderr, " 'source_filename' : '%s'\n", source_filename); + fprintf(stderr, " 'command_line_args' : ["); + for (int i = 0; i != num_command_line_args; ++i) { + if (i) + fprintf(stderr, ", "); + fprintf(stderr, "'%s'", command_line_args[i]); + } + fprintf(stderr, "],\n"); + fprintf(stderr, " 'unsaved_files' : ["); + for (unsigned i = 0; i != num_unsaved_files; ++i) { + if (i) + fprintf(stderr, ", "); + fprintf(stderr, "('%s', '...', %ld)", unsaved_files[i].Filename, + unsaved_files[i].Length); + } + fprintf(stderr, "],\n"); + fprintf(stderr, " 'options' : %d,\n", options); + fprintf(stderr, "}\n"); + return 0; } |