Clemens Eisenhofer
a67fe054d5
Memory leak in .NET user-propagator ( #6360 )
...
The user-propagator object has to be manually disposed (IDisposable), otherwise it stays in memory forever, as it cannot be garbage collected automatically
2022-09-22 13:26:08 -05:00
Peter Bruch
58fad41dfa
Dotnet Api: Fix infinite finalization of Context ( #6361 )
...
* Dotnet Api: suppress GC finalization of dotnet context in favor of re-registering finalization
* Dotnet Api: enable concurrent dec-ref even if context is created without parameters.
* Dotnet Api: removed dead code.
2022-09-22 13:25:17 -05:00
Nikolaj Bjorner
af258d1720
add method for accessing i'th domain sort in array #6344
2022-09-15 07:38:02 -07:00
Nuno Lopes
16ef89905d
fix infinite loop in internalize
2022-09-14 11:50:53 +01:00
Nikolaj Bjorner
a5ad109707
suppress debug warnings when concurrent dec-ref is enabled. The contract with the client is that it doesn't invoke methods on auxiliary objects after the context is deleted. The client is not required to decrement reference counts
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-09-11 19:06:23 -07:00
Nikolaj Bjorner
edeeded4ea
remove DecRefQueue, use Z3_enable_concurrent_dec_ref ( #6332 )
...
The notion of reference counted contexts never worked.
The reference count to a context only ends up being 0 if the GC kicks in and disposes the various z3 objects. A call to Dispose on Context should free up all resources associated with that context. In exchange none of the resources are allowed any other operation than DecRef. The invocations of DecRef are protected by a lock and test on the context that the native pointer associated with the context is non-zero. Dispose sets the native pointer to zero.
Z3_enable_concurrent_dec_ref ensures that:
- calls to decref are thread safe. Other threads can operate on the context without interference.
The Z3_context ensures that
- z3objects allocated, but not disposed during the lifetime of Z3_context are freed when Z3_context is deleted (it triggers a debug warning, but this is now benign).
2022-09-11 18:59:00 -07:00
Clemens Eisenhofer
25b5b985e6
Missing overload for conflict ( #6329 )
2022-09-07 09:02:06 -07:00
Nikolaj Bjorner
5322d4f241
fix #6326
2022-09-06 23:48:21 -07:00
Nuno Lopes
b9ddb11701
add static love
2022-09-04 11:57:43 +01:00
Clemens Eisenhofer
a0ca5d745e
Fixed nested user-propagator callbacks in .NET ( #6307 )
...
* Fixed nested user-propagator callbacks in .NET
* Typo
2022-08-28 17:49:15 -07:00
Nikolaj Bjorner
2f8b13368d
add redirect for warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-23 15:55:55 -07:00
Nikolaj Bjorner
f6e4a45f4b
Merge branch 'master' of https://github.com/z3prover/z3
2022-08-21 18:28:19 -07:00
Nikolaj Bjorner
daa24ef4ce
add missing error check
2022-08-21 18:26:53 -07:00
Clemens Eisenhofer
56fb161532
ADT-constructor generation crashed in .NET/Java when no (= default) fields are given ( #6287 )
2022-08-21 12:40:38 -07:00
Bruce Mitchener
6ba9ada1e2
Fix typos. ( #6291 )
2022-08-21 12:40:07 -07:00
Nikolaj Bjorner
08bf7a6293
fix name
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-19 18:22:42 -07:00
Nikolaj Bjorner
665ef2c6ba
add missing new
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-19 18:21:03 -07:00
Nikolaj Bjorner
b26420ed99
#6285
2022-08-19 18:17:16 -07:00
Nikolaj Bjorner
19da3c7086
fix closing parnetheses
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-18 13:26:29 -07:00
Nikolaj Bjorner
d094f6a856
fixing interface and test'
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-18 13:00:46 -07:00
Nikolaj Bjorner
c7eda4e687
fixing interface and test'
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-18 12:59:00 -07:00
Nikolaj Bjorner
6fb7a049ea
test fromString
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-18 12:41:02 -07:00
Nikolaj Bjorner
53e168879a
add fromString method
2022-08-18 12:33:10 -07:00
Bruce Mitchener
72f4ee9230
api: Correctly map OP_BSREM0 to Z3_BSREM0.
2022-08-12 14:40:16 -04:00
Nikolaj Bjorner
78eaefe5a8
move solver-params to params
2022-08-08 11:34:41 +03:00
Bruce Mitchener
5014b1a34d
Use = default
for virtual constructors.
2022-08-05 18:11:46 +03:00
Bruce Mitchener
6835522a7f
z3++.h: No longer include unused sstream.
...
This makes some code using the C++ API have to include `<sstream>`
if they used the functionality but didn't include it themselves.
2022-08-05 09:41:49 +03:00
Bruce Mitchener
8a3556e5ba
cmake: Remove dep on mk_util.py for update_api.py calls.
...
update_api.py doesn't depend on mk_util.py any longer, so these
dependencies can go away.
2022-08-04 07:54:26 +03:00
Bruce Mitchener
42f5047463
cmake: Cleanup remnants of workaround for USES_TERMINAL.
...
In older versions, this was dependent upon the version of cmake,
but when it was updated for newer cmake, these remnants were
left.
2022-08-02 17:39:10 +03:00
Bruce Mitchener
fe1e301735
Remove Z3_bool, Z3_TRUE, Z3_FALSE from the API.
...
These have just been aliases for the standard type `bool` and
values `true` and `false` for a long time now.
2022-08-01 14:25:00 +03:00
Bruce Mitchener
77e5d6ab19
Use nullptr consistently instead of 0
or NULL
.
2022-08-01 14:24:32 +03:00
Bruce Mitchener
5d0dea05aa
Remove empty leaf destructors. ( #6211 )
2022-07-30 10:07:03 +01:00
Bruce Mitchener
fc40e3c510
Remove usages of Z3_bool, just use bool.
2022-07-30 05:49:05 +02:00
Bruce Mitchener
1eb84fe4b9
Mark override methods appropriately. ( #6207 )
2022-07-29 23:29:15 +02:00
Bruce Mitchener
75339c6db7
Fix doxygen warnings in C API docs. ( #6202 )
2022-07-29 11:49:24 +02:00
Nikolaj Bjorner
ee80414e55
sketch initial for mpz/mpq numeral creation
2022-07-27 10:46:03 +02:00
Nikolaj Bjorner
b6c80e8b00
fix #6193
2022-07-27 04:28:41 +02:00
Nikolaj Bjorner
cd7ef11593
add decide callbacks to propagator API
...
this is an intermediary state. The decide_eh is only partially implemented.
2022-07-27 04:28:41 +02:00
Bruce Mitchener
70895b2375
Improve intra-doc linking. ( #6191 )
2022-07-25 23:14:10 +02:00
Nikolaj Bjorner
5c2c0ae900
force-push on new_eq, new_diseq in user propagator, other fixes to Python bindings for user propagator
...
This update allows the python bindings for user-propagator to handle functions that are declared to be registered with the user propagator plugin. It fixes a bug in UserPropagateBase.add to allow registering terms dynamically during search.
It also fixes a bug in theory_user_propagate as scopes were not fully pushed when the solver gets the callbacks for new equalities and new disequalities.
It also adds equality and disequality interfaces to the sat/smt solver version (which isn't being exercised in earnest yet)
2022-07-25 03:42:29 +02:00
Bruce Mitchener
3e38bbb009
Make sure all headers do #pragma once
. ( #6188 )
2022-07-23 10:41:14 -07:00
Nikolaj Bjorner
1155ea69a1
add await
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-22 12:42:19 -07:00
Nikolaj Bjorner
212a0657a2
try .ast
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-22 12:34:07 -07:00
Nikolaj Bjorner
7c0ec21af8
try to add basic expression simplification
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-22 12:21:25 -07:00
Nikolaj Bjorner
4368ec9953
startswith
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-22 11:53:07 -07:00
Nikolaj Bjorner
87dd837b55
Merge branch 'master' of https://github.com/Z3Prover/z3
2022-07-21 23:22:37 -07:00
Nikolaj Bjorner
89af9df02d
add IEnumerable for distinct
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-21 23:22:24 -07:00
Nikolaj Bjorner
0f9684e1f8
make fresh_eh() work for Python bindings of user-propagator
2022-07-21 21:44:02 -07:00
Nikolaj Bjorner
907dc2c2d2
adding toString() to model object
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-21 20:45:45 -07:00
Nikolaj Bjorner
a66095bb08
fix the path to ../build/z3-built
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-20 22:36:34 -07:00