3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00
Commit graph

149 commits

Author SHA1 Message Date
Nikolaj Bjorner
34acaa8f56 update license for space/quotes per #982
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-24 13:34:10 -07:00
Nikolaj Bjorner
f96cfeae9e fix build failures under linux
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-09 13:28:39 -07:00
Nikolaj Bjorner
53b3edc8cc add cases for recognizing ALL. Issue #674
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-09 05:18:26 -07:00
Nikolaj Bjorner
e9e10f1d5c checking cancel flag to refine the behavior around issue #595
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-03 10:38:54 -07:00
Nikolaj Bjorner
654780bb4b check that model is availble before evaluation, issue #595
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-01 09:26:01 -07:00
Nikolaj Bjorner
3a6e6df4f5 fix unused-but-set-variable warnings reported in #579
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-18 11:02:10 -07:00
Dan Liew
a3e0eae9ec Move CMakeLists.txt files (other than the one in the repository root)
and the cmake directory into a new directory ``contrib/cmake`` that
mirrors the directory structure of the root. This is a comprimise
between me and Christoph Wintersteiger that was suggested by Arie
Gurfinkel that allows the CMake build system to live in the Z3
repository but not impact the Z3 developers that want to avoid the CMake
build system. The build system will not work in its new location
and a bootstrap script will soon be provided that allows a developer
to copy the files back to their correct location.
2016-03-04 15:26:09 +00:00
Dan Liew
251527603d Implement a CMake build system.
This is a large rework of my first attempt at this (#459).

This implementation calls into the recently implemented python scripts
to generate the necessary generated ``.h`` and ``.cpp`` files but is
independent from Python building system otherwise.  Unlike the Python
build system, the generated files are emitted into the build tree to
avoid polluting the source tree. The build system is setup to refuse to
configure if it detects generated files in the source tree. If your
source tree is dirty you can run ``git clean -fx`` to clean your working
directory.

Currently the build succeeds on Linux using CMake 3.4.3 using
the "Unix Makefiles" generator with gcc or clang.

The following notable features are implemented:

* Building of the C and C++ examples and the ``test-z3`` executable.
  These are included from the ``all`` target so you have to tell the
  build system (e.g. make) to build them manually.

* Install (``make install``) and uninstall (``make uninstall``) of libz3
  and its header files. This supports ``DESTDIR`` out of the box because
  CMake supports it.

* An option (``BUILD_LIBZ3_SHARED``) to build libz3 as a static or dynamic library.

* Support for using/not using OpenMP (``USE_OPENMP``)

* Support for using/not using libgmp (``USE_LIB_GMP``)

* Setting the SOVERSION for libz3. I'm not sure if I'm setting the
* number correctly though. This is required by Linux distrubtions that
  wills ship libz3. This needs discussion.

The following notable features are currently not implemented
and are left for future work.

* Support for ARM.
* Support for the foci2 library.
* Support for creating/installing/uninstalling the dotnet, java, python and ml
  bindings.
* Full support for MSVC. Although I've tried to write the CMake code
  with MSVC in mind not all the correct flags are passed to it.
* Support for using the git hash.

This new build system has several advantages other the old build system.

* It is easier for outside contributors to contribute to Z3 when the
  build system is something more standard.
* Incremental builds work properly. With the old build system when
  new code is pulled down the old build directory would need to thrown
  out and a new fresh build had to be performed because the build system
  didn't know how to correctly rebuild the project (e.g. couldn't handle
  new sources being added/removed, compiler flags changing, generated
  files changing, etc...). This is a MASSIVE boost to productivity!
* We now have access rich array of features that CMake provides for
  building C/C++ projects. This means less time spent implementing
  custom build system logic in Python that is already supported by
  CMake.
* CMake supports many IDEs out of the box so it should be fairly
  straight forward to build Z3 with Visual Studio (once support for MSVC
  is added), Xcode, Eclipse CDT, CLion, ..etc.
