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

165 commits

Author SHA1 Message Date
Bruce Mitchener
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Bruce Mitchener
7167fda1dc Use override rather than virtual. 2018-02-10 09:56:33 +07:00
Bruce Mitchener
757b7c66ef Remove unnecessary value parameter copies. 2018-02-09 16:35:34 +07:00
Bruce Mitchener
54b3cd0071 Reserve vector space when possible.
This fixes all current instances of the
`performance-inefficient-vector-operation`
warning in clang-tidy.
2018-02-06 11:21:17 +07:00
Nikolaj Bjorner
bf04c38a63 add logging for #1470
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-04 13:06:14 -08:00
Nikolaj Bjorner
20d6543538 set uninitialized fields. Maybe related to #1468
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-04 12:56:21 -08:00
Bruce Mitchener
73b3da37d8 Typo fixes. 2018-01-02 22:48:06 +07:00
Nikolaj Bjorner
195d81ebef fix rewriter loop reported in #1354
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-13 13:49:03 -08:00
Christoph M. Wintersteiger
7c63a5cc1d Fixed MSYS/MinGW build. Fixes #1335. 2017-11-11 16:38:53 +00:00
Nikolaj Bjorner
c886b6d500 fix #1330. Interpolation transformation needs to handle TRANSITIVITY_STAR
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-25 20:53:10 -07:00
Nikolaj Bjorner
c72b3356c1 fix #1286
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-08 10:41:02 +01:00
Ken McMillan
c8a67abdd7 fixing issue [1269] 2017-09-25 14:33:20 -07:00
Christoph M. Wintersteiger
00651f8f21 Tabs, formatting. 2017-09-17 14:54:09 +01:00
Nikolaj Bjorner
b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Dan Liew
4b517b96df [CMake] Move CMake files into their intended location so the
`contrib/cmake/bootstrap.py` script no longer needs to be executed.

The previous location of the CMake files was a compromise proposed
by @agurfinkel in #461. While this has served us well (allowing progress
to be made) over time limitations of this approach have appeared.

The main problem is that doing many git operations (e.g. pull, rebase)
means the CMake files don't get updated unless the user remembers to
run the script. This can lead to broken and confusing build system
behaviour.

This commit only does the file moving and necessary changes to
`.gitignore`. Other changes will be done in subsequent commits.
2017-06-12 11:59:00 +01:00
Ken McMillan
bf7c6292bd removing FOCI2 interface from interp 2017-05-19 16:21:57 -07:00
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