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

782 commits

Author SHA1 Message Date
Nicolas Braud-Santoni 4cb7f72509 First version of the inj. tactic 2017-08-22 17:10:20 +00:00
Nikolaj Bjorner e1d08e9526 remove reinterpret cast occurrences that require disabling strict alias analysis #987 #1210
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-17 20:41:29 -07:00
Dan Liew a2d7b43554 Update header includes to be relative to src/ directory. 2017-08-17 18:26:53 +01:00
Nuno Lopes 4b00bc636b revert the patch to remove no-strict-aliasing
VS 2012 doesnt support C++11 unions..
2017-08-14 23:00:59 +01:00
Nikolaj Bjorner dc4dbdf51e Merge branch 'master' of https://github.com/z3prover/z3 2017-08-14 12:52:41 -07:00
Nikolaj Bjorner 086ea7867e another stab at #989
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-14 12:52:25 -07:00
Nuno Lopes 2473c69679 Drop no-strict-aliasing and fix 2 places where it was violated 2017-08-14 20:09:49 +01:00
Nikolaj Bjorner 5fdea2cb18 use rfind instead of index to avoid prefix clashes #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-03 10:19:07 -07:00
Nikolaj Bjorner 8844112418 update header include generation to use relative paths #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-03 08:50:04 -07:00
Nikolaj Bjorner 2b82fd5d0c updated include directives
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-01 10:51:47 -07:00
Christoph M. Wintersteiger 6bc5209e26 Fixed build problems with .vcxproj 2017-08-01 15:53:55 +01:00
Nikolaj Bjorner 0eb2915e83 Merge pull request #1182 from agurfinkel/spacer-z3
Spacer
2017-07-31 17:10:09 -07:00
Nikolaj Bjorner 8fdf3177da add initialization to unused parameters
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 14:06:29 -07:00
Arie Gurfinkel 5b9bf74787 Spacer engine for HORN logic
The algorithms implemented in the engine are described in the following papers

Anvesh Komuravelli, Nikolaj Bjørner, Arie Gurfinkel, Kenneth L. McMillan:
Compositional Verification of Procedural Programs using Horn Clauses over Integers and Arrays. FMCAD 2015: 89-96

Nikolaj Bjørner, Arie Gurfinkel:
Property Directed Polyhedral Abstraction. VMCAI 2015: 263-281

Anvesh Komuravelli, Arie Gurfinkel, Sagar Chaki:
SMT-Based Model Checking for Recursive Programs. CAV 2014: 17-34
2017-07-31 17:02:29 -04:00
Nikolaj Bjorner b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Nikolaj Bjorner 45e31b0db3 add dummy initialization to unused variables to avoid compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-28 10:17:46 -07:00
Nikolaj Bjorner ca67274519 another round of fix for #989 to avoid problems with doxygen generation (TravisCI build failure)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-27 12:59:34 -07:00
Nikolaj Bjorner af47aa0120 updated suspenders for #989
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-27 12:32:44 -07:00
Nikolaj Bjorner b902018373 add suspenders for #989
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-27 11:56:01 -07:00
Nikolaj Bjorner 2e3a5a2060 attempt at addressing #989 by referencing _lib directly instead of over lib() in function calls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-27 11:03:18 -07:00
Daniel Perelman d57494395c Add --guardcf flag to mk_make.py to optionally enable Control Flow Guard. 2017-07-06 16:59:20 -07:00
Dan Liew d00892c9a6 [CMake] Fix dependencies for generating mem_initializer.cpp.
Previously CMake was not aware of which headers files the generation
of `mem_initializer.cpp` depended on. Consequently this could result
in broken incremental builds if

* Existing headers that declare memory initializers/finalizers change.
* New headers are added that declare memory initializers/finalizer.

Now the `z3_add_component()` CMake function has been modifed so that
it now takes an optional `MEMORY_INIT_FINALIZER_HEADERS` argument
which allows the headers that declare memory initializers/finalizers
to be explicitly listed.

With this information CMake will now regenerate `mem_initializer.cpp`
correctly.

This required the `mk_mem_initializer_cpp_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.

This partially fixes #1030.
2017-06-21 23:56:53 +01:00
Dan Liew 6f48a145aa [CMake] Fix dependencies for generating gparams_register_modules.cpp.
Previously CMake was not aware of which headers files the generation
of `gparams_register_modules.cpp` depended on. Consequently this could result
in broken incremental builds if

* Existing headers that declared module description/parameters change.
* New headers are added that declare module description/parameters.
* `.pyg` files that generate header files that declare module
  description/parameters change

Now the `z3_add_component()` CMake function has been modifed so that

* All header files that are generated from `.pyg` files are added as
dependencies and are scanned from module description/parameter
declarations. This implicit dependency of `gparams_register_modules.cpp`
depending on other generated header files seems unnecessary complex. We
should revisit this design decision once the Python/Makefile build
system is deprecated.

* The function now takes an optional `EXTRA_REGISTER_MODULE_HEADERS`
argument which allows the headers that declare module
description/paramters to be explicitly listed.

With this information CMake will now regenerate `gparams_register_modules.cpp`
correctly.

This required the `mk_gparams_register_modules_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.

