3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00
Commit graph

7072 commits

Author SHA1 Message Date
Murphy Berzish
f655e1976e add params for theory case split 2017-05-01 10:18:38 -04:00
Nikolaj Bjorner
aceee3fac8 renmae to opt_stream_buffer to avoid clash with dimacs stream buffer. #994
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-30 12:54:29 -07:00
Nikolaj Bjorner
0693a413b6 augment #955 to handle hyphen
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-30 12:50:56 -07:00
Nikolaj Bjorner
86f3526110 update get-value to also respect parameter model_index, #955
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-30 11:48:06 -07:00
Nikolaj Bjorner
d6e2e1f28f Merge branch 'master' of https://github.com/Z3Prover/z3 2017-04-30 11:28:26 -07:00
Nikolaj Bjorner
aff02ca905 include 'stopwatch.h' to avoid ODR warnings, #994 2017-04-30 11:28:11 -07:00
Nikolaj Bjorner
bd1b930d7a swap argument order of chunk with file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-30 11:00:03 -07:00
Nikolaj Bjorner
5fcbf55216 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-04-30 10:23:05 -07:00
Nikolaj Bjorner
2c208e1d10 Sat update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-30 10:23:00 -07:00
Nikolaj Bjorner
4468816d32 fix unused variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-29 19:00:15 -07:00
Nikolaj Bjorner
b3f720c2bf fix unused variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-29 18:58:34 -07:00
Nikolaj Bjorner
3152833893 fix unused variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-29 18:55:47 -07:00
Nikolaj Bjorner
944dfbc6ef Merge branch 'master' of https://github.com/Z3Prover/z3 2017-04-29 17:39:20 -07:00
Nikolaj Bjorner
fa868e058e fix bound bug #991
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-29 17:39:02 -07:00
Nikolaj Bjorner
d3f9e4874a Merge pull request #993 from delcypher/cmake_fix_setting_flags
[CMake] Make MSVC flags much more similar to python/Makefile build system.
2017-04-29 11:35:37 -07:00
Dan Liew
6e07d6dd2d [CMake] Override CMake's default flags for GCC/Clang as we were doing
before 4cc2b292c0.

It's useful to be able to control the defaults and CMake's internal
logic for GCC/Clang is simple enough that doing this makes sense.

It would be nice to do the same for MSVC but CMake's internal
logic is more complicated so for now it's better that we just use
CMake's default.
2017-04-29 17:45:02 +01:00
Dan Liew
2a919cf16e [CMake] Duplicate the remaining linker flags from the old build system. 2017-04-29 16:22:46 +01:00
Dan Liew
d032dbcbb2 [CMake] When using MSVC set the /SUBSYSTEM: argument given to
the linker. This mimics the behaviour of the old build system.
2017-04-29 16:22:46 +01:00
Dan Liew
364bcde6c1 [CMake] When building with MSVC pass the /STACK: argument to the
linker like the old build system does.
2017-04-29 16:22:46 +01:00
Dan Liew
c9aac0ba77 [CMake] When building with MSVC try to disable incremental linking
for all builds.
2017-04-29 16:22:46 +01:00
Dan Liew
5893aea602 [CMake] When building with MSVC and without WARNINGS_AS_ERRORS
pass `/WX-` to MSVC. Although this is not necessary this duplicates
the behaviour of the old build system.
2017-04-29 16:22:46 +01:00
Dan Liew
870be706e9 [CMake] Try to do a better job of matching the old build system's
compiler defines and flags when using MSVC.

There are lots of defines and flags that I'm unsure about so in
some cases I've changed the behaviour slightly (if I'm confident
the behaviour in the old build system is wrong) or not added the
flag/define at all but just left comments noting what the old build
system did and why I disagree with the old build system's choices.
2017-04-29 16:22:46 +01:00
Dan Liew
0e1343e78d [CMake] Add support for link time optimization (LTO).
This analogous to the `--optimize` flag in the Python/Makefile
build system except that we now support doing LTO with Clang/GCC
as well. However it is probably best to avoid doing LTO with
Clang or GCC for now because I see a bunch of warnings about
ODR violations when building with LTO.

LTO can be enabled with the new `LINK_TIME_OPTIMIZATION` option
which is off by default.
2017-04-29 16:22:46 +01:00
Dan Liew
fb403229bd [CMake] CMake's default value for CMAKE_CXX_FLAGS includes /W3
remove this so we can have fine grained control of warnings.
2017-04-29 16:22:46 +01:00
Dan Liew
fe1af4bcdb [CMake] Teach build system to pass /fp:precise to compiler when
using MSVC. This is set by the old build system but we weren't setting
it. This actually MSVC's default but in an effort to try to behave
more like the old build system we will set it anyway.
2017-04-29 16:22:46 +01:00
Dan Liew
f568b2478f [CMake] Report the various values of CMAKE_CXX_FLAGS,
CMAKE_CXX_FLAGS_<CONFIG>, CMAKE_<TYPE>_LINKER_FLAGS, and
CMAKE_<TYPE>_LINKER_FLAGS_<CONFIG>.

This is useful for debugging where some flags come from. Now that
we don't explicitly set the defaults it useful to see which default
values we are getting from CMake.
2017-04-29 16:22:46 +01:00
Dan Liew
4cc2b292c0 [CMake] Remove compiler flag overrides and support for C language.
The setting of overrides was broken (the CXX flags were not set but
the C flags were) and we aren't even using the C compiler any more.

The C compiler is used by the example C project but that is built
as an external project now so we don't need C support anymore.

The setting of defaults was also very fragile. CMake has quite
complicated support here (e.g. MSVC with a clang based tool chain) which
would likely not work properly with the override approach as it existed.

This means we loose some of the custom linker flags we were setting for
MSVC but we were never doing a great job of replicating the exact set of
flags used in the old build system anyway. Subsequent commits will
gradually fix this.
2017-04-29 16:22:46 +01:00
Nikolaj Bjorner
9f99a58569 Merge pull request #992 from mtrberzi/theory_str-static-features
theory_str static features and cmd_context
2017-04-28 11:23:23 -07:00
Murphy Berzish
88147f7047 theory_str static features and cmd_context 2017-04-28 14:14:28 -04:00
Murphy Berzish
d51ebac10a remove references to str_fid 2017-04-28 14:01:44 -04:00
Murphy Berzish
f1cee803e8 fixup 2017-04-28 13:44:48 -04:00
Murphy Berzish
d2ae94935e Merge branch 'upstream-master' into develop
Conflicts:
	src/ast/rewriter/seq_rewriter.cpp
	src/ast/seq_decl_plugin.h
2017-04-28 13:43:14 -04:00
Nikolaj Bjorner
62a36189d5 Merge pull request #988 from mtrberzi/theory_str-frontend
Frontend changes for theory_str
2017-04-28 08:21:18 -07:00
Murphy Berzish
05958193ab revert change to String sort declaration 2017-04-27 22:30:02 -04:00
Nikolaj Bjorner
8205b45839 initial integration of opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-27 19:13:00 -07:00
Murphy Berzish
12dd6d786b remove redundant is_seq() check 2017-04-27 21:24:40 -04:00
Nikolaj Bjorner
aedabfff7a disable newer pb encoding
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-27 11:24:30 -07:00
Murphy Berzish
7811a91bad fix is_string_term() 2017-04-27 13:59:02 -04:00
Murphy Berzish
334677a7eb fix is_string_term() 2017-04-27 13:58:36 -04:00
Nikolaj Bjorner
69aa5ca877 Merge pull request #984 from delcypher/cmake_doxygen
[CMake][Doxygen] Support building/installing API documentation and fix lots of bugs
2017-04-27 06:58:32 -07:00
Nikolaj Bjorner
d3b30968fa added chunk based backbone utility
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-26 16:55:56 -07:00
Murphy Berzish
46ac718790 theory_str frontend changes 2017-04-26 17:24:05 -04:00
Murphy Berzish
d16b20d62b Merge branch 'upstream-master' into develop 2017-04-26 17:21:10 -04:00
Nikolaj Bjorner
a048d74bae adding interval designator to output of non-optimal objectives, fix python doc test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-26 14:05:33 -07:00
Nikolaj Bjorner
8032217fd1 tuning and fixing consequence finding, adding dimacs evaluation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-04-26 13:53:37 -07:00
Dan Liew
d4b7b489d0 [CMake] Teach CMake to build the documentation for the API bindings
and install them. The target for building the documentation is
`api_docs`.

This is off by default but can be enabled with the
`BUILD_DOCUMENTATION` option. The C and C++ API documentation
is always built but the Python, ".NET", and Java documentation are
only built if they are enabled in the build system. The rationale
for this is that it would be confusing to install documentation
for API bindings that are not installed.

By default `ALWAYS_BUILD_DOCS` is on which will slow down builds
significantly but will ensure that when the `install` target is
invoked the documentation is up-to-date. Unfortunately I couldn't
find a better way to do this. `ALWAYS_BUILD_DOCS` can be disabled
to get faster builds and still have the `api_docs` target available.
2017-04-26 11:02:36 +01:00
Dan Liew
a6a6a9c29f [Doxygen] Fix link to ".NET" documentation it should point to the
"Microsoft.Z3" namespace, not the "Microsoft.Z3.Context" class.

This mirrors the link provided for the Java API.
2017-04-26 11:02:36 +01:00
Dan Liew
121fd06cc2 [Doxygen] Fix mk_api_doc.py so it is not required that the current
working directory be the `doc` directory in the source tree.
2017-04-26 10:44:01 +01:00
Dan Liew
e4bec1572a [Doxygen] Teach mk_api_doc.py to allow multiple search paths
for the ".NET" and "Java" bindings. The CMake build system needs
this because the generated files exist in a different directory
to the source files.

Multiple paths can be specified using the `--dot-search-paths` and
`--java-search-paths` options.
2017-04-26 10:42:57 +01:00
Dan Liew
09d7ebf1ad [Doxygen] Fix bug where temporary directory and output directory
paths were not handled properly if paths contained spaces.
2017-04-26 10:42:57 +01:00