880 Commits

Author SHA1 Message Date
Oliver Schneider
eba199a437 Document the reason for Pointer's existence 2017-07-11 12:50:03 +02:00
Oliver Schneider
0dd6ef8301 Simplify with_extra 2017-07-11 12:39:12 +02:00
Oliver Schneider
d0d1d2d5e8
Remove *offset* methods from PrimVal onto Pointer 2017-07-11 12:28:11 +02:00
Oliver Schneider
03f0a88002
Use a wrapper type to differentiate between PrimVal and pointers 2017-07-11 12:28:11 +02:00
Oliver Schneider
a8b957a0f8
Add a dedicated write_null method 2017-07-11 10:32:01 +02:00
Oliver Schneider
2d52054fb2
Rename Pointer to MemoryPointer 2017-07-11 10:32:01 +02:00
Ralf Jung
1cbf5e8962 leave notes regarding possible alignment checks 2017-07-10 18:09:46 -07:00
Ralf Jung
d2cf3d76b9 update for allocator API 2017-07-10 16:15:58 -07:00
Ralf Jung
3c0a6d6922 simplify reallocate 2017-07-10 13:34:54 -07:00
Oliver Schneider
b8bd42e8d4 Merge pull request #234 from RalfJung/reallocate
Make Reallocate & Deallocate less permissive
2017-07-05 19:54:54 +02:00
Ralf Jung
4165051073 refine comment explaining the order of checks on deallocate 2017-07-05 10:26:15 -07:00
Oliver Schneider
9a04be974c Merge pull request #232 from oli-obk/master
Only check pointers when dereferencing
2017-07-04 09:50:54 +02:00
Oliver Schneider
10ec543b9e Merge pull request #235 from RalfJung/intrinsics
Implement some missing intrinsics
2017-07-04 08:38:22 +02:00
Ralf Jung
30f92f8a27 catch overflows that are hidden by first casting the RHS to u32 2017-07-03 20:50:19 -07:00
Ralf Jung
ffd482e2f5 check the assumptions made by the unchecked_ and copy_nonoverlapping intrinsics 2017-07-03 20:37:38 -07:00
Ralf Jung
f118ff43e7 implement the unchecked_ intrinsics; add all the doctests from one of the integer modules 2017-07-03 20:37:33 -07:00
Ralf Jung
440c4778fa validate size and alignment on reallocate and deallocate 2017-07-03 16:47:58 -07:00
Ralf Jung
dc9f5a205f properly check for: double-free, use-after-reallocate 2017-07-03 16:12:11 -07:00
Ralf Jung
030166757c Fix transmute on ByValPair
Fixes #227
2017-07-03 13:58:50 -07:00
Oliver Schneider
823b952ef2 Only check pointers when dereferencing
Before we also checked whether pointers had alloc_ids when we created rvalue references
2017-07-03 14:16:11 +02:00
David Renshaw
e3fa4fb849 get cargo-miri to work 2017-06-29 13:06:36 -04:00
Oliver Schneider
8722ce8d4b Merge pull request #223 from oli-obk/lvalue_read
Reinstate `eval_and_read_lvalue` optimizations
2017-06-29 15:40:06 +02:00
David Renshaw
73ab5c77c2 normalize signature before passing to check_sig_compat 2017-06-29 07:58:22 -04:00
David Renshaw
32e7dcb6fb update for upstream changes to TyFnDef 2017-06-28 22:00:17 -04:00
Oliver Schneider
695f9723d2 Merge pull request #222 from oli-obk/const_eval_checks
Address comments to previous PR
2017-06-28 23:08:58 +02:00
Ralf Jung
51b43215a4 cast -> transmute 2017-06-28 11:37:15 -07:00
Oliver Schneider
917c89e697 Optimize lvalue reads from Value::ByVal and Value::ByValPair 2017-06-28 13:37:23 +02:00
Oliver Schneider
91409f1d76 Code nits 2017-06-28 13:10:50 +02:00
Oliver Schneider
c8079c652c
Address comments 2017-06-28 10:17:14 +02:00
Oliver Schneider
a724a39323 Reword comments 2017-06-28 09:46:41 +02:00
Oliver Schneider
5dfaacf310 Simplify all the code 2017-06-27 13:36:41 +02:00
Oliver Schneider
ab400f3eea Initial work towards checking const eval rules in miri 2017-06-26 17:58:47 +02:00
Ralf Jung
76a1d66e77 fix build after rebase 2017-06-24 11:05:53 -07:00
Ralf Jung
38d03392fa Clarify pattern matching 2017-06-24 11:05:13 -07:00
Ralf Jung
b1acc130bb check alignment of pointers on Ref 2017-06-24 11:05:13 -07:00
Ralf Jung
f0c8df2291 handle ptr-int casts explicitly in cast.rs 2017-06-24 11:05:13 -07:00
Oliver Schneider
eca9e3429a PrimVal used to allow comparing Undef 2017-06-23 16:12:03 +02:00
Oliver Schneider
5ee4fdcd15 fetch_tls_dtor "read" an Undef as nonzero 2017-06-23 13:31:00 +02:00
Oliver Schneider
c4fc6c677d Typo 2017-06-23 13:30:31 +02:00
Oliver Schneider
9be3e9185b Remove the zst allocation 2017-06-23 12:55:49 +02:00
Ralf Jung
d5c031640f use PrimVal::to_bool rather than bytes_to_bool 2017-06-22 20:20:26 -07:00
Ralf Jung
14cb31fb88 permit bit-anding in pointer values below the alignment
This makes HashMap work!
2017-06-22 14:46:53 -07:00
Ralf Jung
269667e152 implement _nonzero intrinsics 2017-06-22 14:46:53 -07:00
Ralf Jung
c1a6df941e permit all kinds of 0-offsets on ZSTs 2017-06-22 14:26:17 -07:00
Ralf Jung
2f61356858 permit offsetting a NULL-ptr by 0, to fix hashmap test 2017-06-22 13:41:13 -07:00
Ralf Jung
57391bab10 fix unused variable warning 2017-06-22 11:33:39 -07:00
Ralf Jung
6512fa7be8 use PrimVal::is_null 2017-06-22 11:33:31 -07:00
Ralf Jung
3637aa86c8 allow any offset on integer pointers 2017-06-22 11:28:00 -07:00
Oliver Schneider
8de111018d Merge pull request #201 from oli-obk/test_suite_fails
"Support" more libc functions
2017-06-22 14:16:45 +02:00
Oliver Schneider
8733bd0e7c Update mod.rs 2017-06-22 11:40:06 +02:00