Description
Directly printing to cout or cerr makes XML and JSON output unparseable. ALL output must be done through a message stream.
In particular in solver/flattening, lots of error messages are still printed to cout or cerr. They should be attached to the exception thrown.
More work needs to be done for:
src/cbmc/bmc.cpp
src/cbmc/cbmc_dimacs.cpp
src/cbmc/cbmc_parse_options.cpp
src/cbmc/cbmc_solvers.cpp
src/cbmc/show_vcc.cpp
src/cbmc/symex_coverage.cpp
src/cbmc/xml_interface.cpp
src/clobber/clobber_parse_options.cpp
src/goto-analyzer/goto_analyzer_parse_options.cpp
src/goto-analyzer/taint_analysis.cpp
src/goto-cc/as_mode.cpp
src/goto-cc/compile.cpp
src/goto-cc/cw_mode.cpp
src/goto-cc/gcc_mode.cpp
src/goto-cc/goto_cc_mode.cpp-#include "goto_cc_mode.h"
src/goto-cc/goto_cc_mode.cpp-
src/goto-cc/goto_cc_mode.cpp-#include
src/goto-cc/goto_cc_mode.cpp:#include
src/goto-cc/linker_script_merge.cpp
src/goto-cc/ms_cl_mode.cpp
src/goto-diff/change_impact.cpp
src/goto-diff/goto_diff_parse_options.cpp
src/goto-instrument/accelerate/accelerate.cpp
src/goto-instrument/accelerate/acceleration_utils.cpp
src/goto-instrument/accelerate/all_paths_enumerator.cpp
src/goto-instrument/accelerate/cone_of_influence.cpp
src/goto-instrument/accelerate/disjunctive_polynomial_acceleration.cpp
src/goto-instrument/accelerate/enumerating_loop_acceleration.cpp
src/goto-instrument/accelerate/overflow_instrumenter.cpp
src/goto-instrument/accelerate/path.cpp
src/goto-instrument/accelerate/polynomial_accelerator.cpp
src/goto-instrument/accelerate/sat_path_enumerator.cpp
src/goto-instrument/accelerate/trace_automaton.cpp
src/goto-instrument/accelerate/util.cpp
src/goto-instrument/call_sequences.cpp
src/goto-instrument/count_eloc.cpp
src/goto-instrument/dot.cpp
src/goto-instrument/goto_instrument_parse_options.cpp
src/goto-instrument/show_locations.cpp
src/goto-programs/goto_program_irep.cpp
src/goto-programs/loop_ids.cpp
src/goto-programs/show_symbol_table.cpp
src/goto-symex/slice_by_trace.cpp
src/jbmc/jbmc_parse_options.cpp
src/langapi/language_ui.cpp
src/memory-models/mmcc_parse_options.cpp
src/pointer-analysis/show_value_sets.cpp
src/solvers/miniBDD/miniBDD.cpp
src/solvers/sat/dimacs_cnf.cpp
src/util/irep_serialization.cpp
src/util/lispexpr.cpp
src/util/parse_options.cpp
src/util/xml_irep.cpp