Ralf Jung
6197f4fac9
Permit int->ptr->int roundtrip
2017-06-05 14:23:35 -07:00
Ralf Jung
cfff91ba3e
write_bytes intrinsic: if the write count is 0, the pointer does not have to be valid
2017-06-05 14:23:34 -07:00
Ralf Jung
1b5f77e4c1
Implement Offset like the other binary operators, share code with the intrinsic
...
Also improve drop glue tests
2017-06-05 14:19:10 -07:00
Ralf Jung
31cf66d0e8
remove our array drop glue and use rustc's instead; implement the new Offset and SizeOf operators
2017-06-05 10:06:40 -07:00
David Renshaw
ca8347a1ff
update for upstream ParamEnv changes
2017-06-02 21:00:35 -04:00
Oliver Schneider
ec7f1d5248
Fix typo
2017-06-02 06:53:52 +02:00
Ralf Jung
dd7735b722
make StorageLive kill the current value of the local
2017-06-01 17:59:00 -07:00
Ralf Jung
db6ce463fe
fix some nits
2017-06-01 11:01:55 -07:00
Ralf Jung
e6eaf2083a
interpret StorageLive & StorageDead, and check dead stack slots are not used
2017-05-31 17:41:33 -07:00
Ralf Jung
44a45f7c34
run test suite also against libstd with full MIR
2017-05-31 13:39:40 -07:00
Ralf Jung
6619ed89ba
bin/miri.rs looks for RUST_SYSROOT, so should bin/cargo-miri.rs
2017-05-31 11:17:33 -07:00
David Renshaw
fbc46276ff
prevent 'attempt to shift left with overflow' panic on platforms where pthread_key_t is 64 bits
2017-05-31 10:43:36 -04:00
Ralf Jung
2b37d500f1
simplify determining size and alignment of a pointer
2017-05-30 17:03:45 -07:00
Ralf Jung
b44babf230
allocate return pointer only when we start the program via the start lang item
2017-05-30 15:40:26 -07:00
Ralf Jung
dad95474cb
test thread-local key with no dtor
2017-05-30 10:41:38 -07:00
Ralf Jung
24a9a14dfa
fix various small nits
2017-05-30 10:41:38 -07:00
Ralf Jung
1241938f97
test suite now also passes on MIR-libstd
...
Also enable some tests that were disabled for no apparant reason.
(The comment in zst.rs was wrong, the test was disabled also for miri execution.)
Delete env_args test as the args can actually be queried with MIR-libstd (currently, they are always empty)
2017-05-30 10:41:38 -07:00
Ralf Jung
99433a1ffd
improve fn pointer signature check to allow some casts that should be permitted
...
Also properly check the "non-capturing Fn to fn" case
2017-05-30 10:41:38 -07:00
Ralf Jung
cd6e3e6431
If a "start" lang item incl. MIR is present, run that instead of running main directly
...
This fixes the memory leaks when running a simple "Hello World" with MIR-libstd
2017-05-30 10:41:38 -07:00
Ralf Jung
720c5f874e
implement __rust_maybe_catch_panic
2017-05-30 10:41:38 -07:00
Ralf Jung
55438fe5bf
unify the way we intercept missing MIR and C ABI calls; only intercept C ABI calls if MIR is missing
2017-05-30 10:41:38 -07:00
Ralf Jung
14b16dcf45
use proper span for TLS dtors; fix some nits
2017-05-30 10:41:38 -07:00
Ralf Jung
a66f359d91
support TLS destructors
2017-05-30 10:41:38 -07:00
Ralf Jung
238211e1b3
implement TLS
2017-05-30 10:41:38 -07:00
Ralf Jung
452cc9b396
handle statics with linkage: initialize them with NULL
2017-05-30 10:41:38 -07:00
Ralf Jung
33d42f4b82
also support writing to stderr
2017-05-30 10:41:38 -07:00
Ralf Jung
ab90500d8c
Make println!("String") work
...
miri complains about a memory leak when the program terminates. This may be related to thread-local dtors not running.
2017-05-30 10:41:38 -07:00
David Renshaw
c384f9568d
Rvalue::Box -> Rvalue::NullaryOp
2017-05-30 09:27:08 -04:00
David Renshaw
48662d5199
update for upstream changes with ty::ParamEnv
2017-05-23 23:40:39 -04:00
David Renshaw
0641e932bc
implement __rust_allocate_zeroed C ABI function
2017-05-21 15:48:31 -04:00
David Renshaw
2b84e176fb
update for new boxier mir
2017-05-13 07:09:57 -04:00
Oliver Schneider
5f67ba76f5
Removed unused crate imports
2017-05-05 10:37:04 +02:00
Oliver Schneider
da3860a293
Address things complained about by clippy
2017-05-05 10:34:38 +02:00
Oliver Schneider
07229d6305
Rustup to rustc 1.19.0-nightly ( 2d4ed8e0c
2017-05-03)
2017-05-04 17:42:43 +02:00
Oliver Schneider
671ccca891
Update to rustc 1.19.0-nightly ( 777ee2079
2017-05-01)
2017-05-02 10:44:35 +02:00
Oliver Schneider
488fc53db9
Update to the latest rustc version
2017-04-27 13:48:47 +02:00
Oliver Schneider
538c271e05
Address clippy lints
2017-04-26 12:15:42 +02:00
Oliver Schneider
76768479b5
Update for latest rustc changes
2017-04-25 16:51:58 +02:00
David Renshaw
d666bd7e62
update for latest rustc nightly: type_needs_drop_given_env() and type_contents() are gone
2017-04-23 13:45:04 -04:00
Eduard-Mihai Burtescu
b9bd747b6c
Import EvalError in lvalue.
2017-04-21 14:02:12 +03:00
Eduard-Mihai Burtescu
738c7d262a
Handle Use of ! as Unreachable is not emitted nowadays.
2017-04-21 13:56:44 +03:00
Eduard-Mihai Burtescu
cb3799b44b
Update for changes in LocalDecl on nightly.
2017-04-21 13:27:09 +03:00
Oliver Schneider
fdeee8fb59
Cleanup the diff
2017-03-29 09:10:05 +02:00
Oliver Schneider
065e9593b4
Rustup to rustc 1.17.0-nightly (
7846dbe0c
2017-03-26)
2017-03-27 10:13:21 +02:00
Oliver Schneider
bbeb7216e0
Thinify the fat pointer on virtual function calls
2017-03-23 18:32:57 +01:00
Oliver Schneider
cb867d250a
Fix casting generic functions to concrete function pointers
2017-03-23 17:57:40 +01:00
Oliver Schneider
f4ed482c4d
print
doesn't add a stack frame, so don't write arguments
2017-03-23 17:36:10 +01:00
Oliver Schneider
fb7cc3c164
Fix single field by val tuples
2017-03-23 16:09:36 +01:00
Oliver Schneider
eecc727e87
Reduce noisyness
2017-03-23 15:52:02 +01:00
Oliver Schneider
1263d56eb0
Merge branch 'master' of https://github.com/tsion/miri
2017-03-23 15:40:47 +01:00