2016-03-04 15:26:09 +00:00
Ken McMillan
e6e6a6c5b3 issue #393 -- removed debugging assert 2016-01-04 12:53:46 -08:00
Nikolaj Bjorner
e63724a22d replace assert by SASSERT in case of unsupported proof rule
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-29 15:30:42 -08:00
Nikolaj Bjorner
4f7fdb5c14 fix merge conflicts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-10-28 16:09:46 -07:00
Ken McMillan
8550de41a6 issue #204 -- throw better exception for non-linear arithmetic 2015-10-28 14:41:27 -07:00
Nikolaj Bjorner
418b6d4738 Merge pull request #267 from kenmcmil/duality_interp_error_handling
issue #200
2015-10-27 18:49:46 -07:00
Ken McMillan
589053fc10 interp: fix gomory cut rule with non-local conclusion (issue #200) 2015-10-27 18:27:25 -07:00
Christoph M. Wintersteiger
d14a471cfd Merge branch 'ag-iz3_exception' of https://github.com/agriggio/z3 into agriggio-ag-iz3_exception 2015-10-19 15:20:50 +01:00
Ken McMillan
b343dcb341 better recovery from incompleteness and interp failure in duality 2015-10-09 14:21:05 -07:00
Nikolaj Bjorner
2912c355e2 remove reinterpret_cast. Issue #229, issue #24
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-10-04 10:54:19 -07:00
Nikolaj Bjorner
a8b47b4fb2 enable coercions when interpolation creates MILP constraints. Issue #217
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-09-12 14:47:35 +02:00
Ken McMillan
5aa74644fc fix for issue #171 (interpolation crash) 2015-07-27 11:15:33 -07:00
Ken McMillan
e6516f549d fail gracefully on interpolation errors 2015-07-10 14:39:11 -07:00
Ken McMillan
1cf24f7cdc issue #48 disabled rounding for strict real inequalities 2015-07-10 11:00:13 -07:00
Ken McMillan
3d2ef8bb4a fix for issue #109 2015-05-27 16:05:40 -07:00
Ken McMillan
e438143abc fix for github issue #105 2015-05-22 11:02:26 -07:00
Ken McMillan
caa616f11b fix for github issue 83 2015-05-20 15:37:51 -07:00
Ken McMillan
ccc1f02216 fix for github issue 54 2015-05-19 18:47:13 -07:00
Christoph M. Wintersteiger
32fb679066 tabs 2015-05-19 11:01:15 +01:00
Nikolaj Bjorner
9377779e58 merge with unstable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-04-30 10:40:03 -07:00
Ken McMillan
5f37b1d32f fixed interp api bug (github issue #47) 2015-04-20 12:30:15 -07:00
Alberto Griggio
8e772b428b use a base iz3_exception class for exceptions raised during interpolation
Using a base exception class, derived from z3_exception, makes it possible to
recover gracefully if something goes wrong during the computation of
interpolants.
2015-04-16 19:14:34 +02:00
Ken McMillan
af444beb2e re-indenting interp and duality 2015-04-15 12:22:50 -07:00
Nikolaj Bjorner
3ba2e712b2 merge with unstable branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-04-12 15:54:52 -07:00
Ken McMillan
d42e3ce651 possible header problem for std::less 2015-04-02 13:10:23 -07:00
Nikolaj Bjorner
52619b9dbb pull unstable
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-04-01 14:57:11 -07:00
Ken McMillan
be709802cd merging interpolation fix (issue 182) 2015-03-20 17:46:01 -07:00
Ken McMillan
47d33452c6 interpolation fix (issue 182) 2015-03-20 17:39:45 -07:00
nikolajbjorner
a96a9a076d Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2015-02-19 19:10:21 -08:00
nikolajbjorner
aa40316268 rewrite terminology for policheck
Signed-off-by: nikolajbjorner <nbjorner@microsoft.com>
2015-02-19 19:09:12 -08:00
Ken McMillan
185f9325a6 fixed interpolation bug 2015-02-19 12:25:06 -08:00
Nikolaj Bjorner
c61e9f27db local changes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-12-22 09:27:33 -08:00
Nikolaj Bjorner
08cb8b8de8 address divergence in the case of shared theory symbols. Codeplex issue 147, thanks to George Karpenkov
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-12-09 16:04:25 +01:00
Ken McMillan
882dbfc706 merge 2014-12-08 16:16:52 -08:00
Ken McMillan
8181b15a1b attempted interp fixes 2014-12-08 15:46:55 -08:00
Christoph M. Wintersteiger
005bb82a17 eliminated unused variables 2014-11-07 16:04:02 +00:00
Ken McMillan
a6f58bdd17 fixes and performance improvements for interp and duality 2014-10-30 17:22:34 -07:00
Ken McMillan
61905a10db merge interp change 2014-10-24 11:54:00 -07:00
Ken McMillan
da71d5ee01 unlimit stack on linux/mac 2014-10-24 11:53:03 -07:00
Christoph M. Wintersteiger
a6bee82ef8 Interpolation API: fixed some memory leaks
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2014-10-23 17:10:31 +01:00
Ken McMillan
5454e38935 replaced check_interpolants option with interp.check 2014-10-22 10:43:04 -07:00
Nikolaj Bjorner
e6725b2344 merge unstable into opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-09-26 12:12:24 -07:00
Ken McMillan
ab13987884 working on python interp 2014-08-06 11:16:24 -07:00