diff options
author | Martin Nowack <martin.nowack@gmail.com> | 2015-08-10 08:59:00 +0200 |
---|---|---|
committer | Dan Liew <daniel.liew@imperial.ac.uk> | 2015-12-17 19:30:14 +0000 |
commit | 771cdf39d9c1e142269e2cafc4365d0d68e05f9a (patch) | |
tree | e4d0c7a9eb9a5aee2ed350d77625aec89cc05ed5 /include | |
parent | d8f9c929f69cdfb739f03b6512035071c02108c9 (diff) | |
download | klee-771cdf39d9c1e142269e2cafc4365d0d68e05f9a.tar.gz |
Refactoring: Moving klee_warning/_error functions to ErrorHandling in Support directory
Diffstat (limited to 'include')
-rw-r--r-- | include/klee/Internal/Support/ErrorHandling.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/include/klee/Internal/Support/ErrorHandling.h b/include/klee/Internal/Support/ErrorHandling.h new file mode 100644 index 00000000..330985e9 --- /dev/null +++ b/include/klee/Internal/Support/ErrorHandling.h @@ -0,0 +1,51 @@ +//===-- ErrorHandling.h -----------------------------------------*- C++ -*-===// +// +// The KLEE Symbolic Virtual Machine +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef __KLEE_ERROR_HANDLING_H__ +#define __KLEE_ERROR_HANDLING_H__ + +#ifdef __CYGWIN__ +#ifndef WINDOWS +#define WINDOWS +#endif +#endif + +#include <stdio.h> + +namespace klee { + +extern FILE *klee_warning_file; +extern FILE *klee_message_file; + +/// Print "KLEE: ERROR" followed by the msg in printf format and a +/// newline on stderr and to warnings.txt, then exit with an error. +void klee_error(const char *msg, ...) + __attribute__((format(printf, 1, 2), noreturn)); + +/// Print "KLEE: " followed by the msg in printf format and a +/// newline on stderr and to messages.txt. +void klee_message(const char *msg, ...) __attribute__((format(printf, 1, 2))); + +/// Print "KLEE: " followed by the msg in printf format and a +/// newline to messages.txt. +void klee_message_to_file(const char *msg, ...) + __attribute__((format(printf, 1, 2))); + +/// Print "KLEE: WARNING" followed by the msg in printf format and a +/// newline on stderr and to warnings.txt. +void klee_warning(const char *msg, ...) __attribute__((format(printf, 1, 2))); + +/// Print "KLEE: WARNING" followed by the msg in printf format and a +/// newline on stderr and to warnings.txt. However, the warning is only +/// printed once for each unique (id, msg) pair (as pointers). +void klee_warning_once(const void *id, const char *msg, ...) + __attribute__((format(printf, 2, 3))); +} + +#endif /* __KLEE_ERROR_HANDLING_H__ */ |