Oliver Schneider
308c7cadf1
Merge pull request #265 from oli-obk/optimize_prime
...
Also test optimized MIR
2017-07-20 22:08:02 +02:00
Oliver Schneider
f2d0101065
Also test optimized MIR
2017-07-20 20:25:43 +02:00
Oliver Schneider
9710ff481e
Merge pull request #264 from oli-obk/paths
...
Reduce the usage of global paths
2017-07-20 20:00:19 +02:00
Oliver Schneider
9b526d1c85
Reduce the usage of global paths
2017-07-20 16:40:57 +02:00
Oliver Schneider
f822ad5c63
Merge pull request #260 from RalfJung/tests
...
Split up test suite
2017-07-20 16:07:08 +02:00
Eduard-Mihai Burtescu
e79bb42ab3
Merge pull request #262 from RalfJung/never
...
remove ad-hoc 'never' type check in read_lvalue
2017-07-20 15:13:21 +03:00
Oliver Schneider
101e5a8ba0
Move rustc tests from tests to a binary, since they are only run manually anyway
2017-07-20 13:11:40 +02:00
Oliver Schneider
f02d9e63fd
Merge pull request #259 from RalfJung/ref-validate
...
No longer check aligment and non-NULLness on `&`
2017-07-20 07:09:52 +02:00
Ralf Jung
3b19c83c67
remove ad-hoc 'never' type check in read_lvalue
2017-07-19 20:32:51 -07:00
Ralf Jung
7648ccaae1
add test for misaligned pointer loads
2017-07-19 20:26:30 -07:00
Ralf Jung
ede055c2be
fix checking alignment of pointer loads
2017-07-19 20:24:09 -07:00
Ralf Jung
f9818bf818
fix a warning
2017-07-19 13:31:21 -07:00
Ralf Jung
e38ee0a30a
split up the test suite
2017-07-19 12:52:20 -07:00
Ralf Jung
e4ffab1754
enable test code that passes just fine
2017-07-19 11:38:15 -07:00
Ralf Jung
2424953055
Don't pretend that casts to bool are a thing
2017-07-19 11:35:06 -07:00
Ralf Jung
72664e42aa
No longer check aligment and non-NULLness on &
...
This breaks creating unaligned raw pointers via `&packed.field as *const _`, which needs to be legal.
Also it doesn't seem like LLVM still relies on this, see
* https://github.com/solson/miri/issues/244#issuecomment-315563640
* https://internals.rust-lang.org/t/rules-for-alignment-and-non-nullness-of-references/5430/16
We probably want to handle this invariant like the others that validation is concerned with, and only
check it on function boundaries for now.
2017-07-19 11:28:35 -07:00
Oliver Schneider
27c64479cd
Merge pull request #257 from oli-obk/cleanups
...
Export types and functions needed by priroda
2017-07-19 11:40:43 +02:00
Oliver Schneider
d9d792ba03
Export types and functions needed by priroda
2017-07-19 11:06:07 +02:00
Oliver Schneider
2d5c4196f1
Merge pull request #254 from RalfJung/dangling
...
Remove reundant dangling checks in {r,d}eallocate
2017-07-18 23:34:09 +02:00
Scott Olson
824438bda9
Merge pull request #255 from RalfJung/float
...
use libstd methods for floating-point <-> bytes conversion
2017-07-18 14:16:42 -07:00
Ralf Jung
9bccfd388c
use libstd methods for floating-point <-> bytes conversion
2017-07-18 13:56:01 -07:00
Ralf Jung
ff9192e346
remove reundant dangling checks in {r,d}eallocate
2017-07-18 13:50:54 -07:00
Oliver Schneider
5328c5d1b0
Merge pull request #245 from oli-obk/funky_allocs
...
Ensure that it is not possible to explicitly free stack memory
2017-07-18 14:09:15 +02:00
Oliver Schneider
a29ba6a2b3
Merge pull request #249 from RalfJung/lvalue
...
lvalue: refactoring to permit applying a mir projection to a miri lvalue
2017-07-14 21:28:06 +02:00
Ralf Jung
2312ac8db6
lvalue: refactoring to permit applying a mir projection to a miri lvalue
2017-07-14 09:06:52 -07:00
Oliver Schneider
45ab975610
Add a comment explaining the static "local" during deallocate_local
2017-07-14 17:46:28 +02:00
Oliver Schneider
2e562a4d64
Fix static mutation tests
2017-07-14 17:39:19 +02:00
Oliver Schneider
7701ff2f89
Remove duplicate test
2017-07-14 17:39:19 +02:00
Oliver Schneider
eb01c3fdd2
Use enum instead of boolean
2017-07-14 17:39:19 +02:00
Oliver Schneider
70a914cd34
Clarify documentation
2017-07-14 17:36:06 +02:00
Oliver Schneider
192da8819f
Ensure that it is not possible to explicitly free stack memory
2017-07-14 17:36:06 +02:00
Oliver Schneider
56d4de303f
Merge pull request #247 from RalfJung/packed
...
Re-do packed memory accesses
2017-07-14 08:30:30 +02:00
Ralf Jung
0fbbcae92d
packed structs: test unsize coercions
2017-07-13 14:18:26 -07:00
Oliver Schneider
555fc41d5e
Merge pull request #243 from solson/magic_numbers
...
Get rid of magic numbers
2017-07-13 22:07:02 +02:00
Ralf Jung
da5538f0b2
use closures to ensure proper bracketing of unaligned accesses
2017-07-13 10:29:11 -07:00
Ralf Jung
d02e7f0da8
simplify
2017-07-13 09:10:50 -07:00
Ralf Jung
62334acd66
show alignedness of ByRefs; allow converting unaligned ByRef to ptr
2017-07-13 09:09:45 -07:00
Ralf Jung
6fb6a1c4d0
make all Value::into_* methods handle alignment the same way
2017-07-13 09:06:27 -07:00
Ralf Jung
6c9fdc7922
expand comment
2017-07-13 08:40:05 -07:00
Oliver Schneider
f8757aa092
Reuse the const_eval
method for syscall name resolution
2017-07-13 16:49:55 +02:00
Oliver Schneider
f78d6a0d97
Don't use magic numbers for synconf names
...
instead read them from the `libc` crate if available.
fixes #216
2017-07-13 16:31:14 +02:00
Oliver Schneider
fdef27acf5
Copy path_to_def
from clippy
2017-07-13 16:31:14 +02:00
Oliver Schneider
14c8fe7ace
Merge pull request #248 from RalfJung/pointer-games
...
Memory::read_ptr has to check for relocations on the edges
2017-07-13 11:43:25 +02:00
Ralf Jung
81307d7299
fix "unaligned" transmute
2017-07-12 23:50:57 -07:00
Ralf Jung
287b6be5ca
track alignment also for ByRef values
2017-07-12 21:06:57 -07:00
Ralf Jung
1fe310c8ba
Memory::read_ptr has to check for relocations on the edges
2017-07-12 19:30:37 -07:00
Ralf Jung
454fc854ab
Rename value accessors to "into_*" so the three of them are better aligned
2017-07-12 17:52:57 -07:00
Ralf Jung
c149c3fc6a
Re-do packed memory accesses
...
We now track in the lvalue whether what we computed is expected to be aligend or not, and then set some state in the memory system accordingly to make it (not) do alignment checks
2017-07-12 17:46:56 -07:00
Oliver Schneider
fda18f64cd
Merge pull request #241 from solson/rustc_integration
...
Produce `ConstInt` from a `def_id` for rustc
2017-07-12 11:02:03 +02:00
Oliver Schneider
e362c30ef8
Merge pull request #242 from solson/various
...
Add tests for #113
2017-07-12 10:40:02 +02:00