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

5230 commits

Author SHA1 Message Date
Nikolaj Bjorner 68c7d64d00 adding model-based opt facility
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-27 11:18:20 -07:00
Nikolaj Bjorner 51e34e8b5f Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-26 17:15:36 -07:00
Nikolaj Bjorner a1aa166ef5 adding local optimization to qsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-26 17:15:24 -07:00
Christoph M. Wintersteiger fb86b01a8b Merge pull request #576 from delcypher/cmake_fix_windows_install
[CMake] Fix install of libz3.dll on Windows
2016-04-26 21:08:24 +01:00
Christoph M. Wintersteiger e24c6c14e0 Merge pull request #568 from delcypher/cmake_java_bindings
Teach CMake to build and install the Java bindings
2016-04-26 21:05:26 +01:00
Nikolaj Bjorner e31913691f Merge pull request #575 from delcypher/cmake_minor_dotnet_tweaks
[CMake] Minor ".NET" build tweaks
2016-04-26 08:23:57 -07:00
Dan Liew fd7b8fe1ab [CMake] On Windows fix the `install` target so that it installs
``libz3.dll``.

I've left a comment about the installation of ``libz3.lib``. I'm not
sure if we want that installed or not.
2016-04-26 11:49:46 +01:00
Dan Liew 626e0736d2 [CMake] Implement installation of ".NET" bindings on Windows.
We don't install Z3_DOTNET_ASSEMBLY_DLL into the gac. Instead we just copy into
installation directory.

There are several reasons for this:

* We can't install the Z3_DOTNET_ASSEMBLY_DLL into the gac in a portable
  way like we can with mono (i.e. the ``-root`` flag).
* It isn't best practice to use ``gacutil.exe``
  on Windows to install into the GAC, see
  https://msdn.microsoft.com/en-us/library/yf1d93sz(v=vs.110).aspx .

Taking this approach should be sufficient because we can now do
something like this

```
mkdir build
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=<some_path> ../
ninja
mkdir <some_path>
ninja install
```

and then put the contents of <some_path> into a zip file which creates a redistributable zip file for Windows.
2016-04-26 11:24:16 +01:00
Dan Liew 7213280d9b [CMake] Emit a warning when configuring to build the `.NET` bindings under
a multi-configuration generator (e.g. Visual Studio).

The warning concerns different generated files clobbering each other.
Unfortunately there isn't a clean way to fix this right now. See
http://public.kitware.com/pipermail/cmake/2016-March/063101.html
2016-04-26 08:56:46 +01:00
Dan Liew 7cedf79b38 [CMake] When building the ".NET" bindings emit `Microsoft.Z3.dll`
and ``Microsoft.Z3.xml`` to the root build directory rather than
``<root_build_directory>/src/api/dotnet``.

