3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-09 19:01:50 +00:00
z3/src/util
Daniel Peebles 7e34925035
Improve UX for unreachable/unimplemented errors (#4094)
This should replace several "segfaults" and "illegal instruction" errors
with messages that contain a bit more context. I also put in a link to
the bug tracker to make users' lives a bit easier.

For context, `__builtin_unreachable`'s behavior is undefined and is
intended only as a mechanism to help the compiler see that code will not
return. I do still include it in the new code because if I don't,
compilation produces a lot more warnings as it can't see that
`NOT_IMPLEMENTED_YET` and `UNREACHABLE` cannot return.
2020-04-28 19:54:31 -07:00
..
approx_nat.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
approx_nat.h limits -> climits 2018-07-28 20:28:53 -07:00
approx_set.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
approx_set.h fixes for #1296, removing COMPILE_TIME_ASSERT 2017-10-09 13:59:44 -07:00
array.h integrate some self-contained fixes from #2147 2019-02-24 14:21:34 -08:00
array_map.h remove reinterpret cast occurrences that require disabling strict alias analysis #987 #1210 2017-08-17 20:28:49 -07:00
backtrackable_set.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
basic_interval.h
bit_util.cpp Fix some spelling errors (mostly in comments). 2018-10-20 17:07:41 +02:00
bit_util.h Fix some spelling errors (mostly in comments). 2018-10-20 17:07:41 +02:00
bit_vector.cpp fix #1762, #1764, #1768 2018-07-26 20:29:26 +01:00
bit_vector.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
buffer.h na 2020-04-15 12:25:07 -07:00
cancel_eh.h fix #2623 2019-10-09 15:22:31 -07:00
chashtable.h insert fresh 2019-07-18 06:31:47 -07:00
checked_int64.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
CMakeLists.txt remove cooperate 2019-06-12 20:15:46 -07:00
cmd_context_types.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
cmd_context_types.h remove some allocs from exceptions 2018-07-02 17:08:02 +01:00
common_msgs.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
common_msgs.h
container_util.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
debug.cpp Improve UX for unreachable/unimplemented errors (#4094) 2020-04-28 19:54:31 -07:00
debug.h Improve UX for unreachable/unimplemented errors (#4094) 2020-04-28 19:54:31 -07:00
dec_ref_util.h
dependency.h adding pdd-grobner 2019-12-18 12:03:13 -08:00
dictionary.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
dlist.h
double_manager.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
ema.h import files from csp 2019-01-14 15:04:46 -08:00
env_params.cpp merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
env_params.h
error_codes.h Improve UX for unreachable/unimplemented errors (#4094) 2020-04-28 19:54:31 -07:00
event_handler.h ensure that timeouts are distinguished from other cancel events #848 2017-08-18 14:54:54 -07:00
ext_gcd.h
ext_numeral.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
f2n.h fix build of unit tests 2017-10-16 00:54:30 +01:00
file_path.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
fixed_bit_vector.cpp clear memory on allocation to avoid msan warnings 2019-11-29 15:50:49 -08:00
fixed_bit_vector.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
gparams.cpp reduce use of symbols in gparams 2020-01-10 12:54:26 -08:00
gparams.h reduce use of symbols in gparams 2020-01-10 12:54:26 -08:00
hash.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
hash.h fix #2935 2020-02-03 19:57:20 -08:00
hashtable.h fix #1762, #1764, #1768 2018-07-26 20:29:26 +01:00
heap.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
hwf.cpp Improve platform detection, in particular MSVC ARM64 2019-10-24 15:19:53 -07:00
hwf.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
id_gen.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
inf_eps_rational.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
inf_int_rational.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
inf_int_rational.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
inf_rational.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
inf_rational.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
inf_s_integer.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
inf_s_integer.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
lbool.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
lbool.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
list.h Fix some spelling errors (mostly in comments). 2018-10-20 17:07:41 +02:00
luby.cpp
luby.h
machine.h Change how 64 bit builds are detected. 2018-12-09 16:16:20 +07:00
map.h remove using insert_if_not_there2 2020-04-25 15:08:51 -07:00
max_cliques.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
memory_manager.cpp Fix case sensitive fs include Windows.h 2019-10-13 05:28:36 -07:00
memory_manager.h Merge branch 'master' into intel-compiler 2018-10-02 11:54:52 -07:00
min_cut.cpp remove ast.h reference 2017-10-25 09:49:53 -07:00
min_cut.h compile 2020-04-05 17:03:26 -07:00
mpbq.cpp merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
mpbq.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
mpbqi.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
mpf.cpp fix #3199 2020-04-04 23:55:44 -07:00
mpf.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
mpff.cpp remove remaining _NO_OMP_ 2019-06-05 10:07:16 +01:00
mpff.h remove remaining _NO_OMP_ 2019-06-05 10:07:16 +01:00
mpfx.cpp remove remaining _NO_OMP_ 2019-06-05 10:07:16 +01:00
mpfx.h remove remaining _NO_OMP_ 2019-06-05 10:07:16 +01:00
mpn.cpp adding threads to smt core 2020-01-31 17:08:53 -08:00
mpn.h fixup use of SYNC/SYNCH for mpz 2020-02-01 11:18:36 -08:00
mpq.cpp remove remaining _NO_OMP_ 2019-06-05 10:07:16 +01:00
mpq.h play nice with sanitizers 2020-04-03 17:39:22 -07:00
mpq_inf.cpp remove remaining _NO_OMP_ 2019-06-05 10:07:16 +01:00
mpq_inf.h fix #4116 2020-04-27 17:07:12 -07:00
mpz.cpp fix #4105 2020-04-26 22:59:19 -07:00
mpz.h play nice with sanitizers 2020-04-03 17:39:22 -07:00
mpzzp.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
mutex.h fix build 2019-09-03 20:08:39 +01:00
nat_set.h fix #1762, #1764, #1768 2018-07-26 20:29:26 +01:00
numeral_buffer.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
obj_hashtable.h remove using insert_if_not_there2 2020-04-25 15:08:51 -07:00
obj_mark.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
obj_pair_hashtable.h remove using insert_if_not_there2 2020-04-25 15:08:51 -07:00
obj_pair_set.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
obj_ref.h simplifications to refs 2019-02-19 13:18:20 +00:00
obj_ref_hashtable.h Fix some spelling errors (mostly in comments). 2018-10-20 17:07:41 +02:00
obj_triple_hashtable.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
object_allocator.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
optional.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
page.cpp merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
page.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
params.cpp move to abstract symbols 2020-01-10 12:14:13 -08:00
params.h print certificate for #2202, enable CTL-C for API fix #2203 2019-03-24 17:09:02 -07:00
parray.h fix #2741 2019-11-26 19:45:34 -08:00
permutation.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
permutation.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
plugin_manager.h integrate lambda expressions 2018-06-26 07:23:04 -07:00
pool.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
pop_scopes.h
prime_generator.cpp fix mutexes hanging due to access to free'd memory 2019-09-03 20:02:21 +01:00
prime_generator.h fix crash on Mac due to different destruction order of globals 2019-06-13 11:22:18 +01:00
ptr_scoped_buffer.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
queue.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
rational.cpp fix #2548 fix #2530 2019-09-13 15:03:04 +02:00
rational.h play nice with sanitizers 2020-04-03 17:39:22 -07:00
ref.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
ref_buffer.h simplifications to refs 2019-02-19 13:18:20 +00:00
ref_pair_vector.h fix #4069 2020-04-23 20:53:13 -07:00
ref_util.h
ref_vector.h na 2020-04-23 21:28:19 -07:00
region.cpp merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
region.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
resource_limit.h bug fixes 2017-12-23 14:42:21 -08:00
rlimit.cpp fix mutexes hanging due to access to free'd memory 2019-09-03 20:02:21 +01:00
rlimit.h fix #3169 - set cancellation timeout and limit during push. Also expose internalization outside of scope that disables cancellation 2020-03-06 23:36:04 +01:00
s_integer.cpp merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
s_integer.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
scoped_ctrl_c.cpp avoid a few str copies + symbol hiding 2019-03-08 10:13:46 +00:00
scoped_ctrl_c.h avoid a few str copies + symbol hiding 2019-03-08 10:13:46 +00:00
scoped_numeral.h
scoped_numeral_buffer.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
scoped_numeral_vector.h fix vector<> to support non-POD types 2017-10-16 00:54:29 +01:00
scoped_ptr_vector.h na 2020-04-25 13:13:25 -07:00
scoped_timer.cpp further simplifications to scoped_timer 2019-02-21 10:42:42 +00:00
scoped_timer.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
scoped_vector.h updates to seq and bug fixes (#4056) 2020-04-22 13:18:55 -07:00
sexpr.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
sexpr.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
sign.h move out sign 2020-01-20 16:22:38 -06:00
small_object_allocator.cpp fix leaks exposed by #3383 2020-03-17 13:01:46 -07:00
small_object_allocator.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
smt2_util.cpp merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
smt2_util.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
sorting_network.h add binary_merge encoding option 2019-02-28 08:35:22 -08:00
sstream.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
stack.cpp merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
stack.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
stacked_value.h fix #3733 persist uninterpreted atoms across calls to incremental sat solver 2020-04-04 13:11:39 -07:00
statistics.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
statistics.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
stats.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
stopwatch.h add ite-finder, profile 2020-01-05 16:46:50 -08:00
str_hashtable.h Let str_hashtable store const char*. 2019-01-06 12:15:31 +07:00
stream_buffer.h
string_buffer.h disable unused macros 2018-08-15 22:44:07 -07:00
symbol.cpp add don't care option 2020-01-12 17:00:05 -08:00
symbol.h add validation to aig_simplifier, start BIG-based masking 2020-01-11 20:47:38 -08:00
symbol_table.h fix #2604 2019-10-02 20:36:49 -07:00
timeit.cpp merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
timeit.h
timeout.cpp fix #3169 - set cancellation timeout and limit during push. Also expose internalization outside of scope that disables cancellation 2020-03-06 23:36:04 +01:00
timeout.h
timer.h stopwatches: fix a few places that would call start/stop multiple times 2019-02-21 14:59:31 +00:00
top_sort.h integrate lambda expressions 2018-06-26 07:23:04 -07:00
total_order.h merge with Z3Prover/master 2018-06-25 19:44:46 +08:00
tptr.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
trace.cpp disable cancelation during propagation at base level 2019-03-26 16:19:50 -07:00
trace.h more fixes for mutexes in shell 2019-06-19 16:42:00 +01:00
trail.h a lot of seq churn 2020-04-17 18:21:40 -07:00
uint_map.h make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
uint_set.h add clause proof module, small improvements to bapa 2019-05-30 15:57:19 -07:00
union_find.h fix(union-find): keep values and representative in consistent order 2018-08-17 14:58:44 -05:00
util.cpp remove remaining _NO_OMP_ 2019-06-05 10:07:16 +01:00
util.h remove remaining _NO_OMP_ 2019-06-05 10:07:16 +01:00
vector.h na 2020-04-15 12:25:07 -07:00
warning.cpp MSYS2 and cmake based compilation support for clang and gcc 2019-04-12 14:56:19 +02:00
warning.h Remove unused warning_displayer. 2018-10-21 20:30:07 +07:00
z3_exception.cpp Improve UX for unreachable/unimplemented errors (#4094) 2020-04-28 19:54:31 -07:00
z3_exception.h remove some allocs from exceptions 2018-07-02 17:08:02 +01:00
z3_version.h.cmake.in rename version.h to z3_version.h to differentiate name in install include directory. Add support for z3_version.h in python build system. #1833 2018-09-21 20:13:58 -07:00
z3_version.h.in rename version.h to z3_version.h to differentiate name in install include directory. Add support for z3_version.h in python build system. #1833 2018-09-21 20:13:58 -07:00