OSDN Git Service

Change raw_ostream so that it doesn't call llvm_report_error
authorDan Gohman <gohman@apple.com>
Wed, 15 Jul 2009 23:25:33 +0000 (23:25 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 15 Jul 2009 23:25:33 +0000 (23:25 +0000)
commite87b2abe91fc44bb9875188d80e3a43a9dfc41eb
tree1b99511fbb47295ae25647143b4a4e5d0e514a36
parent1e1f8ba28cc05212dfd347be219daa698d7294a5
Change raw_ostream so that it doesn't call llvm_report_error
immediately on every output error. Instead, add a flag to
raw_ostream, and set the flag whenever an error is detected.

The flag can be queried and cleared from the public API. This
gives applications more flexibility to handling errors in
application-specific ways.

If the flag is not cleared when the raw_ostream is destructed,
llvm_report_error is called from the destructor. This ensures
that errors are not implicitly silenced, and provides
convenient default behavior for tools like llc and opt.
Clients wishing to avoid llvm_report_error calls from
raw_ostream should check for errors and clear the error flag.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75857 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Support/raw_ostream.h
lib/Support/raw_ostream.cpp