Commit Graph

909 Commits

Author SHA1 Message Date
Ralf Jung e325ad24f2 support main functions with Result return type 2019-12-23 17:45:23 +01:00
Oliver Scherer 7ead530841 Rustfmt all the things 2019-12-23 12:56:23 +01:00
bors a3ea1cb458 Auto merge of #1101 - christianpoveda:stat-shim, r=RalfJung
Add statx shim for linux target

This is an attempt to fix: https://github.com/rust-lang/miri/issues/999 (for linux only)

Currently there is one problem that I haven't been able to solve. `std::fs::metadata` fails because the creation time is not available even though it is provided in the shim code.

In order to inform the caller that the field was provided, the `stx_flag` field must have the bits of `STATX_BTIME` set (which they are). The creation time is in the `stx_btime` field of the `statx` struct (see [1]). The relevant code in `libstd` is here (probably?): https://github.com/rust-lang/rust/blob/master/src/libstd/sys/unix/fs.rs#L322

Another important point is that we are just providing the fields that are available in "all" platforms (this is, without using any platform specific traits or so). This can be improved later.

References:
[1] Man page: http://man7.org/linux/man-pages/man2/statx.2.html
[2] libc `statx` struct: https://docs.rs/libc/0.2.63/libc/struct.statx.html

Edit: The problem is that my filesystem is not providing it and I thought all filesystems could provide it. I changed the code so it only provides those dates if they are available. now we are ready to go.

r? @RalfJung @oli-obk
2019-12-22 17:01:53 +00:00
Christian Poveda b0c7625dd1 add statx shim for linux 2019-12-22 11:46:02 -05:00
Oliver Scherer d9859c83fc Rustup to rustc 1.42.0-nightly (9ff30a781 2019-12-21) 2019-12-21 11:45:09 +01:00
Ralf Jung 74ef63ff0a the never type got de-stabilized again; adjust tests 2019-12-15 12:23:43 +01:00
Ralf Jung f0d43872ad add test for sketchy vtable 2019-12-13 13:19:48 +01:00
Ralf Jung b0a205ce6f add caller_location tests to Miri 2019-12-08 11:06:35 +01:00
bors ab39e09b82 Auto merge of #1107 - RalfJung:rustup, r=RalfJung
bump Rust, fix error messages
2019-12-08 00:46:35 +00:00
Ralf Jung cefc592273 bump Rust, fix error messages 2019-12-08 01:45:41 +01:00
Ralf Jung e92d16d9cd add flag to ignore memory leaks 2019-12-07 13:44:48 +01:00
Ralf Jung 6d8e87111b bump Rust for exact_div fix 2019-12-03 17:37:42 +01:00
Ralf Jung ce7b44b048 ignore another panicking test on Windows 2019-12-02 16:48:18 +01:00
Ralf Jung ae53b1222a fix and expand panic tests 2019-12-02 16:04:31 +01:00
Ralf Jung 4cf83433b1 test built-in panic catching 2019-12-02 16:04:31 +01:00
Ralf Jung 9f9e547d79 test diverging closure fn ptr coercion 2019-12-02 15:42:33 +01:00
Ralf Jung bba9359256 expand coerce fn test 2019-12-02 15:42:33 +01:00
Ralf Jung dcdd68b936 also indicate abort via new MachineStop variant 2019-12-02 09:13:58 +01:00
Ralf Jung 1c420b0b55 improve style in catch_panic test 2019-12-02 09:11:33 +01:00
Ralf Jung f7efe238f3 fix catch_panic.stderr 2019-12-01 11:04:51 +01:00
Ralf Jung 2789e72e18 test more panics 2019-12-01 11:04:32 +01:00
Ralf Jung 2152258b04 and another reference 2019-11-25 15:10:39 +01:00
Ralf Jung 66dc939787 rename some more tests 2019-11-25 15:08:47 +01:00
Ralf Jung d16e12b0a4 rename test and add some references 2019-11-25 15:08:24 +01:00
Ralf Jung 51d47e8dc5 test closure-to-fn-ptr coercions a bit more 2019-11-25 15:01:05 +01:00
Ralf Jung 35e1fe1665 also test non-string panic payload 2019-11-24 10:51:48 +01:00
Ralf Jung ee411c2a74 beef up catch_panic test 2019-11-24 10:24:41 +01:00
Ralf Jung 6941caf1df typo 2019-11-22 18:12:10 +01:00
bors 644e2a76a8 Auto merge of #1067 - Aaron1011:feature/inverse-trig, r=RalfJung
Add acos, asin, and atan foreign functions