This fixes #573 which makes the behaviour consistent with the Python
build system.
2016-04-26 08:56:25 +01:00
Nikolaj Bjorner 271b56aa1b Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-24 09:21:10 -07:00
Nikolaj Bjorner d97bddc3b5 revert to legacy syntax to enable older versions of .NET
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-24 09:21:05 -07:00
Christoph M. Wintersteiger be424d9cbb Bugfixes for fp.roundToIntegral and fp.rem.
Relates to #561
2016-04-24 15:14:16 +01:00
Christoph M. Wintersteiger 952e3afb90 bugfix for hwf_manager::rem 2016-04-24 15:11:24 +01:00
Christoph M. Wintersteiger 3131f29816 whitespace 2016-04-24 15:11:03 +01:00
Nikolaj Bjorner 643a87cb5b overloading support for C# expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-23 22:03:27 -07:00
Nikolaj Bjorner 662e43d264 overloading support for C# expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-23 15:50:30 -07:00
Nikolaj Bjorner e4b7ac37f3 add overloading for arithmetical expressions in C# to handle common cases
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-22 13:58:02 -07:00
Nikolaj Bjorner 8ee49d16df Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-21 10:49:22 -07:00
Nikolaj Bjorner 20a6b41c5c coalescing is-int check for python 2.x, issue #572
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-21 10:49:16 -07:00
Nikolaj Bjorner d0175b96b8 guarding against null symbols creeping in. Issue #571
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-20 14:07:45 -07:00
Nuno Lopes 417c80edbc fix mem leak in quantifier_info::insert_qinfo on timeout 2016-04-19 02:17:12 -07:00
Nikolaj Bjorner b512212d41 update func_interp code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 17:31:36 -07:00
Nikolaj Bjorner 3a6218ac21 update func_interp code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 17:30:52 -07:00
Nikolaj Bjorner cff843ca59 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-18 17:22:54 -07:00
Nikolaj Bjorner 4cb57cd4da fix regression introduced by using ref-vectors on non-ref'ed output parameters
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 17:22:47 -07:00
Nikolaj Bjorner c3f4124a9f trace down recent exposed regression in goal2sat, incorporate Scott's suggestion on making vector<std::string inaccessible
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 14:50:10 -07:00
Nikolaj Bjorner 81232808ba add handling for int.to.str
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 11:17:33 -07:00
Nikolaj Bjorner 4761f4f191 add handling for int.to.str
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 11:14:40 -07:00
Christoph M. Wintersteiger 5d0db6d256 Fixed memory leak in goal::update.
Fixes #567
2016-04-18 17:18:16 +01:00
Christoph M. Wintersteiger 6db0a15d29 Fixed potential memory leakage issues in fpa2bv_converfter 2016-04-18 17:17:31 +01:00
Christoph M. Wintersteiger 3ffcea0fe4 whitespace 2016-04-18 16:52:12 +01:00
Dan Liew 49c92e4bd7 [CMake] Add a note about the name of the Z3 Java `.jar` file. 2016-04-18 15:33:19 +01:00
Dan Liew c6965d5cb2 [CMake] Try to fix the Windows build when building the Java bindings.
On Windows the ``z3java`` target is not a ``LIBRARY`` target so just
drop the ``LIBRARY`` keyword here.
2016-04-18 14:07:09 +01:00
Dan Liew a56a53e72d [CMake] Fix installation location of `com.microsoft.z3.jar` when
using CMake 2.8.12.2. It seems ``install_jar()`` in the version of
``UseJava.cmake`` shipped with that version of CMake doesn't handle
the ``DESTINATION`` argument correctly and treats that as the
installation location so CMake would install to
``/usr/local/DESTINATION`` rather than ``/usr/locale/share``.
2016-04-18 12:07:18 +01:00
Dan Liew a1e8311844 [CMake] Add version to `com.microsoft.z3.jar`. On Linux systems
the ``.jar`` file is created as ``com.microsoft.z3-4.4.2.0.jar``
and a symlink named ``com.microsoft.z3.jar`` is created which points
to it in the build and install directory.
2016-04-18 11:39:56 +01:00
Dan Liew 8f69728703 [CMake] Change default install location for `com.microsoft.z3.jar`.
It seems ``.jar`` files are typically installed into
``/usr/share/java``.
2016-04-18 11:39:56 +01:00
Dan Liew 48550732bf [CMake] Add a few notes on finding the Java installation. 2016-04-18 11:39:56 +01:00
Dan Liew 022039535a [CMake] Implement support for building and installing the Java bindings.
I'm not entirely happy with some parts of the implementation

* The default locations for installing ``com.microsoft.z3.jar`` and ``libz3java.so``
  aren't correct.  CMake cache variables have been provided that allow the user to change
  where these get installed.

* The name of ``libz3java.so``. It doesn't conform to the Debian
  packaging guidelines (https://www.debian.org/doc/packaging-manuals/java-policy/x126.html)
  and I have not provided an option to change this.

* The fact that ``SONAME`` and ``VERSION`` are not set on ``libz3java.so``.

These issues should be addressed once we know the correct way to handle
installation.
2016-04-18 11:39:20 +01:00
Dan Liew 3042f0f964 Fix inconsistent emission of Java enumeration files. The ordering of emitted
enum values is not consistent between python 2 or 3. The root cause
of the problem was a dictionary's keys being iterated over which has
no defined order.

This has been fixed by iterating over the dictionary's items and
ordering by values.  We could order by key rather than the values but
seeing as these represent an enum, ordering by value makes more sense.
2016-04-17 19:03:17 +01:00
Dan Liew b3713e7496 Refactor `mk_z3consts_java() code into mk_z3consts_java_internal()`
and move that into ``mk_genfile_common.py``. Then adapt ``mk_util.py`` and
``mk_consts_files.py`` to call into the code at its new location.

The purpose of this change is to have Python code common to the Python
and CMake build systems separate from Python code that is only used for
the Python build system.
2016-04-17 19:03:17 +01:00
Christoph M. Wintersteiger 14e1e247a4 Revert "nmake->make, little error"
This reverts commit 8287f7ba82.
2016-04-17 11:35:27 +01:00
Nikolaj Bjorner 7a317a4f07 Merge pull request #566 from xavdel/patch-1
nmake->make, little error
2016-04-16 17:46:04 -07:00
Xavier DELPIERRE 8287f7ba82 nmake->make, little error 2016-04-17 02:39:35 +02:00
Nikolaj Bjorner 0094b36636 fix bounds check to fix segfault reported in issue #565
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-16 12:25:29 -07:00
Nikolaj Bjorner 1c8e0918d8 move to std::vector in replayer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-16 10:08:29 -07:00
Nikolaj Bjorner d383fd851a move vector<std::string to std::vector<std::string
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-16 09:34:27 -07:00
Nikolaj Bjorner 4ebf392da7 Fixes #564: use std::vector on std::strings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-16 09:26:13 -07:00
Nikolaj Bjorner 0f93853a4c remove labels from evaluation result
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-12 13:17:10 -07:00
Nikolaj Bjorner aa7b5d80fe extract array terms for evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-12 09:41:50 -07:00