3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 20:18:18 +00:00
Commit graph

6762 commits

Author SHA1 Message Date
Christoph M. Wintersteiger e9cd4d1057 Build fix for systems that don't come with SSE4.1 support by default 2017-03-24 11:51:36 +00:00
Christoph M. Wintersteiger 46ff4ae40d Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-24 09:40:23 +00:00
Christoph M. Wintersteiger 866035d786 Disabled debug output 2017-03-24 09:40:18 +00:00
Nikolaj Bjorner ec47706226 fix constant offset and handling of ite in difference logic optimizer code-path. Issue #946
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-24 02:23:50 -07:00
Nikolaj Bjorner 5d11a1cdb2 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-24 01:31:16 -07:00
Nikolaj Bjorner c56c7fd649 add handlers for dense difference logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-24 01:31:00 -07:00
Christoph M. Wintersteiger 37167a8dd6 Fixed excessive trace output 2017-03-23 19:53:23 +00:00
Nikolaj Bjorner 0313f52cf2 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-23 11:10:32 -07:00
Nikolaj Bjorner 62e87d6474 fix double ownership of enode marking causing crash during tracing. Issue #952
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-23 11:10:19 -07:00
Nikolaj Bjorner 1ab7ab9d74 fix double ownership of enode marking causing crash during tracing. Issue #952
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-23 11:09:36 -07:00
Murphy Berzish 82d472a227 Merge remote-tracking branch 'upstream/master' into develop 2017-03-23 13:35:58 -04:00
Nikolaj Bjorner 26ae3a5abb making simplifier code exception friendlier. Towards getting a handle on #939
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-22 19:06:59 -07:00
Nikolaj Bjorner e47e8c67c0 introducing scoped detacth/attach of clauses to enforce basic sat solver invariants. Part of investigating #939:
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-22 14:12:47 -07:00
Nikolaj Bjorner 25d839ed10 fix bug in simplifier of bv2int over concatentations exposed by #948
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-22 10:55:55 -07:00
Nikolaj Bjorner e342b87921 Merge pull request #942 from mtrberzi/str-extract-semantics
alternate str.extract semantics in seq_rewriter
2017-03-21 10:48:06 -07:00
Murphy Berzish 6804c88b66 make seq.extract rewrite type-generic 2017-03-21 12:54:06 -04:00
Nikolaj Bjorner 6be4c9a5bb Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-21 07:40:40 -06:00
Nikolaj Bjorner ca4ae171ea remove unsound simplification in prefix #949
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-21 07:40:35 -06:00
Nuno Lopes 8ac060c549 fix build with VS 2017 2017-03-20 09:12:41 +00:00
Nikolaj Bjorner d58018841e remove code that causes infinite loop. Stackoverflow question from Dominik Wojtaszek
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-17 10:52:16 -07:00
Murphy Berzish 43f9a0a2bd fix unterminated char* 2017-03-17 13:48:30 -04:00
Nikolaj Bjorner d754aa2dc4 disable ackerman reduction when head contains a non-constant/non-variable. #947
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-17 10:12:32 -07:00
Nikolaj Bjorner a0237ed2a6 fix crash reported in #946
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-16 18:56:43 -07:00
Murphy Berzish 8021d63539 remove legacy str_decl_plugin and str_rewriter classes; these have been unified with sequence-compatible equivalents 2017-03-15 15:25:48 -04:00
Nikolaj Bjorner 72651e2e98 fixing sources for double frees of clauses. #940
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-14 19:35:11 -07:00
Nikolaj Bjorner 05c267b8d8 make seq.at operations generic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-14 15:37:47 -07:00
Murphy Berzish 5917a34226 Merge branch 'upstream-master' into develop 2017-03-14 15:04:17 -04:00
Murphy Berzish 9659f08322 Merge branch 'str-extract-semantics' into develop 2017-03-14 14:14:53 -04:00
Murphy Berzish 34717a7b6e str.extract semantics fix 2017-03-14 14:14:46 -04:00
Nikolaj Bjorner 0668ba5f6c add pb shorthands to C++. Issue #694
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-14 07:58:39 -07:00
Nikolaj Bjorner 7634f8b93e Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-14 07:47:51 -07:00
Nikolaj Bjorner 1dd2de61ec add sum shorthand to C++. Issue #694
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-14 07:43:26 -07:00
Nikolaj Bjorner dc9266f95a Merge pull request #941 from humeafo/master
added no exception support to z3++.h
2017-03-14 15:37:26 +01:00
hume 0b1d564509 added no exception support to z3++.h 2017-03-14 18:11:00 +08:00
Murphy Berzish 24df976f95 fixup startswith/endswith to prefixof/suffixof 2017-03-13 17:03:36 -04:00
Nikolaj Bjorner 5cff42bbfa Merge pull request #938 from mtrberzi/str-at-semantics
alternate str.at semantics check in seq_rewriter
2017-03-13 19:50:02 +01:00
Murphy Berzish 94d5f242b8 Merge branch 'str-at-semantics' into develop 2017-03-13 14:40:40 -04:00
Murphy Berzish 5c9d7538a0 add alternate str.at semantics check in seq_rewriter
this rewrites to empty string if the index is negative or beyond the length of the string,
which is consistent with CVC4's semantics for this term
2017-03-13 14:39:12 -04:00
Nikolaj Bjorner 5a79722071 Merge pull request #926 from delcypher/cmake_z3_config
[CMake] Z3 Package config files
2017-03-13 15:17:38 +01:00
Dan Liew 28493622c2 [CMake] On Windows when building the examples copy the Z3 library
into the directory of the example executable so that it works "out
of the box".
2017-03-13 12:37:29 +00:00
Dan Liew ac85c68ccb [CMake] Fix examples linking against libz3 when it is built as a
static library on Linux.
2017-03-13 11:53:33 +00:00
Dan Liew b20bf5169a [CMake] Fix typo handling OpenMP flags. 2017-03-13 11:53:33 +00:00
Dan Liew db5520c71d [CMake] Build c_example, cpp_example and z3_tptp5 as external
projects.

