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

5086 commits

Author SHA1 Message Date
Dan Liew d3afdc957b [CMake] Fix issue #522
Previously tracing could be disabled and was not enabled by default in a
debug build. This isn't desirable but I had avoided fixing it because
enabling tracing in debug mode would be confusing because
``ENABLE_TRACING`` could be set to off but tracing would be enabled
anyway.

I have resolved this by renaming the option from ``ENABLE_TRACING`` to
``ENABLE_TRACING_FOR_NON_DEBUG``. The semantics of the optiona are now
that it will enable tracing in non-debug builds. I have also added code
to ensure that tracing is always enabled in debug builds.

Whilst I was here I also fixed how ``option()`` was being used. The
default value and comment were in the wrong order.
2016-03-21 19:37:33 +00:00
Nikolaj Bjorner 73e29c6ee6 fix regression warning on invalid case split strategy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-20 10:20:43 -07:00
Nikolaj Bjorner 92b5aac12a adjusting new tactics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-20 10:13:23 -07:00
Nikolaj Bjorner b66fc4e355 Merge pull request #523 from delcypher/fix_no_kind_namespace
Fix gcc build broken by f175f864ec.
2016-03-20 10:12:14 -07:00
Dan Liew 971fd59fbb Fix gcc build broken by f175f864ec.
C++ enums (unless they are class enums) don't define their own
namespace.
2016-03-20 10:18:59 +00:00
Nikolaj Bjorner f0bdcbb3db expose qsat tactic to default tactics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 18:40:59 -07:00
Christoph M. Wintersteiger fe201013e0 Merge pull request #521 from delcypher/cmake_python_custom_install_location
[CMake] Add CMAKE_INSTALL_PYTHON_PKG_DIR option to control where python
2016-03-20 00:57:31 +00:00
Nikolaj Bjorner 67dc5ce2b5 fix cmake issues
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 15:51:31 -07:00
Nikolaj Bjorner 20bbdfe31a moving remaining qsat functionality over
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 15:35:26 -07:00
Nikolaj Bjorner 296addf246 add new files to cmakelists
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:44:44 -07:00
Nikolaj Bjorner d614fedde2 more merges with qsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:41:41 -07:00
Nikolaj Bjorner 76d637626a include more qsat features
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:30:24 -07:00
Nikolaj Bjorner c4472ce717 include more qsat features
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:29:23 -07:00
Nikolaj Bjorner f175f864ec merge useful utilities from qsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:01:44 -07:00
Dan Liew 8746cc4a14 [CMake] Add CMAKE_INSTALL_PYTHON_PKG_DIR option to control where python
bindings are installed.
2016-03-18 22:18:51 +00:00
Nikolaj Bjorner f951372f03 fix regression in internalizing bit-vectors, reported by Mikolas Janota
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-18 13:54:42 -07:00
Nikolaj Bjorner b0f65335ab update copyright year
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-17 13:07:40 -07:00
Nikolaj Bjorner ab82fee398 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-17 13:06:21 -07:00
Christoph M. Wintersteiger 94054593a4 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-17 17:52:32 +00:00
Christoph M. Wintersteiger cc04fdbd70 Added eager ackermannization to QF_FP, so that small numbers of unspecified operators are eliminated upfront. 2016-03-17 17:52:26 +00:00
Nuno Lopes f5c4800eec reduce-args: last fix for may_be_unique to support quantified variables in arbitrary exprs 2016-03-17 15:29:48 +00:00
Nuno Lopes facb421398 reduce-args: fix unsoundness 2: f(v + 2), where b is quantified 2016-03-17 13:27:07 +00:00
Nuno Lopes aed4619066 reduce-args: fixed unsoundness introduced in my previous commit
skip an UF arg if it's quantified
e.g. forall a . f(a, b) -> f(b) (but not f)
2016-03-17 13:14:43 +00:00
Christoph M. Wintersteiger c8af48d7ef Bugfix for bvurem0 model evaluation (+1 rewriting step) 2016-03-17 13:09:52 +00:00
Nikolaj Bjorner 22cae143b1 Merge pull request #517 from yaqwsx/expr_values_to_int
Add methods for obtaining numeral values in C++ API
2016-03-16 20:43:39 -04:00
Nikolaj Bjorner 3755035d65 Merge pull request #519 from 4tXJ7f/patch-1
[Z3py] Fix error in FPRef.__neg__()
2016-03-16 20:41:36 -04:00
Andres Nötzli 34da0a32b9 [Z3py] Fix error in FPRef.__neg__()
`FPRef.__neg__()` did not work previously because it tried to construct an FPRef from an FPRef (`fpNeg()` already returns an FPRef).
2016-03-16 17:12:45 -07:00
Christoph M. Wintersteiger 6b2d84b2be Fixed model evaluation/simplification for to_ieee_bv. 2016-03-16 17:46:52 +00:00
Christoph M. Wintersteiger 7ec70c1686 bug fixes for unspecified FP results 2016-03-16 16:57:20 +00:00
Christoph M. Wintersteiger db6b9faabc Bugfix for FPA rewriter. 2016-03-16 16:35:45 +00:00
Christoph M. Wintersteiger 778c7fcc64 Bugfix for model evaluator and internal, uninterpreted FPA functions.
Fixes #518
2016-03-16 16:17:08 +00:00
Christoph M. Wintersteiger cdc8e1303a Bugfix for fp.to_*_unspecified.
Fixes #507
2016-03-16 16:16:29 +00:00
Jan Mrázek 57265f6eb1 Add methods for obtaining numeral values in C++ API 2016-03-16 00:18:49 +01:00
Christoph M. Wintersteiger 99d7a47f82 Bugfixes for unspecified results from fp.to_* (models are still incomplete).
Relates to #507
2016-03-15 21:45:54 +00:00
Christoph M. Wintersteiger 3101d281e4 Removed unused variable 2016-03-15 15:12:54 +00:00
Christoph M. Wintersteiger 371573cbff More implementation of fp.to_ieee_bv for unspecified input/output
Relates to #507
2016-03-15 15:11:37 +00:00
Christoph M. Wintersteiger a9df4a208f More bugfixes for fp.to_ieee_bv for unspecified input/output.
Relates to #507
2016-03-15 14:58:55 +00:00
Christoph M. Wintersteiger ce64999ee2 More bugfixes for fp.to_ieee_bv for unspecified input/output 2016-03-15 14:50:59 +00:00
Christoph M. Wintersteiger 176782d62b Bugfix for fp.to_ieee_bv for unspecified input/output. 2016-03-15 14:38:11 +00:00
Christoph M. Wintersteiger 5463167a84 Bugfix for fp.rem (denormal numbers)
Fixes #508.
2016-03-14 15:52:09 +00:00
Christoph M. Wintersteiger 45b868e90b Merge pull request #513 from delcypher/fix_exec
Fix #510
2016-03-14 12:49:16 +00:00
Christoph M. Wintersteiger 139920e68d Merge pull request #516 from delcypher/readme_tweak
Fix omission of CMake build in README.md
2016-03-14 12:48:41 +00:00
Dan Liew 474ce6645a Fix omission of CMake build in README.md 2016-03-14 08:27:46 +00:00
Dan Liew 4814555c46 Fix inconsistent emission of `gparams_register_modules.cpp`,
``install_tactics.cpp`` and ``mem_initialiszer.cpp`` files between
the CMake and Python build systems.

