This PR removes the old dumping infrastructure. All dumping has already been migrated to -o.
cvc5_option(ENABLE_COMP_INC_TRACK
"Enable optimizations for incremental SMT-COMP tracks")
cvc5_option(ENABLE_DEBUG_SYMBOLS "Enable debug symbols")
-cvc5_option(ENABLE_DUMPING "Enable dumping")
cvc5_option(ENABLE_MUZZLE "Suppress ALL non-result output")
cvc5_option(ENABLE_STATISTICS "Enable statistics")
cvc5_option(ENABLE_TRACING "Enable tracing")
add_definitions(-DCVC5_MUZZLE)
endif()
-if(ENABLE_DUMPING)
- add_definitions(-DCVC5_DUMPING)
-endif()
-
if(ENABLE_PROFILING)
add_definitions(-DCVC5_PROFILING)
add_check_c_cxx_flag("-pg")
print_config("Debug symbols " ${ENABLE_DEBUG_SYMBOLS})
print_config("Debug context mem mgr " ${ENABLE_DEBUG_CONTEXT_MM})
message("")
-print_config("Dumping " ${ENABLE_DUMPING})
print_config("Muzzle " ${ENABLE_MUZZLE})
print_config("Statistics " ${ENABLE_STATISTICS})
print_config("Tracing " ${ENABLE_TRACING})
cvc5_set_option(ENABLE_PROOFS OFF)
# enable_tracing=no
cvc5_set_option(ENABLE_TRACING OFF)
-# enable_dumping=no
-cvc5_set_option(ENABLE_DUMPING OFF)
# enable_muzzle=yes
cvc5_set_option(ENABLE_MUZZLE ON)
# enable_valgrind=no
cvc5_set_option(ENABLE_PROOFS ON)
# enable_tracing=yes
cvc5_set_option(ENABLE_TRACING ON)
-# enable_dumping=yes
-cvc5_set_option(ENABLE_DUMPING ON)
# enable_muzzle=no
cvc5_set_option(ENABLE_MUZZLE OFF)
# enable_valgrind=optional
cvc5_set_option(ENABLE_PROOFS ON)
# enable_tracing=no
cvc5_set_option(ENABLE_TRACING OFF)
-# enable_dumping=yes
-cvc5_set_option(ENABLE_DUMPING ON)
# enable_muzzle=no
cvc5_set_option(ENABLE_MUZZLE OFF)
# enable_valgrind=no
cvc5_set_option(ENABLE_PROOFS ON)
# enable_tracing=yes
cvc5_set_option(ENABLE_TRACING ON)
-# enable_dumping=yes
-cvc5_set_option(ENABLE_DUMPING ON)
# enable_muzzle=no
cvc5_set_option(ENABLE_MUZZLE OFF)
# enable_valgrind=no
--statistics include statistics
--assertions turn on assertions
--tracing include tracing code
- --dumping include dumping code
--muzzle complete silence (no non-result output)
--coverage support for gcov coverage testing
--profiling support for gprof profiling
debug_context_mm=default
debug_symbols=default
docs=default
-dumping=default
glpk=default
gpl=default
kissat=default
--debug-context-mm) debug_context_mm=ON;;
--no-debug-context-mm) debug_context_mm=OFF;;
- --dumping) dumping=ON;;
- --no-dumping) dumping=OFF;;
-
--gpl) gpl=ON;;
--no-gpl) gpl=OFF;;
&& cmake_opts="$cmake_opts -DENABLE_DEBUG_SYMBOLS=$debug_symbols"
[ $debug_context_mm != default ] \
&& cmake_opts="$cmake_opts -DENABLE_DEBUG_CONTEXT_MM=$debug_context_mm"
-[ $dumping != default ] \
- && cmake_opts="$cmake_opts -DENABLE_DUMPING=$dumping"
[ $gpl != default ] \
&& cmake_opts="$cmake_opts -DENABLE_GPL=$gpl"
[ $win64 != default ] \
return IS_TRACING_BUILD;
}
-bool Configuration::isDumpingBuild() {
- return IS_DUMPING_BUILD && !IS_MUZZLED_BUILD;
-}
-
bool Configuration::isMuzzledBuild() {
return IS_MUZZLED_BUILD;
}
static bool isTracingBuild();
- static bool isDumpingBuild();
-
static bool isMuzzledBuild();
static bool isAssertionBuild();
# define IS_TRACING_BUILD false
#endif /* CVC5_TRACING */
-#ifdef CVC5_DUMPING
-# define IS_DUMPING_BUILD true
-#else /* CVC5_DUMPING */
-# define IS_DUMPING_BUILD false
-#endif /* CVC5_DUMPING */
-
#ifdef CVC5_MUZZLE
# define IS_MUZZLED_BUILD true
#else /* CVC5_MUZZLE */
DebugC DebugChannel(&std::cout);
WarningC WarningChannel(&std::cerr);
TraceC TraceChannel(&std::cout);
-std::ostream DumpOutC::dump_cout(std::cout.rdbuf()); // copy cout stream buffer
-DumpOutC DumpOutChannel(&DumpOutC::dump_cout);
} // namespace cvc5
}; /* class TraceC */
-/** The dump output class */
-class DumpOutC
-{
- std::set<std::string> d_tags;
- std::ostream* d_os;
-
-public:
- /**
- * A copy of cout for use by the dumper. This is important because
- * it has different settings (e.g., the expr printing depth is always
- * unlimited). */
- static std::ostream dump_cout;
-
- explicit DumpOutC(std::ostream* os) : d_os(os) {}
-
- Cvc5ostream operator()(std::string tag)
- {
- if(!d_tags.empty() && d_tags.find(tag) != d_tags.end()) {
- return Cvc5ostream(d_os);
- } else {
- return Cvc5ostream();
- }
- }
-
- bool on(const std::string& tag)
- {
- d_tags.insert(tag);
- return true;
- }
- bool off(const std::string& tag)
- {
- d_tags.erase(tag);
- return false;
- }
- bool off() { d_tags.clear(); return false; }
-
- bool isOn(std::string tag) const { return d_tags.find(tag) != d_tags.end(); }
-
- std::ostream& setStream(std::ostream* os) { d_os = os; return *d_os; }
- std::ostream& getStream() const { return *d_os; }
- std::ostream* getStreamPointer() const { return d_os; }
-}; /* class DumpOutC */
-
/** The debug output singleton */
extern DebugC DebugChannel CVC5_EXPORT;
/** The warning output singleton */
extern WarningC WarningChannel CVC5_EXPORT;
/** The trace output singleton */
extern TraceC TraceChannel CVC5_EXPORT;
-/** The dump output singleton */
-extern DumpOutC DumpOutChannel CVC5_EXPORT;
#ifdef CVC5_MUZZLE
#define WarningOnce \
::cvc5::__cvc5_true() ? ::cvc5::nullStream : ::cvc5::WarningChannel
#define Trace ::cvc5::__cvc5_true() ? ::cvc5::nullStream : ::cvc5::TraceChannel
-#define DumpOut \
- ::cvc5::__cvc5_true() ? ::cvc5::nullStream : ::cvc5::DumpOutChannel
#else /* CVC5_MUZZLE */
#else /* CVC5_TRACING */
#define Trace ::cvc5::__cvc5_true() ? ::cvc5::nullStream : ::cvc5::TraceChannel
#endif /* CVC5_TRACING */
-#ifdef CVC5_DUMPING
-#define DumpOut ::cvc5::DumpOutChannel
-#else /* CVC5_DUMPING */
-#define DumpOut \
- ::cvc5::__cvc5_true() ? ::cvc5::nullStream : ::cvc5::DumpOutChannel
-#endif /* CVC5_DUMPING */
#endif /* CVC5_MUZZLE */
print_config_cond("debug code", Configuration::isDebugBuild());
print_config_cond("statistics", Configuration::isStatisticsBuild());
print_config_cond("tracing", Configuration::isTracingBuild());
- print_config_cond("dumping", Configuration::isDumpingBuild());
print_config_cond("muzzled", Configuration::isMuzzledBuild());
print_config_cond("assertions", Configuration::isAssertionBuild());
print_config_cond("coverage", Configuration::isCoverageBuild());
-; REQUIRES: dumping
; COMMAND-LINE: -o raw-benchmark --preprocess-only
; SCRUBBER: grep assert
; EXPECT: (assert (let ((_let_1 (* x y))) (and (= _let_1 _let_1) (= _let_1 _let_0))))