summaryrefslogtreecommitdiff
path: root/src/main
AgeCommit message (Collapse)Author
2018-08-23Makes the filename be set in the SMT engine by default (#2366)Haniel Barbosa
2018-08-10Fix portfolio command executor for changes from #2240. (#2294)Aina Niemetz
2018-08-08Plug solver API object into parser. (#2240)Aina Niemetz
2018-08-07Require Swig 3 (#2283)Andres Noetzli
Removes some hacks due to Swig 2's incomplete C++11 support and adds checks for version 3 at configuration time as well as in swig.h
2018-08-07Delete functions instead of using CVC4_UNDEFINED (#1794)Andres Noetzli
C++11 supports explicitly deleting functions that should not be used (explictly or implictly), e.g. copy or assignment constructors. We were previously using the CVC4_UNDEFINED macro that used a compiler-specific attribute. The C++11 feature should be more portable.
2018-08-02Remove Subversion build info (#2250)Andres Noetzli
2018-08-01 InteractiveShell: Remove redundant options argument. (#2244)Aina Niemetz
2018-06-25Updated copyright headers.Aina Niemetz
2018-05-02Initial support for string standard in smt lib 2.6 (#1848)Andrew Reynolds
2018-03-06Make statistics output consistent. (#1647)Mathias Preiner
* Fixes --hide-zero-stats (and really skips the 0 values) * Removes the additional newline after each statistic * Introduces theory::getStatsPrefix(TheoryId) to generate consistent prefixes for statistics based on the theory id (e.g., THEORY_BV -> "theory::bv").
2018-02-02Restoring ostream format. Resolves a few CIDs 1362780. (#1543)Tim King
2018-01-08Removing more miscellaneous throw specifiers. (#1488)Tim King
Removing more miscellaneous throw specifiers.
2018-01-04Removing miscellaneous throw specifiers. (#1474)Tim King
2017-12-12Add SIGTERM handler. (#1440)Mathias Preiner
Print statistics if CVC4 gets a SIGTERM signal.
2017-11-03Sygus clean main (#1297)Andrew Reynolds
* Remove front end hack for sygus. * Remove other hack, add sygus solution output mode. * Clang format * Minor * Fix * Minor * Remove unused field.
2017-10-10Add copyright information. (#1201)Aina Niemetz
This adds option --copyright which displays copyright information for CVC4. It further extends --show-config with copyright information and adds a banner with copyright information in interactive mode.
2017-09-20Fix issue #1081, memory leak in cmd executor (#1109)Andres Noetzli
The variable `g` could be set multiple times depending on the options (e.g. a combination of `--dump-unsat-cores` and `--dump-synth`), which could lead to memory leaks and missing output. This commit fixes the issue by replacing `g` with a list of `getterCommands` that are all executed and deleted.
2017-08-31Replace CVC4_THREADLOCAL in interactive_shell (#1065)Andres Noetzli
Commit 546d795470ca7c30fc62fe9b6c7b8e5838e1eed4 caused our nightly builds to fail because it did not replace CVC4_THREADLOCAL with CVC4_THREAD_LOCAL in interactive_shell. This commit fixes the issue and adds readline to Travis, s.t. readline related code gets compiled as part of our CI tests.
2017-08-30Use thread_local instead of compiler extensions (#210)Andres Noetzli
C++11 introduced the thread_local keyword, so we don't need to use non-standard extensions or our custom pthread extension anymore. The behavior was previously introduced as a workaround in commit 753a072c542c1c254d7c6adbf10e091ba585ede5. This commit introduces the macro CVC4_THREAD_LOCAL that can be used to declare variables as thread local. For Swig, this macro is defined to be empty.
2017-08-24Add include to fix buildAndres Noetzli
2017-08-04Set default language to smt lib 2.6 (including as a base language for ↵ajreynol
sygus), update regressions.
2017-07-17Remove PtrCloser (#198)Andres Noetzli
With C++11, we don't need PtrCloser anymore because we can just use std::unique_ptr.
2017-07-10Merge datatype shared selectors/sygus comp 2017 branch. Modify the datatypes ↵ajreynol
decision procedure to share selectors of the same type across multiple constructors. Major rewrite of the SyGuS solver. Adds several new strategies for I/O example problems (PBE) and invariant synthesis. Major simplifications to sygus parsing and synthesis conjecture representation. Do not support check-synth in portfolio. Add sygus regressions.
2017-07-07Update copyright headers.Mathias Preiner
2017-06-21Check for sigaltstack in configure (#172)Clément Pit-Claudel
2017-06-20Fix SIGILL handlerAndres Noetzli
As pointed out by @cpitclaudel in pull request #172, we are using the same handler for SIGSEGV and SIGILL and ill_handler() is unused. This commit changes the SIGILL handler to ill_handler().
2017-05-16Fix error in Windows buildAndres Noetzli
The Windows build was missing the `print_statistics()` function, this commit moves the function out of the `#ifndef __WIN32__` guard.
2017-05-15Minor fix in safe_print functionAndres Noetzli
This commit fixes two issues reported by Coverity: - Fixes the check whether the buffer is full in safe_print_hex - Removes dead code in safe_print for floating-point values Additionally, it fixes an issue reported by Andy where the names of the statistics were printed as "<unsupported>" due to calling the const char* version instead of the std::string version of safe_print. Finally, this fixes an issue where --segv-spin would not print the program name because it was a const char*. The program name is now stored as a string. NOTE: As a side effect, the last part also fixes Coverity issue 1362944, which has been in CVC4 for a long time.
2017-05-12Make signal handlers saferAndres Notzli
As reported in bug 769, the signal handlers currently use unsafe functions such as dynamic memory allocations and fprintf. This commit fixes the issue by introducing functions for printing statistics in signal handlers (functions with the `safe` prefix). It also avoids copying statistics, which further avoids dynamic memory allocation. The safe printing of statistics has some limitations (it does not support SExprStats or printing CVC4::Result), which should not matter much in practice. Printing statistics in a non-signal handler is not affected by these changes as that uses a separate code path (the functions without the `safe` prefix). Additional changes: - Remove ListStat as it is not used anywhere - Add unit test for safe printing statistics
2017-04-13Fix for some compilersClark Barrett
2017-03-18Fix for bug 707.Clark Barrett
2017-03-16Parsing support for SMT LIB 2.6. Minor fixes for printing datatypes. Fix for ↵ajreynol
mkGroundTerm for parametric datatypes. Minor change to run_regression to allow regressions to override input language. Minor refactoring to Cvc.g.
2017-01-08With reference to Bug 679, this commit integrates part of the patch ↵Cristian Mattarei
proposed, and it fixes the correct float parsing of an std::istringstream. The compilation issue in Bug 679 does not apply anymore with gcc6.3.1
2016-12-14Switch from SMT-LIB v2.0 to v2.5 for smt2 filesAndres Notzli
As mentioned in bug 741, CVC4 was parsing `.smt2` files using the SMT-LIB v2.0 standard by default. This commit switches to v2.5.
2016-12-14Made tear-down-incremental more like it used to be: when tear-down valueClark Barrett
is 1, it does not automatically enable incremental mode.
2016-11-18Add support for set-logic ALL, fix compiler error in GCC 6.1Clark Barrett
2016-11-09Renaming the class PtrCloser to not cause confusion with unique_ptr.Tim King
2016-11-06Adds a C++05 version of unique_ptr. Used this to solve a garbage collection ↵Tim King
problem caused by memory leaks of heap allocated Parsers.
2016-09-25Deleting the intermediate command singleton.Tim King
2016-08-31Removing typeof from command_executor_portfolio.cpp.Tim King
2016-05-27Removing check that is no longer valid.Clark Barrett
2016-05-16Fix memory leak in interactive_shell.cppClark Barrett
2016-04-03Updating the copyright headers and scripts.Tim King
2016-03-21New version of the recursive options parsing strategy.Tim King
2016-03-08Extend synthesis solver to handle single invocation with additional ↵ajreynol
universal quantification. Refactor query/check-sat to call one internal function in SmtEngine. Make check-synth its own command. Minor work on quant ee.
2016-02-02Moving dump.*, command.*, model.*, and ite_removal.* from smt_util/ to smt/. ↵Tim King
Breaking an edge between the sat solver and command.h.
2016-02-01Removing the CVC4_NEEDS_REPLACEMENT_FUNCTIONS guard to have a simpler build ↵Tim King
process.
2016-01-28Adding listeners to Options.Tim King
- Options -- Added the new option attribute :notify. One can get a notify() call on the Listener after a the option's value is updated. This is the new preferred way to achieve dynamic dispatch for options. -- Removed SmtOptionsHandler and pushed its functionality into OptionsHandler and Listeners. -- Added functions to Options for registering listeners of the notify calls. -- Changed a number of options to use the new listener infrastructure. -- Fixed a number of warnings in options. -- Added the ArgumentExtender class to better capture how arguments are inserted while parsing options and ease memory management. Previously this was the "preemptGetopt" procedure. -- Moved options/options_handler_interface.{cpp,h} to options/options_handler.{cpp,h}. - Theories -- Reimplemented alternative theories to use a datastructure stored on TheoryEngine instead of on Options. - Ostream Handling: -- Added new functionality that generalized how ostreams are opened, options/open_stream.h. -- Simplified the memory management for different ostreams, smt/managed_ostreams.h. -- Had the SmtEnginePrivate manage the memory for the ostreams set by options. -- Simplified how the setting of ostreams are updated, smt/update_ostream.h. - Configuration and Tags: -- Configuration can now be used during predicates and handlers for options. -- Moved configuration.{cpp,h,i} and configuration_private.h from util/ into base/. -- Moved {Debug,Trace}_tags.* from being generated in options/ into base/. - cvc4_private.h -- Upgraded #warning's in cvc4_private.h and cvc4_private_library.h to #error's. -- Added public first-order (non-templatized) member functions for options get and set the value of options outside of libcvc4. Fixed all of the use locations. -- Made lib/lib/clock_gettime.h a cvc4_private_library.h header. - Antlr -- Fixed antlr and cvc4 macro definition conflicts that caused warnings. - SmtGlobals -- Refactored replayStream and replayLog out of SmtGlobals. -- Renamed SmtGlobals to LemmaChannels and moved the implementation into smt_util/lemma_channels.{h,cpp}.
2016-01-08Removing StatisticsRegistry's static functions current() and registerStat().Tim King
- The functionality the get the StatisticsRegistry attached to the SmtEngine was previously through StatisticsRegistry::current(). This is the dominant StatisticsRegistry in the code. (There is another StatisticsRegistry attached to the NodeManager.) Having this be a static function on StatisticsRegistry requires the use of an SmtEngine in the wrong compilation unit. - Usages of StatisticsRegistry::current() that were visible in prop/{bvminisat,minisat} has been removed. A pointer to the relevant StatisticsRegistry should be passed instead into the constructor. - The function StatisticsRegistry::current() has been replaced by SmtScope::currentStatisticsRegistry(). SmtScope is in the libcvc4 package, where SmtEngine is available in the compilation unit. - The function smtStatisticsRegistry() is a synonym for SmtScope::currentStatisticsRegistry() in smt/smt_statistics_registry.h. This header has fewer include dependencies than the one for SmtScope. - Correspondingly, the static functions StatisticsRegistry::{registerStat, unregisterStat} have been removed. One should instead use smtStatisticsRegistry()->{registerStat,unregisterStat} instead. - The KEEP_STATISTIC macro has been moved into smt/smt_statistics_registry.h. - Documents the reason StatisticsRegistry is CVC4_PUBLIC. This lets me remove the warning I added. - Removing most operators for timespec from statistics_registry.h file. These a bit error prone in clang. - Most of the really confusing ifdef's in util/statistics_registry.h are gone.
2016-01-05Add SmtGlobals ClassTim King
- The options replayStream, lemmaInputChannel, lemmaOutputChannel have been removed due to their datatypes. These datatypes were previously pointers to types that were not usable from the options/ library. - The option replayLog has been removed due to inconsistent memory management. - SmtGlobals is a class that wraps a pointer to each of these removed options. These can each be set independently. - There is a single SmtGlobals per SmtEngine with the lifetime of the SmtEngine. - A pointer to this is freely given to the user of an SmtEngine to parameterize the solver after construction. - Selected classes have been given a copy of this pointer in their constructors. - Removed the dependence on Node from Result. Moving Result back into util/.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback