summaryrefslogtreecommitdiff
path: root/include/llvm/Support/Program.h
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2011-05-11 16:31:24 +0000
committerAndrew Trick <atrick@apple.com>2011-05-11 16:31:24 +0000
commit7c863eb8cc34c8ae97ae90672758eb6637b1125f (patch)
tree25fd978fd971992c33ff05b6845be93ba0c6c685 /include/llvm/Support/Program.h
parentde5d5ded6440f6c3e364f4f31bada108ad2d74a4 (diff)
downloadllvm-7c863eb8cc34c8ae97ae90672758eb6637b1125f.tar.gz
llvm-7c863eb8cc34c8ae97ae90672758eb6637b1125f.tar.bz2
llvm-7c863eb8cc34c8ae97ae90672758eb6637b1125f.tar.xz
Bugpoint support for miscompilations that result in a crash.
This change allows bugpoint to pinpoint the "opt" pass and bitcode segment responsible for a crash caused by miscompilation. At least it works well for me now, without having to create any custom execution wrappers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131186 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Support/Program.h')
-rw-r--r--include/llvm/Support/Program.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/include/llvm/Support/Program.h b/include/llvm/Support/Program.h
index 96b35660f9..986c53e908 100644
--- a/include/llvm/Support/Program.h
+++ b/include/llvm/Support/Program.h
@@ -96,9 +96,11 @@ namespace sys {
///< expires, the child is killed and this call returns. If zero,
///< this function will wait until the child finishes or forever if
///< it doesn't.
- std::string* ErrMsg ///< If non-zero, provides a pointer to a string
+ std::string* ErrMsg, ///< If non-zero, provides a pointer to a string
///< instance in which error messages will be returned. If the string
///< is non-empty upon return an error occurred while waiting.
+ const char *SignalPrefix ///< If non-zero, provides a prefix to be
+ ///< prepended to ErrMsg if the process is terminated abnormally.
);
/// This function terminates the program.
@@ -137,7 +139,8 @@ namespace sys {
const sys::Path** redirects = 0,
unsigned secondsToWait = 0,
unsigned memoryLimit = 0,
- std::string* ErrMsg = 0);
+ std::string* ErrMsg = 0,
+ const char *SignalPrefix = 0);
/// A convenience function equivalent to Program prg; prg.Execute(..);
/// @see Execute