The problem was that the generated files were

* Senstive to the order component directories were traversed
* For CMake there are two directories (a source and build directory)
  for every component rather than a single directory like the
  Python build system has.

To fix this a new function ``sorted_headers_by_component()`` has been
added which defines a order that is consistent between both build
systems. This function is then used on lists of paths to discovered
header files.
2016-03-13 23:00:40 +00:00
Nikolaj Bjorner 55956df8d8 remove critical sections that are now redundant due to different cancellation model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-13 12:10:14 -04:00
Nikolaj Bjorner 3dfc0a93f6 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-13 12:09:25 -04:00
Dan Liew 75af362b25 Fix inconsistent emission of `z3consts.py`. 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-03-12 23:27:26 +00:00
Dan Liew a2376b1016 Try to fix #510. The breakage was caused by #498.
The issue here is that in Python2 ``exec`` is a statement and
``exec`` is a function in Python3. For the ``exec`` statement to
work we would need to write

```
exec line.strip(' \n') in  exec_globals, None
```

We could write a wrapper function to do the right thing depending
on the Python version but a better approach is to actually just
use ``eval()`` rather than ``exec()`` because

* ``eval()`` is less "evil" than ``exec()`` because it only evaluates
  a single expression. My testing so far seems to indicate that this is
  sufficient.

* ``eval()`` is function in both Python 2 and 3 so we don't need
  to specialise the code based on Python version.
2016-03-12 22:22:20 +00:00
Christoph M. Wintersteiger b5f1c50c1b Merge branch 'master' of https://github.com/Z3Prover/z3 2016-03-11 18:46:56 +00:00
Christoph M. Wintersteiger 80d8a6a660 Merge pull request #498 from delcypher/genfile_refactor
Refactor generated file code out of ``mk_util.py`` and into ``mk_genfile_common.py``
2016-03-11 18:44:01 +00:00