Commit Graph

75314 Commits

Author SHA1 Message Date
Oliver Schneider
1543367624
The const_eval module is no more 2018-03-08 08:34:11 +01:00
Oliver Schneider
57f9e0e468
Move lit_to_const to pattern and remove the now-empty eval module 2018-03-08 08:34:11 +01:00
Oliver Schneider
b38e8af5eb
Remove unused function 2018-03-08 08:34:11 +01:00
Oliver Schneider
0e2da01b91
Move compare_const_vals out of eval 2018-03-08 08:34:11 +01:00
Oliver Schneider
b75a828e2b
Reduce noise in error reporting 2018-03-08 08:34:11 +01:00
Oliver Schneider
8a93972ba9
Use Mutability enum instead of bool 2018-03-08 08:34:11 +01:00
Oliver Schneider
c5d2e178e7
Prefer enum instead of magic numbers 2018-03-08 08:34:10 +01:00
Oliver Schneider
8c2db0ba8c
Stop emitting miri failed in error messages 2018-03-08 08:34:10 +01:00
Oliver Schneider
03ef614f8f
Rename simd shuffle function and adjust comment 2018-03-08 08:34:10 +01:00
Oliver Schneider
bdda1196f2
Use layout::Integer over manual *size resolving 2018-03-08 08:34:10 +01:00
Oliver Schneider
9857eaa4df
Nuke ConstInt and Const*size 2018-03-08 08:34:10 +01:00
Oliver Schneider
3b8d2e0016
Rename ConstVal::to_u128 to to_raw_bits 2018-03-08 08:34:10 +01:00
Oliver Schneider
2f2c90e733
Destructure Rc wrapped ErrorKind in miri 2018-03-08 08:34:10 +01:00
Oliver Schneider
790d131ac2
Add test for #45044 2018-03-08 08:34:09 +01:00
Oliver Schneider
cf056615a8
Add test for attempting to use array indexing for conditional const eval 2018-03-08 08:34:09 +01:00
Oliver Schneider
4f6c557c9d
Wrap the miri ErrorKind in an Rc to reduce work in queries 2018-03-08 08:34:09 +01:00
Oliver Schneider
3d8c4d4fe9
Don't read from zero sized fields 2018-03-08 08:34:09 +01:00
Oliver Schneider
d26ebec81c
Hide the RefCell inside InterpretInterner
It was too easy to get this wrong
2018-03-08 08:34:09 +01:00
Oliver Schneider
37d8b9a86c
Don't borrow the interpret_interner for anything but a direct function call 2018-03-08 08:34:09 +01:00
Oliver Schneider
1d438f87e7
Allow tools (e.g. miri) to enable rust logging 2018-03-08 08:34:09 +01:00
Oliver Schneider
34772aad63
Allow writing mutable statics in miri by adding them to the Machine 2018-03-08 08:34:09 +01:00
Oliver Schneider
d3e2f48c8c
More const eval sanity checks (invalid slice fat pointers) 2018-03-08 08:34:08 +01:00
Oliver Schneider
f14e746b2f
Enable const prop to also evaluate constants, not just literals 2018-03-08 08:34:08 +01:00
Oliver Schneider
4caf6a92f3
Additional sanity assertion 2018-03-08 08:34:08 +01:00
Oliver Schneider
9d9a69d7fa
Print whether the stackframe is for a promoted 2018-03-08 08:34:08 +01:00
Oliver Schneider
7d2d4e3202
Add InterpretInterner to StableHashingContext for AllocId serialization 2018-03-08 08:34:08 +01:00
Oliver Schneider
e0045ab891
Add tests for fixed issues 2018-03-08 08:34:08 +01:00
Oliver Schneider
0595ff1009
Codegen tests 2018-03-08 08:34:08 +01:00
Oliver Schneider
f73d4ac9e0
Implement on disk cache for AllocId 2018-03-08 08:34:08 +01:00
Oliver Schneider
246d05b624
Evaluate 128 lowering lang items manually 2018-03-08 08:34:07 +01:00
Oliver Schneider
b33e4e784e
Fully use miri in trans 2018-03-08 08:34:05 +01:00
Alexander Regueiro
b2b101befc
Prepare for using miri in trans 2018-03-08 08:09:01 +01:00
Alexander Regueiro
4c9b1b13dd
Initial changes to librustc to support const trait fns. 2018-03-08 08:08:14 +01:00
Oliver Schneider
28572d2c1f
Nuke the entire ctfe from orbit, it's the only way to be sure 2018-03-08 08:08:14 +01:00
Oliver Schneider
0b9db5716f
Resolve variant field access 2018-03-08 08:08:14 +01:00
Oliver Schneider
e97089dae3
Move librustc_const_eval to librustc_mir 2018-03-08 08:08:14 +01:00
Oliver Schneider
918b6d7633
Produce instead of pointers 2018-03-08 08:08:14 +01:00
Oliver Schneider
c0574c054c
Add miri errors to the const eval error enum 2018-03-08 08:06:07 +01:00
Oliver Schneider
38b5ddd39b
Add a variant to ConstVal for storing miri results 2018-03-08 08:06:07 +01:00
John Kåre Alsaker
728c16c88f Move REGISTERED_DIAGNOSTICS to a ParseSess field 2018-03-08 05:30:43 +01:00
John Kåre Alsaker
2aa19feeb9 Add with_lock, with_read_lock and with_write_lock 2018-03-08 05:30:43 +01:00
Corey Farwell
08a0182536 Run rustfmt on src/librustc_data_structures/graph/mod.rs. 2018-03-07 20:10:01 -05:00
Corey Farwell
3e60d996a0 Replace iterator structures with impl Trait. 2018-03-07 20:09:32 -05:00
Alex Crichton
4bde92c176 rustc: Fix ICE with #[target_feature] on module
This commit fixes an ICE in rustc when `#[target_feature]` was applied to items
other than functions due to the way the feature was validated.
2018-03-07 17:09:09 -08:00
bors
cdcca78646 Auto merge of #48832 - alexcrichton:fix-skip-cargo, r=alexcrichton
appveyor: Fix a switched condition for cargotest

It was intended that EXCLUDE_CARGO *doesn't* run cargotest!
2018-03-08 01:06:41 +00:00
Alex Crichton
893e499e86 appveyor: Fix a switched condition for cargotest
It was intended that EXCLUDE_CARGO *doesn't* run cargotest!
2018-03-07 17:00:27 -08:00
bors
5430c0c5c0 Auto merge of #48806 - alexcrichton:rollup, r=alexcrichton
Rollup of 9 pull requests

- Successful merges: #48511, #48549, #48618, #48624, #48651, #48698, #48778, #48787, #48802
- Failed merges: #48669, #48710
2018-03-07 21:59:15 +00:00
Alex Crichton
16cc9ce8a2 Fix an error in the appveyor config 2018-03-07 13:57:17 -08:00
Alex Crichton
7c050445a9 Merge branch 'shard-msvc-more' of https://github.com/alexcrichton/rust into rollup 2018-03-07 11:47:59 -08:00
Alex Crichton
a919efad2e rustc: Migrate to termcolor crate from term
This crate moves the compiler's error reporting to using the `termcolor` crate
from crates.io. Previously rustc used a super-old version of the `term` crate
in-tree which is basically unmaintained at this point, but Cargo has been using
`termcolor` for some time now and tools like `rg` are using `termcolor` as well,
so it seems like a good strategy to take!

Note that the `term` crate remains in-tree for libtest. Changing libtest will be
a bit tricky due to how the build works, but we can always tackle that later.

cc #45728
2018-03-07 07:30:33 -08:00