76903 Commits

Author SHA1 Message Date
QuietMisdreavus
43301e55a1 add target features when extracting and running doctests 2018-04-10 19:22:11 -05:00
memoryleak47
a648267dff fixed typo 2018-04-11 01:34:10 +02:00
Felix S. Klock II
746d63a203 Checkpoint the current status of NLL on ui tests via compare-mode=nll. 2018-04-11 00:38:35 +02:00
Felix S. Klock II
1c8d2bdda1 Workaround rust-lang/rust#49855 by forcing rustc_error in any mode, including NLL.
NOTE: I was careful to make each change in a manner that preserves the
existing diagnostic output (usually by ensuring that no lines were
added or removed). This means that the resulting source files are not
as nice to read as they were at the start. But we will have to review
these cases by hand anyway as follow-up work, so cleanup could
reasonably happen then (or not at all).
2018-04-11 00:20:05 +02:00
Amanieu d'Antras
5e5374677a Fix "fp" feature for AArch64 2018-04-10 22:34:15 +01:00
varkor
6e0089ea77 Do not uppercase-lint no_mangle statics 2018-04-10 22:30:23 +01:00
Alex Crichton
6d7cfd4f1a proc_macro: Avoid cached TokenStream more often
This commit adds even more pessimization to use the cached `TokenStream` inside
of an AST node. As a reminder the `proc_macro` API requires taking an arbitrary
AST node and transforming it back into a `TokenStream` to hand off to a
procedural macro. Such functionality isn't actually implemented in rustc today,
so the way `proc_macro` works today is that it stringifies an AST node and then
reparses for a list of tokens.

