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

418 commits

Author SHA1 Message Date
Christoph M. Wintersteiger
f8d022a180 Non-windows build fix 2017-03-24 15:25:18 +00:00
Christoph M. Wintersteiger
fb105afac2 Windows build fix 2017-03-24 15:22:33 +00:00
Christoph M. Wintersteiger
7f9c37e19d VS2017 SSE4 intrinsics build fix 2017-03-24 14:23:39 +00:00
Christoph M. Wintersteiger
e9cd4d1057 Build fix for systems that don't come with SSE4.1 support by default 2017-03-24 11:51:36 +00:00
Nikolaj Bjorner
e47e8c67c0 introducing scoped detacth/attach of clauses to enforce basic sat solver invariants. Part of investigating #939:
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-22 14:12:47 -07:00
Nuno Lopes
8ac060c549 fix build with VS 2017 2017-03-20 09:12:41 +00: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
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
37ee4c95c3 adding parallel threads
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-30 02:09:08 -08:00
Nikolaj Bjorner
46df31babf Merge branch 'master' of https://github.com/Z3Prover/z3 2016-12-22 20:54:14 -08:00
Nikolaj Bjorner
1787fa8296 remove redundant disjunction in compilation of at-most-1 constraints, log mutexes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-22 20:54:09 -08:00
Dan Liew
b5aa6d5eb5 Fix issue with bd1f07f864 pointed out by
@nunolopes .

If `pthread_cond_signal()` is called while `m_mutex` is held then the
timing thread might be woken up twice due to waking up from
`pthread_cond_timeout()` (due to being signaled) but then being forced
to sleep again because the thread calling `~imp()` is still holding
`m_mutex` (which the timing thread needs to acquire).
2016-12-19 22:36:42 +00:00
Nikolaj Bjorner
0c6c104f9a Merge pull request #841 from delcypher/scope_timer_spurious_wakes
Make `scoped_timer` robust to spurious wakes under Linux.
2016-12-19 08:22:03 -08:00
Christoph M. Wintersteiger
6ce903b1d6 Style, whitespace. 2016-12-16 20:04:29 +00:00
Dan Liew
bd1f07f864 Fix implementation of scoped_timer under Linux where it was
incorrectly assumed that `pthread_cond_timedwait()` would exit
due to a condition variable being signaled or a timeout occuring.

According to the documentation `pthread_cond_timedwait()` might
spuriously wake so we introduce a new variable `m_signal_sent` (that is
guarded by an existing mutex) that is used as the variable to check that
the thread wake was not spurious.

This is intended to partially fix #839 .
2016-12-11 23:12:36 +00:00
Christoph M. Wintersteiger
16b32ecf12 Bugfix for special-case handling in fp.fma.
Thanks to Florian Schanda for reporting this bug.

