3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-09 19:01:50 +00:00
Commit graph

6212 commits

Author SHA1 Message Date
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
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 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
James Bornholt 559c5e5ae6 z3py: With tactical should not try to use context as a parameter 2017-03-11 16:09:25 -08:00
Nikolaj Bjorner 228111511c fixing build break, addressing #935
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-11 18:41:36 +01:00
Nikolaj Bjorner 509f7409ba adding fixedpoint object to C++ API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-10 23:01:43 +01:00
Nikolaj Bjorner 338193548b fixing build break, adding fixedpoint object to C++ API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-10 22:52:55 +01:00
Nikolaj Bjorner fbf81c88a2 remove print breaking build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-09 11:13:38 +01:00
Nikolaj Bjorner abdd982cea Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-08 21:41:43 -08:00
Nikolaj Bjorner 854bb2197f include recursive functions to models. Issue #898
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-08 21:41:24 -08:00
Nikolaj Bjorner 7b727fc725 remove scratch notes from readme
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-09 06:37:56 +01:00
Nikolaj Bjorner 6f68355fbc Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-08 21:33:43 -08:00
Nikolaj Bjorner e34996fa9d add notes to README based on feedback in #916
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-09 06:00:34 +01:00
Nikolaj Bjorner 29969648ba check that formulas are in lira before invoking qsat. Issue #919
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-09 05:52:46 +01:00
Nikolaj Bjorner fcda4cee9f ensure evaluation of array equalities is enabled for external facing evaluator. Issue #917
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-09 05:29:56 +01:00
Nikolaj Bjorner 829519b837 fix bug for bit-vector optimization. Issue #928
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-08 10:19:35 +01:00
Nikolaj Bjorner b9d9e8ef06 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-08 10:10:50 +01:00
Nikolaj Bjorner 202ac0d1ee Merge branch 'master' of https://github.com/Z3Prover/z3
:wi
2017-03-08 10:08:54 +01:00
Nikolaj Bjorner ec86cd8357 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-08 10:07:40 +01:00
Nikolaj Bjorner 41e6fafc58 fix bug for bit-vector optimization. Issue #919
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-08 10:07:31 +01:00
Christoph M. Wintersteiger b57764800c Merge branch 'master' of https://github.com/Z3Prover/z3 2017-03-07 18:10:31 +00:00
Christoph M. Wintersteiger 8f14cfadd2 Tabs, whitespace 2017-03-07 18:10:03 +00:00
Nikolaj Bjorner 91eddecd6e Merge pull request #927 from mtrberzi/zstring-patch
Add boolean operators and stream<< to zstring
2017-03-04 12:29:52 -08:00
Murphy Berzish ad0766898c add boolean operators to zstring and fix ostream 2017-03-04 15:20:57 -05:00
Christoph M. Wintersteiger c1d0e200c7 Merge pull request #925 from delcypher/cmake_validate_build_type
[CMake] Validate CMAKE_BUILD_TYPE
2017-03-03 13:52:27 +00:00
Dan Liew cac0283e7d [CMake] For single configuration generators only allow
`CMAKE_BUILD_TYPE` to be one of the pre-defined build configurations
that we support.
2017-03-02 21:18:54 +00:00
Christoph M. Wintersteiger 075a56ef02 Merge pull request #924 from cheshire/fix_jni_string_leak
Free allocated char arrays in JNI API
2017-03-01 18:32:54 +00:00
Christoph M. Wintersteiger b22c83ea66 Merge pull request #923 from mlr-msft/master
Fixed bug in `mk_make.py --build=`...
2017-03-01 18:29:40 +00:00
George Karpenkov dbdb0307db Free allocated char arrays in JNI API
Fixes #886
2017-03-01 15:22:15 +01:00
Michael Lowell Roberts 3415672f31 fixed bug where mk_make.py --build=... would fail to handle absolute paths correctly. 2017-02-28 08:24:35 -08:00
Nikolaj Bjorner 4792229c2b Merge pull request #922 from mtrberzi/regex-unroll
add _re.unroll internal operator to seq_decl_plugin
2017-02-27 18:37:37 -08:00
Nikolaj Bjorner f8a3a46d44 Merge pull request #921 from cheshire/obj_value_as_vector_java
Obj value as vector java
2017-02-27 09:53:23 -08:00
George Karpenkov be1e9918f0 Class Optimize#Handle should be static,
as it already includes an explicit reference to the Optimize class.
2017-02-27 18:49:02 +01:00
George Karpenkov b3be83e7c5 Sane indentation + removing extra spaces for Optimize.java 2017-02-27 18:48:44 +01:00