Commit Graph

75179 Commits

Author SHA1 Message Date
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
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
7f465abd4f appveyor: Shard more slow MSVC builders
Take two more slow builders and split them in two to get them under 2 hrs
2018-03-07 07:29:44 -08:00
Alex Crichton
a752453098 Merge branch 'update-llvm' of https://github.com/alexcrichton/rust into update-cargo 2018-03-07 07:13:49 -08:00
Alex Crichton
b5bcb9a410 Merge branch 'incr_attr_queries' of https://github.com/wesleywiser/rust into update-cargo 2018-03-07 07:13:21 -08:00
Alex Crichton
5a5e941014 Merge branch 'metadata-send-sync' of https://github.com/Zoxc/rust into update-cargo 2018-03-07 07:13:10 -08:00
Alex Crichton
a8eaabcdba Update cargo lock 2018-03-07 07:11:59 -08:00
Alex Crichton
7bc64684c3 Merge branch 'compiletest-update' of https://github.com/alexcrichton/rust into update-cargo 2018-03-07 07:11:57 -08:00
Alex Crichton
8121db3340 Merge branch 'refactor-select' of https://github.com/aravind-pg/rust into update-cargo 2018-03-07 07:11:47 -08:00
Alex Crichton
53cda8e9eb Merge branch 'bump_installer' of https://github.com/Eijebong/rust into update-cargo 2018-03-07 07:11:33 -08:00
Alex Crichton
52af55808c Rollup merge of #48802 - frewsxcv:frewsxcv-rm-python-zigg, r=alexcrichton
Remove unused 'src/etc/ziggurat_tables.py' Python script.

This Python script was used to generate a `ziggurat_tables.rs` file in
librand, but librand was moved out of the repo.

* https://github.com/rust-lang/rust/commits/master/src/librand/distributions/ziggurat_tables.rs
* https://github.com/rust-lang-nursery/rand/blob/master/utils/ziggurat_tables.py
2018-03-07 07:09:53 -08:00
Alex Crichton
05ebc19de3 Rollup merge of #48787 - mbrubeck:cloned, r=joshtriplett
Stabilize option_ref_mut_cloned

Closes #43738.
2018-03-07 07:09:53 -08:00
Alex Crichton
0e6df533d4 Rollup merge of #48778 - sinkuu:rls_crash_tuple_struct, r=nrc
Fix save-analysis generation crash with invalid tuple access

Reproduction:

```rust
fn invalid_tuple_struct_accessing() {
    bar.0;
}
```
```
error[E0425]: cannot find value `bar` in this scope
 --> test.rs:2:5
  |
2 |     bar.0;
  |     ^^^ not found in this scope

error[E0601]: main function not found

error: internal compiler error: librustc_save_analysis/dump_visitor.rs:1678: Expected struct or tuple type, found TyError
 --> test.rs:2:5
  |
2 |     bar.0;
  |     ^^^^^

thread 'rustc' panicked at 'Box<Any>', librustc_errors/lib.rs:482:9
note: Run with `RUST_BACKTRACE=1` for a backtrace.
```

This should fix a crash in RLS when editing such code. cc @nrc
2018-03-07 07:09:52 -08:00
Alex Crichton
584a28f0c0 Rollup merge of #48698 - ishitatsuyuki:burn-equate, r=nikomatsakis
Remove ty::Predicate::Equate and ty::EquatePredicate (dead code)

r? @nikomatsakis

I also killed the EquatePredicate subsystem. Does it look fine?

Close #48670
2018-03-07 07:09:52 -08:00
Alex Crichton
62c8e255d1 Rollup merge of #48651 - PramodBisht:issues/48425, r=oli-obk
Fixed #48425 : Various functions taking a `TyCtxt` and a `Span` should be taking a `TyCtxtAt`

Hi @oli-obk
I have done some code refactoring to fix #48425, Please let me know if anything else is required on this.
2018-03-07 07:09:52 -08:00
Alex Crichton
de3a63d663 Rollup merge of #48618 - scottmcm:elaborate-exitcode, r=alexcrichton
Better docs and associated SUCCESS/FAILURE for process::ExitCode

Follow-up to https://github.com/rust-lang/rust/pull/48497#discussion_r170676525, since that PR was the minimal thing to unblock https://github.com/rust-lang/rust/issues/48453#issuecomment-368155082.

r? @nikomatsakis
2018-03-06 23:38:06 -08:00
Alex Crichton
db824b2509 Update compiletest's dependencies
Drop rustc-serialize, add winapi 0.3 and Serde!
2018-03-06 18:39:12 -08:00
Alex Crichton
a06aed1df7
Rollup merge of #48511 - GuillaumeGomez:rustdoc-resource-suffix, r=QuietMisdreavus
Add resource-suffix option for rustdoc

Alternative version of #48442.

cc @onur

r? @QuietMisdreavus
2018-03-06 20:01:05 -06:00
Wesley Wiser
e0f752763e Add caching for trans_fn_attrs query
Part of #47320
2018-03-06 20:19:39 -05:00
Wesley Wiser
368e586a3d Add linkage to TransFnAttrs
Part of #47320
2018-03-06 20:19:39 -05:00
Wesley Wiser
07890c5c59 Add target_features to TransFnAttrs
Part of #47320
2018-03-06 20:18:51 -05:00
Wesley Wiser
39f9d23b65 Add flag for rustc_std_internal_symbol attribute
Part of #47320
2018-03-06 20:18:51 -05:00