I copied the tests from the docs pages
2019-11-22 09:23:24 +00:00
Ralf Jung 6888555ca9 rustup for never stabilization 2019-11-22 09:50:22 +01:00
Aaron Hill a328683c4a Add acos, asin, and atan foreign functions
I copied the tests from the docs pages
2019-11-21 17:33:30 -05:00
Ralf Jung f16f891191 slice matching overflow got fixed 2019-11-20 19:38:41 +01:00
Ralf Jung 5cef4666e6 rename panic=abort tests to panic_abort 2019-11-19 22:44:07 +01:00
Aaron Hill 80f9484c86 Disable panic tests on Windows
Miri currently does not support `GetProcAddress`
and `GetModuleHandleW`, both of which end up getting invoked by the
libstd panic hook.
2019-11-17 13:49:31 -05:00
Aaron Hill b06d99b8a0 Ignore '-C panic=abort' tests for now
We are currently building `libpanic_abort` with the wrong panic
strategy, due to Xargo missing a hack used by `bootstrap`.
2019-11-17 08:40:34 -05:00
Aaron Hill 08d3fbc76b Support unwinding after a panic
Fixes #658

This commit adds support for unwinding after a panic. It requires a
companion rustc PR to be merged, in order for the necessary hooks to
work properly.

Currently implemented:
* Selecting between unwind/abort mode based on the rustc Session
* Properly popping off stack frames, unwinding back the caller
* Running 'unwind' blocks in Mir terminators

Not yet implemented:
* 'Abort' terminators

This PR was getting fairly large, so I decided to open it for review without
implementing 'Abort' terminator support. This could either be added on
to this PR, or merged separately.
2019-11-17 08:34:25 -05:00
Ralf Jung 64244e9a18 do full deref-check before reborrowing 2019-11-14 10:24:02 +01:00
Ralf Jung 82ef2bb0e2 rename miri-issue to issue-miri for grouping 2019-11-14 10:16:44 +01:00
Steven Gu ca983f5f80 Implments intrinsics::copysignf32 and intrinsics::copysignf64. 2019-11-13 17:41:09 +08:00
bors 9316d90315 Auto merge of #1040 - RalfJung:rustup, r=RalfJung
rustup
2019-11-08 17:49:38 +00:00
Ralf Jung 4c25cf0a87 fix into_iter usage 2019-11-08 12:43:26 +01:00
Ralf Jung 428fc531d8 silence a lint that catches the bug statically 2019-11-07 09:44:00 +01:00
Ralf Jung 57dec5c791 also test Box<self> receiver 2019-11-07 09:17:40 +01:00
Ralf Jung b7a8ce1be0 move blosure tests to closures file; test Box<dyn> a bit more 2019-11-07 09:14:23 +01:00
Ralf Jung 04c12952ca centralize and expand dyn-trait (method receiver) tests 2019-11-07 09:05:11 +01:00
Ralf Jung c77b282695 rename call_drop_ tests to drop_ 2019-11-07 08:56:11 +01:00
Ralf Jung 8b1630cb3b tweak and slightly extend box-box-trait test 2019-11-07 08:55:59 +01:00
Ralf Jung 1f8cb476ea fix test erorr msg 2019-11-06 09:24:26 +01:00
Ralf Jung c4f1d3f488 test that 0 cannot be offset-inbounds by 0 2019-11-06 09:24:26 +01:00
Ralf Jung f4fb330c67 test offset_from 2019-11-05 20:17:35 +01:00