summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2019-12-01Merge branch 'master' into fixRefCountZerofixRefCountZeroAndrew Reynolds
2019-11-30Prevent ref count from reaching zero in BV instantiatorAndres Noetzli
The `normalize*` methods in `ceg_bv_instantiator_utils.{h,cpp}` each modify a map that marks terms in which `pv` occurs. The map was mapping `TNode`s to `bool`s. The problem was that the keys in the map could be new terms that needed to be kept alive for the map to remain valid. When compiling CVC4 with Clang under macOS, `theory_quantifiers_bv_instantiator_white` and `theory_quantifiers_bv_inverter_white` were failing because the reference count of keys in the map reached zero. Generally, the critical keys are contained in the result of the functions and kept alive by the `visited` stack in `rewriteAssertionForSolvePv()`. The unit test `theory_quantifiers_bv_instantiator_white` did not keep the results alive, resulting in reference counts reaching zero. However, the failure of `theory_quantifiers_bv_inverter_white` shows that the issue is not limited to the unit tests of the `normalize*` methods. To avoid this issue, this commit changes the map to use `Node` keys instead (so the map itself keeps the keys alive).
2019-11-29Competition build: Skip parsing error regression (#3511)Andres Noetzli
2019-11-29Fix fast SyGuS enumeration for interpreted constants (#3501)Andrew Reynolds
2019-11-27Fix sygus inference for choice functions introduced at preprocess (#3500)Andrew Reynolds
2019-11-27Enable sygusRecFun by default and fixes SyGuS+RecFun+HO issues (#3502)Haniel Barbosa
2019-11-27 Fix indexof range lemma (#3499)Andrew Reynolds
2019-11-25Better front-end type checking for SyGuS (#3496)Andrew Reynolds
2019-11-22fixing stupid typo (#3488)Haniel Barbosa
2019-11-21hard limit for rec-fun eval (#3485)Haniel Barbosa
2019-11-20Lazy evaluation via rec-funs of ITE expressions (#3482)Haniel Barbosa
2019-11-18Fix reduction of `sqrt` (#3478)Andres Noetzli
2019-11-18Use -Wimplicit-fallthrough (#3464)Andres Noetzli
This commit enables compiler warnings for implicit fallthroughs in switch statements that are not explicitly marked as such. The commit introduces a new macro `CVC4_FALLTHROUGH` that can be used to indicate that a fallthrough is intentional. The commit fixes existing warnings and a bug in the arithmetic rewriter for `abs` (the bug likely couldn't be triggered easily because we rewrite `abs` to an `ite` while expanding definitions). To have the new macro also available in the parser, the commit changes `src/base/check.h` to be visible to the parser (it includes `cvc4_private_library.h` now instead of `cvc4_private.h`).
2019-11-17Updates to the unit tests, api, and examples for datatypes (#3459)Andrew Reynolds
* Updates to the unit tests, api, and examples for datatypes * Format
2019-11-15Fix wrong kind in sygus version 1 parser (#3463)Andrew Reynolds
2019-11-14Use Shebang in cxxtestgen when appropriate (#3458)Alex Ozdemir
CxxTest's generator has one of three names, depending on the CxxTest version: * `cxxtestgen.py`, a python program * `cxxtestgen`, some kind of program with a shebang * `cxxtestgen.pl`, a perl program We were mistakenly assuming that the `cxxtestgen` form was always a python program. Now, if we find that form on the system, we assume that it is has a shebang, and is executable.
2019-11-13Allow (set-logic ...) after (reset) (#3457)Andres Noetzli
Fixes #3353. #3062 introduced a flag that tracks whether we have seen a `(set-logic ...)` command to improve the handling of `--force-logic`. However, the flag was not set to `false` when `(reset)` was called. This commit fixes the issue.
2019-11-10Fix bugs related to sygus higher-order + recursive functions (#3448)Andrew Reynolds
2019-11-06[Regressions] Remove leading whitespace in output (#3444)Andres Noetzli
2019-11-06Support for SyGuS PBE + recursive functions (#3433)Andrew Reynolds
2019-11-04[Regressions] Support for running w/ default args (#3436)Andres Noetzli
2019-11-04Avoid non-well-founded sygus grammars (#3434)Andrew Reynolds
2019-11-04Make getSynthSolution return a Bool (#3306)Andrew Reynolds
2019-11-01Fix non-termination in datatype type enumerator (#3369)Andrew Reynolds
2019-10-30Unify CVC4_CHECK/CVC4_DCHECK/AlwaysAssert/Assert. (#3366)Mathias Preiner
2019-10-28Fix for non-linear models (#3410)Andrew Reynolds
* Towards fix for non-linear models * Format * Fix * More * Improve * Format * More
2019-10-28Fix integer division rewrite (#3415)Andres Noetzli
2019-10-27Fix global-declarations support (#3403)Andres Noetzli
2019-10-23Fixes for SyGuS + regular expressions (#3313)Andrew Reynolds
This commit fixes numerous issues involving the combination of SyGuS and regular expressions. Combining SyGuS and regular expressions may involve constructing regular expressions that are neither variables nor builtin regular expression operators. The code was not robust for this case, either throwing spurious assertion failures or having incorrect behavior.
2019-10-18Update overflow check to handle negative numbers (#3396)makaimann
2019-10-15Fix regression (#3393)Andres Noetzli
PR #3388 didn't disable the regression correctly (due to using `REQUIRE` instead of `REQUIRES`). This commit fixes the issue.
2019-10-14Disable regression test for competition build (#3388)Andres Noetzli
This commit disables a regression test that was failing for the competition build due to not emitting the expected error message.
2019-10-14Remove benchmark (#3389)Andrew Reynolds
2019-10-14Support UF in default sygus grammars (#3319)Andrew Reynolds
2019-10-14Apply sygus repair constant techniques restricted to refinement lemmas (#3386)Andrew Reynolds
2019-10-14Ensure lemmas from sygus repair const are guarded (#3385)Andrew Reynolds
2019-10-13Eliminate negative constant coefficients in div/mod (#2929)Andrew Reynolds
Fixes #1399.
2019-10-11Check that logic is set when synth-fun command is encountered (#3384)Andrew Reynolds
2019-10-09test: Add TS_UTILS_EXPECT_ABORT macro for unit tests. (#3378)Mathias Preiner
TS_UTILS_EXPECT_ABORT can be used if an expression in a unit test is expected to abort() instead of throwing an exception. This can happen if CVC4_CHECK or CVC4_DCHECK fail.
2019-10-08Avoid printing success for `--force-logic` (#3363)Andres Noetzli
CVC4 was printing success when `--force-logic` was used because internally, `--force-logic` generates a `SetBenchmarkLogicCommand`. This caused issues with the SMT-COMP trace executor. This commit fixes the behavior by muting the command if it was not issued by the user. The issue was likely introduced with #3062.
2019-10-08New C++ API: Term: Add missing checks for null. (#3364)Aina Niemetz
Co-Authored-By: Andres Noetzli <andres.noetzli@gmail.com>
2019-10-08Limit cases of sygus inference based on type (#3370)Andrew Reynolds
This makes `--sygus-inference` a no-op for inputs where there is a free function whose sort cannot be handled in a sygus grammar. It also fixes an issue where skolem variables were not being treated as functions-to-synthesize. Fixes #3250 and fixes #3356.
2019-10-08Fix method for getting arithmetic function definition body (#3371)Andrew Reynolds
2019-10-08[CVC Parser] Add support for regular expressions (#3346)Andres Noetzli
2019-10-08Disallow --proof and --incremental (#3332)Andres Noetzli
2019-10-08Make ackermannization generally applicable rather than just BV (#3315)Ying Sheng
The ackermannization process is currently already support general theories rather than specifically for BV. In this pull request, an option has been added to turn on ackermannization independently.
2019-10-07New C++ API: Add Term::getId(). (#3360)Aina Niemetz
+ use explicit types in NodeValue + add unit test for Term::isParameterized() Co-Authored-By: makaimann <makaim@stanford.edu>
2019-10-06Fix typo in regression (#3359)Andrew Reynolds
2019-10-06Fix str to int reduction (#3358)Andrew Reynolds
This fixes a corner case of the str-to-int reduction for the case where the argument is the empty string. This fixes #3357.
2019-10-03Disable proofs for unsupported logics (#3327)yoni206
This commit makes CVC4 complain if the user asked for proofs for an unsupported logic (in this contest, ALL is considered unsupported). Changes in the regression script are introduced as well, in order to only request proofs for regressions in supported logics.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback