3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-13 12:28:44 +00:00
Commit graph

1014 commits

Author SHA1 Message Date
Christoph M. Wintersteiger 3e96a7972f Merge pull request #648 from cheshire/no_finalizers
Replace finalizers with PhantomReferences in Java API
2016-06-24 14:17:29 +01:00
Christoph M. Wintersteiger d90a575981 Merge pull request #646 from martin-neuhaeusser/ocaml-c89
Make C-layer of OCaml bindings C89 compatible.
2016-06-24 13:40:50 +01:00
George Karpenkov b086aac45f Use constructors instead of static methods for Context.java. 2016-06-16 18:21:55 +02: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
George Karpenkov b65d83aacf Java API: explain the phantom references mechanics in Javadoc. 2016-06-13 12:22:32 +02:00
George Karpenkov a914822346 JavaAPI: DecRefQueue -- do not use move_limit for now. 2016-06-13 12:18:31 +02:00
George Karpenkov 26d6c99aac Typo in Javadoc. 2016-06-13 12:11:03 +02:00
George Karpenkov 27aa37946e Do not lock on context creation and deletion. 2016-06-13 12:09:34 +02:00
George Karpenkov 22ffd65d1e Java API: split incRef into incRef and addToReferenceQueue
One method should do one thing only, it's easy to mix things up
otherwise.
2016-06-12 21:01:58 +02:00
George Karpenkov 2a347f04bf Java API: FuncInterp.Entry should be an inner static class
...as it does not use any fields of the outer FuncInterp object.
2016-06-12 21:00:51 +02:00
George Karpenkov 5657399d55 Bugfix for incorrect order of operations. 2016-06-12 20:39:54 +02:00
George Karpenkov 495ef0f055 Java bindings with no finalizers
Replacing finalizers with PhantomReferences, required quite a lot of
changes to the codebase.
2016-06-12 20:27:01 +02:00
George Karpenkov dfc80d3b69 Do not needlessly catch exceptions in Java bindings
A lot of existing code in Java bindings catches exceptions just to
silence them later.