This partially fixes #1030.
2017-06-21 23:56:46 +01:00
Dan Liew 229fd3dc3e [CMake] Fix dependencies for generating install_tactic.cpp.
Previously CMake was not aware of which headers files the generation
of `install_tactic.cpp` depended on. Consequently this could result
in broken incremental builds if

* Existing headers that declared tactics/probes changed.
* New tactics/probes were added to new header files.

Now the `z3_add_component()` CMake function has been modifed to take an
optional `TACTIC_HEADERS` argument which allows the headers that declare
tactics/probes to be explicitly listed. The necessary component
declarations have been modified to declare their tactic/probe header
files.

With this information CMake will now regenerate `install_tactic.cpp`
correctly.

This required the `mk_install_tactic_cpp_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.

This partially fixes #1030.
2017-06-21 23:03:48 +01:00
Nikolaj Bjorner 691788f449 remove stale references to foci
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-19 20:21:08 -07:00
Christoph M. Wintersteiger a258236229 Disabled debug output 2017-05-19 18:51:52 +01:00
Christoph M. Wintersteiger 46791047fa Fixed VS 2017 platform toolset version in .vcxproj 2017-05-12 14:28:55 +01:00
Nikolaj Bjorner a64a73255e make source directory relative to build directory
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 15:46:24 -07:00
Nikolaj Bjorner 7731163d11 use forward slash on src include
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 14:42:43 -07:00
Nikolaj Bjorner 911b24784a merge LRA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-09 10:46:11 -07:00
Christoph M. Wintersteiger 79dcf03a42 Enabled C++11 in GCC and Clang 2017-05-05 15:01:10 +01:00
Christoph M. Wintersteiger 0ebce66c57 Fixed bug with .NET keyfile path containing spaces. Fixes #1003. 2017-05-05 14:22:40 +01:00
Christoph M. Wintersteiger 3bbe5eceeb fix for --get-describe 2017-03-24 15:53:46 +00:00
Christoph M. Wintersteiger 075a56ef02 Merge pull request #924 from cheshire/fix_jni_string_leak
Free allocated char arrays in JNI API
2017-03-01 18:32:54 +00:00
George Karpenkov dbdb0307db Free allocated char arrays in JNI API
Fixes #886
2017-03-01 15:22:15 +01:00
Michael Lowell Roberts 3415672f31 fixed bug where mk_make.py --build=... would fail to handle absolute paths correctly. 2017-02-28 08:24:35 -08:00
Christoph M. Wintersteiger 59db0bc9c4 Merge pull request #829 from legendtang/fix_utf8_conf
Fixed utf-8 version string handling for python2. Resolved #787
2017-02-04 20:38:51 +00:00
martin-neuhaeusser 0e966f21ff Fix off-by-one bug in array indexing in the OCaml bindings
This patch fixes an off-by-one bug that occurred in the construction of output arrays
in the OCaml bindings.
2017-01-30 17:28:24 +01:00
Nikolaj Bjorner a0a81fc2d7 add format #879
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-26 08:37:37 -08:00
Christoph M. Wintersteiger 43d083bafb Windows build fix. 2017-01-19 11:19:29 +00:00
Christoph M. Wintersteiger b9bfd4ddf5 Merge pull request #854 from angr/fix/fpic-arm
Add -fpic to armv7/armv8 build
2017-01-18 21:55:52 +00:00
Christoph M. Wintersteiger 0fae048e3e Windows build fix. 2017-01-17 12:58:32 +00:00
Christoph M. Wintersteiger 6fe1682378 Merge branch 'master' of https://github.com/Z3Prover/z3 2017-01-16 14:08:26 +00:00
Christoph M. Wintersteiger 24e4f19d76 build fix 2017-01-16 14:08:21 +00:00
Nikolaj Bjorner dd0d3d4510 use stirngs for env variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-15 11:59:09 -08:00
Christoph M. Wintersteiger 340ba7780e Added MAKEJOBS env var to mk_unix_dist.py 2017-01-14 18:57:10 +00:00
Christoph M. Wintersteiger b30f3a6dbd Separated win32/64 builds 2017-01-14 14:56:25 +00:00
Daniel Perelman f7ebe16046 Omit '.dll' from library name for DllImport. 2017-01-11 16:56:28 -08:00
Christoph M. Wintersteiger d8d869822f Cleaned up #include<iostream> in api* objects. 2017-01-10 21:04:44 +00:00
Andrew Dutcher 1eec0799ca Add -fpic to armv7/armv8 build 2016-12-22 14:26:41 -08:00