This strategy unfortunately loses all span information, so we try to avoid it
whenever possible. Implemented in #43230 some AST nodes have a `TokenStream`
cache representing the tokens they were originally parsed from. This
`TokenStream` cache, however, has turned out to not always reflect the current
state of the item when it's being tokenized. For example `#[cfg]` processing or
macro expansion could modify the state of an item. Consequently we've seen a
number of bugs (#48644 and #49846) related to using this stale cache.

This commit tweaks the usage of the cached `TokenStream` to compare it to our
lossy stringification of the token stream. If the tokens that make up the cache
and the stringified token stream are the same then we return the cached version
(which has correct span information). If they differ, however, then we will
return the stringified version as the cache has been invalidated and we just
haven't figured that out.

Closes #48644
Closes #49846
2018-04-10 13:05:13 -07:00
bors
0b72d48f8e Auto merge of #48914 - gaurikholkar:e0389, r=nikomatsakis
Modify compile-fail/E0389 error message WIP

This fixes #47388

cc @nikomatsakis @estebank

r? @nikomatsakis

Certain ui tests were failing locally. I'll check if the same happens here too.
2018-04-10 19:00:19 +00:00
Alec Mocatta
18e9532098
Add --enable-debug flag to musl CI build script
Building for x86_64-unknown-linux-musl currently results in an executable lacking debug information for musl libc itself. If you request a backtrace in GDB while control flow is within musl – including sycalls made by musl – the result looks like:

#0  0x0000000000434b46 in __cp_end ()
#1  0x0000000000432dbd in __syscall_cp_c ()
#2  0x0000000000000000 in ?? ()

i.e. not very helpful. Adding --enable-debug resolves this, and --enable-optimize re-enables optimisations which default to off given the previous flag.
2018-04-10 18:44:47 +01:00
bors
b2a7b94b8e Auto merge of #49386 - GuillaumeGomez:fix-path-attribute, r=eddyb
Add tcx in item_body_nested_bodies

Fixes #47391.

r? @eddyb
2018-04-10 12:58:27 +00:00
John Kåre Alsaker
006f9b2f56 Make Session.injected_panic_runtime thread-safe 2018-04-10 14:40:26 +02:00
John Kåre Alsaker
dacf9ba00f Make Session.injected_allocator and Session.allocator_kind thread-safe 2018-04-10 14:40:26 +02:00
John Kåre Alsaker
66488a50f9 Make Session.dependency_formats thread-safe 2018-04-10 14:40:26 +02:00
John Kåre Alsaker
cbf8ad4a40 Make Session.crate_types thread-safe 2018-04-10 14:40:26 +02:00
John Kåre Alsaker
046af1c710 Make sure Session.plugin_attributes is only used on one thread 2018-04-10 14:40:26 +02:00
John Kåre Alsaker
0e51d48324 Make sure Session.plugin_llvm_passes is only used on one thread 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
7d33d1a84e Make Session.has_global_allocator thread-safe 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
73b26f7f51 Make sure Session.imported_macro_spans is only used on one thread 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
271c8d362a Make Session.crate_disambiguator thread-safe 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
8380539ecb Make sure Session.next_node_id is only used on one thread 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
b0c7bdaa97 Make Session.code_stats thread-safe 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
904e2b6b35 Make Session::features_untracked thread-safe 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
a46f05978a Disable optimization fuel when using multiple threads 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
a23e90a6de Remove Cell from const_eval_stack_frame_limit and const_eval_step_limit 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
753cd9a12c Make sure Session.incr_comp_session is only used on one thread 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
e82b6c42b4 Make Session.plugin_registrar_fn and Session.derive_registrar_fn thread-safe 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
27adb31fcc Combine Session.entry_fn and Session.entry_type and make them thread-safe 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
7aa7198b4b Make PerfStats thread-safe and remove unused fields 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
05c4ea47fe Remove derive_macros 2018-04-10 14:40:25 +02:00
John Kåre Alsaker
cf3b7909fa Make recursion_limit and type_length_limit thread-safe 2018-04-10 14:39:57 +02:00
John Kåre Alsaker
472b416592 Querify all_traits 2018-04-10 14:39:57 +02:00
John Kåre Alsaker
49a2b80877 Make sure the lint store is only used on one thread 2018-04-10 14:39:33 +02:00
John Kåre Alsaker
26f16e85ff Add a Once type for values which are only written once 2018-04-10 14:39:33 +02:00
John Kåre Alsaker
60d0cbe532 Add insert_same extension to HashMap 2018-04-10 14:39:33 +02:00
John Kåre Alsaker
e5a602e364 Add OneThread which only allows its inner value to be used in one thread 2018-04-10 14:39:33 +02:00
varkor
7575d96a98 Reformat trans skip condition 2018-04-10 11:12:21 +01:00
dragan.mladjenovic
0a94344fa7 Add ignores for powerpc and s390x to target-feature-wrong.rs and update references. 2018-04-10 11:26:47 +02:00
bors
67712d7945 Auto merge of #49390 - Zoxc:sync-syntax, r=michaelwoerister
More thread-safety changes

r? @michaelwoerister
2018-04-10 09:00:27 +00:00
dragan.mladjenovic
1e5145db9f Update ui test references. 2018-04-10 09:11:21 +02:00
dragan.mladjenovic
dab317f04f Small nits to make couple of tests pass on mips targets. 2018-04-10 09:11:21 +02:00
bors
a1c21ed7e2 Auto merge of #49504 - GuillaumeGomez:doc-all-types, r=QuietMisdreavus
Add page to list all crate's items

r? @QuietMisdreavus
2018-04-10 06:23:52 +00:00
bors
5d7f892356 Auto merge of #49258 - zackmdavis:not_going_to_recover, r=petrochenkov
suggest `!` for erroneous identifier `not`

![not_recovery](https://user-images.githubusercontent.com/1076988/37753255-3b669c42-2d59-11e8-9071-efad8eaf3086.png)

This supersedes #48858.

r? @petrochenkov
2018-04-10 03:27:43 +00:00
Shotaro Yamada
378bd4967c Disallow impl Trait in unsupported position 2018-04-10 11:05:14 +09:00
bors
a8a8d6b5bf Auto merge of #49435 - tmandry:rule-implied-bound-from-trait, r=nikomatsakis
chalkify: Implement lowering rule Implied-Bound-From-Trait

For #49177.

TODO:
- [x] Implement where clauses besides trait and projection predicates
- [x] Is the output of the `lower_trait_higher_rank` test correct?
- [ ] Remove `Self::Trait` from the query `tcx.predicates_of(<trait_id>).predicates`
- [ ] Consider moving tests to compile-fail to make them more manageable
2018-04-10 00:32:54 +00:00
bors
880fbd7c4e Auto merge of #49811 - alexcrichton:fix-android, r=SimonSapin
std: Be sure to modify atomics in tests

See #49775 for some more information but it looks like this is working around an
LLVM bug for the time being.

Closes #49775
2018-04-09 21:41:10 +00:00
Santiago Pastorino
2c79f6458e
rustfmt explain_borrow/mod 2018-04-09 17:35:32 -03:00
Santiago Pastorino
2e87dbbde1
Fix ICE when a borrow is used after drop
ht @nickfrostatx for the first initial patch
2018-04-09 17:35:28 -03:00
Alex Crichton
69c3830c44 std: Be sure to modify atomics in tests
See #49775 for some more information but it looks like this is working around an
LLVM bug for the time being.

Closes #49775
2018-04-09 12:57:03 -07:00
Hero
f62c210d90 add regression test for issue #16223: fixed by NLL 2018-04-09 20:34:09 +02:00
gaurikholkar
c792d1e0c1 tidy fixes 2018-04-09 23:12:13 +05:30