This is:
a) Unnecessary: it is OK for a function to throw a RuntimeException
without declaring it.
b) Highly unidiomatic and not recommended by Java experts (see Effective
Java and others)
c) Confusing as has the potential to hide the existing bugs and have
them resurface at the most inconvenient/unexpected moment.
2016-06-12 14:14:11 +02:00
martin-neuhaeusser f069b1c0e9 Make C-layer of OCaml bindings C89 compatible.
This patch ensures that the C code generated for the OCaml stubs complies with C89. It is needed to compile Z3 with OCaml support with Visual Studio versions older than VS2013.
2016-06-10 16:49:06 +02:00
Christoph M. Wintersteiger a2eb824590 Added __nonzero__ and __bool__ functions to Python Z3 ASTs to enable use of Python lists (and similar).
Thanks to Vlad Shcherbina for the recommendation (see http://stackoverflow.com/questions/37669576/converting-z3-cnf-formula-into-list-of-lists-representation-using-z3py/37679447?noredirect=1#comment62859886_37679447)!
2016-06-08 12:07:13 +01:00
Christoph M. Wintersteiger a94aff23e6 Added clearer FP conversion functions to the Python API.
Implements #476
2016-06-03 13:23:12 +01:00
Christoph M. Wintersteiger 617e941015 fp2bv refactoring 2016-05-23 18:10:17 +01:00
Christoph M. Wintersteiger 80731ef364 Exposed OP_FPA_MIN/MAX_I to the API 2016-05-20 19:40:45 +01:00
Nikolaj Bjorner 6f5785338a add line/pos information for pattern warnings. Issue #607
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-16 08:59:58 -07:00
Nikolaj Bjorner 121f79b198 Merge pull request #603 from manueljacob/master
Expose Z3_mk_bv2int's is_signed parameter in Python API.
2016-05-16 07:56:37 -07:00
Nikolaj Bjorner cd937c07f3 return proper ast-option from get_const_interp function insetad of raising exceptions from inside the C API. Fixes discrepancy with documentation and behavior across extensions of the API. Issue #587
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 13:29:38 -07:00
Manuel Jacob 7e3dfb4617 Expose Z3_mk_bv2int's is_signed parameter in Python API. 2016-05-13 23:17:05 +02:00
Nuno Lopes d30ba3f1ad change Z3_get_decl_kind API to correctly identify OP_B*_I and OP_B*_NO_OVFL instead of returning Z3_OP_UNINTERPRETED 2016-05-11 14:30:37 +01:00
Christoph M. Wintersteiger 140f0bb794 ML API build fix 2016-05-03 13:34:20 +01:00
Christoph M. Wintersteiger 86126e2c01 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-05-03 11:52:21 +01:00
Nikolaj Bjorner 121386779a Merge pull request #580 from yaqwsx/expr_operators_in_c++
Add srem, urem, shift, ext operators to c++ api
2016-04-29 18:51:14 -07:00
xlauko ae2821dea1 Add srem, urem, shift, ext operators to c++ api 2016-04-28 21:58:05 +02:00
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 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
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
Martin R. Neuhaeusser 67ac1a003e Avoid conversion between mutable arrays and lists in OCaml API.
This patch eliminates the conversion between OCaml arrays and lists
from Z3's OCaml API.
2016-04-18 17:20:27 +02:00
martin-neuhaeusser 34bf4b1d3c Fix installation of custom error handler during context creation in OCaml bindings
This patch fixes a bug detected by valgrind, where a custom error handler
did not get installed correctly.
2016-04-18 17:20:12 +02: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
Christoph M. Wintersteiger 324fcc6a13 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-04-06 15:40:13 +01:00
martin-neuhaeusser 95454679e2 Another round of pretty printing 2016-04-06 12:45:21 +02:00
martin-neuhaeusser bd9d13279a Pretty printing 2016-04-06 12:39:19 +02:00
martin-neuhaeusser 1662ba8353 Add more comments on comparison functions in the C layer of the OCaml bindings 2016-04-06 12:36:11 +02:00
martin-neuhaeusser b873c6b508 Simplify OCaml API
This patch simplifies the implementation of the OCaml bindings. For example,
the applyX wrapper functions have become unnecessary in the new OCaml API.
It also removes the internal ML2C structure that was used as an intermediate
layer between the C and the OCaml layer.
2016-04-06 12:10:59 +02:00
martin-neuhaeusser 71f991c5df Avoid using physical equality checks in OCaml bindings (z3.ml)
This patch avoids the use of physical equality wherever possible
and improves some details of the OCaml implementation.
2016-04-05 12:51:03 +02:00
martin-neuhaeusser f133f478c8 Translate correctly between OCaml option values and NULL pointers
This patch refactors the update_api script and the z3.ml implementation
to properly translate between OCaml options and NULL pointers. Some
unifications and simplifications (avoidance of unnecessary value allocation)
in the script that creates the native bindings.
2016-04-04 17:16:15 +02:00
Nikolaj Bjorner ec5a4ba63d add documentation comment for evaluation, Issue #536
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-04 12:59:18 +02:00
Nikolaj Bjorner 9667185af0 issue #549, replace BoolVal by False, otherwise creates regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-03 12:53:50 +02:00
Nikolaj Bjorner 11e8f06272 issue #549, replace False by BoolVal
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-03 12:52:15 +02:00
martin-neuhaeusser b85516c271 Fix reference counting in the C layer of the OCaml bindings
The Z3 context and its reference counters are stored in a structure which is allocated
by the C layer outside the OCaml heap, whenever a Z3 context is created. The structure
and its Z3 context are disposed, once the last reference counter reaches zero. Reference
counters are decremented by C-level finalizers.

The OCaml representations for a Z3 context wrap only a pointer to the corresponding structure.
2016-04-03 09:41:06 +02:00
Christoph M. Wintersteiger b178420797 Merge branch 'master' of https://github.com/Z3Prover/z3 into new-ml-api 2016-03-31 18:11:30 +01:00