(+reversed accidental debug code commit).
2016-12-09 15:03:31 +00:00
Christoph M. Wintersteiger
9df5c31485 Whitespace 2016-12-09 13:40:46 +00:00
Martin Nowack
762e5fd093 Do not request time stamp if not needed
If no timeout is needed for solving queries, time stamps do not
need to be acquired.
2016-11-23 16:38:21 +01:00
Nikolaj Bjorner
d3fe015ff5 Merge pull request #796 from rickyz/nondependent_name
Fix GCC/Clang compilation.
2016-11-20 06:29:37 -08:00
Nikolaj Bjorner
650a719298 fix crash in new clique code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-20 06:20:22 -08:00
Ricky Zhou
9939d07827 Fix GCC/Clang compilation.
The calls to negate use a non-dependent name, so GCC and Clang do not
examine dependent base classes when looking up the name. Adds a using
declaration as suggested at
https://isocpp.org/wiki/faq/templates#nondependent-name-lookup-members.
2016-11-20 05:09:30 -08:00
Nikolaj Bjorner
df0e3a100c tune initialization for wmax and sortmax
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 08:04:06 -08:00
Nikolaj Bjorner
ea601dd403 fix and coallesce clique functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-19 03:55:48 -08:00
Nikolaj Bjorner
e9db934f1a improving perf of mutex finding, revert semantics of 0 timeout to no-timeout. Issue #791
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-17 04:26:17 +02:00
Nikolaj Bjorner
ff75f88c4f fix memory abuse in internalization in inc-sat-solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-31 22:25:58 +01:00
Nikolaj Bjorner
7d7e03e377 rewind qhead to ensure re-propagation after cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-27 16:23:33 -07:00
Nikolaj Bjorner
41deae52c6 fix enum2bv to handle singleton enumeration types, differentiate disequality conflicts for theories that handle disequalities vs. theories that don't
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-27 13:35:53 -07:00
Nikolaj Bjorner
4bd83724dd remove conflict on false disequality, introduced regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-26 19:15:05 -07:00
Nikolaj Bjorner
461e88e34c additional robustness check for incremental sat solver core when it recieves interpreted constants, added PB equality to interface and special handling of equalities to adddress performance gap documented in #755
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-25 20:32:13 -07:00
Nikolaj Bjorner
3778048eb4 add bounded-int and pb2bv solvers to fd_solver, use sorting networks for pb2bv rewriter when applicable, hoist to pb2bv_rewriter module and remove it from the pb2bv_tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-23 20:31:59 -07:00
Nikolaj Bjorner
23b9d3ef55 fix at-most-1 constraint compiler bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-22 18:50:16 -07:00
Nikolaj Bjorner
487f15f90a better encodings for at-most-1, #755
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-10 23:49:45 -07:00
Nikolaj Bjorner
8d2b70a5e2 better encodings for at-most-1, #755
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-10-10 23:46:03 -07:00
Nikolaj Bjorner
76cf28d48b move from uint_set to hashtable over unsigned to save memory overhead in consequence generation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-08 13:34:59 -07:00
Nikolaj Bjorner
c5dd441947 fixes to consequence generation and cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-09-07 11:50:26 -07:00
Christoph M. Wintersteiger
6f874c5c1d Merge branch 'master' of https://github.com/Z3Prover/z3 2016-07-28 18:07:48 +01:00
Christoph M. Wintersteiger
3587baaf24 Added full version strings and associated API functions. 2016-07-28 18:06:02 +01:00
Nikolaj Bjorner
0997eba700 adding hash/eq to uint_set
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-27 13:41:41 -07:00
Nikolaj Bjorner
b080e3a216 garbage collect all api::object references when calling del_context. Request issue #679
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-13 22:26:21 -07:00
Fabian Wolff
6eaab00e83 Fix spelling errors 2016-07-09 11:46:43 +02:00
Nikolaj Bjorner
e518d4a5fe typename conventions, issue #664
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-29 17:02:36 -07:00
Nikolaj Bjorner
c72ed3e6b4 update core minimization code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-23 21:39:28 -07:00
Nikolaj Bjorner
5b497b6249 reduce set of mainly verbose warnings raised by -Wmaybe-uninitialized and unused variable warnings from release mode builds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-22 20:25:47 -07:00
Nikolaj Bjorner
9253ca9d86 make use of warning_msg safe for formatting. Thanks to Scott McPeak for reporting
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-14 08:10:10 -07:00
Christoph M. Wintersteiger
b3b5c6226b MPF code simplification 2016-06-02 17:12:24 +01:00
Christoph M. Wintersteiger
ec270acd32 Removed hwf.mul/hwf.div test code. 2016-05-26 15:11:21 +01:00
Christoph M. Wintersteiger
e28929c72c Removed hwf.rem test code. 2016-05-26 15:05:55 +01:00
Nikolaj Bjorner
d2622da747 fix unused-but-set-variable warnings reported in #579
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-18 11:03:31 -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
Nikolaj Bjorner
96e157e201 fix warnings for unused variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-17 13:54:22 -07:00