This works by giving each example it's own CMake build system and
then consuming Z3 via the Z3 CMake config package from the build
tree.
2017-03-13 11:53:33 +00:00
Dan Liew d9617841e0 [CMake] Python examples should only be copied over if python bindings
are being built.
2017-03-13 11:53:33 +00:00
Dan Liew 73614abf37 [CMake] Implement generation of Z3Config.cmake and Z3Target.cmake
file for the build and install tree.

These files allow users of CMake to use Z3 via a CMake config package.
Clients can do `find_package(Z3 CONFIG)` to get use the package from
their projects.

When generating the files for the install tree we try to generate
the files so that they are relocatable so that it shouldn't matter
if the installed files aren't in the CMAKE_INSTALL_PREFIX when
a user consumes them. As long as the relative locations of the files
aren't changed things should still work.

A new CMake cache variable `CMAKE_INSTALL_Z3_CMAKE_PACKAGE_DIR` has been
added so that the install location of the Z3 CMake package files can be
controlled.

This addresses #915 .
2017-03-13 11:53:27 +00:00
Nikolaj Bjorner e2933350b2 Merge pull request #937 from delcypher/cmake_git_version
[CMake] Support including Git hash and description into the build.
2017-03-12 23:36:21 +01:00
Dan Liew 2cb4223979 [CMake] Support including Git hash and description into the build.
CMake will automatically pick up changes in git's HEAD so that
the necessary code is rebuilt when the build system is invoked.

Two new options `INCLUDE_GIT_HASH` and `INCLUDE_GIT_DESCRIBE` have been
added that enable/disable including the git hash and the output of `git
describe` respectively. By default if the source tree is a git
repository both options are on, otherwise they are false by default.

To support the `Z3GITHASH` macro a different implementation is used from
the old build system. In that build system the define is passed on the
command line. This would not work well for CMake because CMake
conservatively (and correctly) rebuilds *everything* if the flags given
to the compiler change. This would result in the entire project being
rebuilt everytime git's `HEAD` changed.  Instead in this implementation
a CMake specific version of `version.h.in` (named `version.h.cmake.in`)
is added that uses the `#cmakedefine` feature of CMake's
`configure_file()` command to define `Z3GITHASH` if it is available and
not define it otherwise. This way only object files that depend on
`version.h` get re-built rather than the whole project.

It is unfortunate that the build systems now have different `version.h`
file templates. However they are very simple and I don't want to
modify how templates are handled in the python/Makefile build system.
2017-03-12 22:11:59 +00:00
Nikolaj Bjorner 1f4f4514bf Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-12 09:40:58 +01:00
Nikolaj Bjorner 8bec1e25a8 move restore relevancy until after literals have been replayed
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-12 08:32:06 +01:00
Nikolaj Bjorner 7272d3f480 Merge pull request #936 from jamesbornholt/z3py-with
z3py: With tactical should not try to use context as a parameter
2017-03-12 08:25:53 +01:00