Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing out updating fork to rust base #1

Merged
merged 264 commits into from
May 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
264 commits
Select commit Hold shift + click to select a range
a5d103f
record upvar into GeneratorInteriorTypeCause
csmoe May 5, 2020
d4bdcfd
don't record upvars into generator interior
csmoe May 6, 2020
382a963
filter upvars that cause trait obligation
csmoe May 6, 2020
d2e5a8e
bless issue-70818 test case
csmoe May 6, 2020
c9e1465
checking on either interior or upvar
csmoe May 7, 2020
1899afa
rustc-book: Document `-Z strip=val` option
petrochenkov May 11, 2020
0dcde02
Ignore arguments when looking for `IndexMut` for subsequent `mut` obl…
estebank May 10, 2020
5bfb7e7
Add target thumbv7a-uwp-windows-msvc
bdbai May 12, 2020
ff9646c
Stabilize process_set_argv0 feature for Unix
jsgf May 12, 2020
a3f30bb
Don't `type_of` on trait assoc ty without default
estebank May 12, 2020
a23dd0d
Replace fcntl-based file lock with flock
nbdd0121 May 13, 2020
b96a1a7
remove broken link
tshepang May 13, 2020
49eb35c
linker: More systematic handling of CRT objects
petrochenkov Apr 29, 2020
0148a7f
InvalidUninitBytes: Track more info about access
divergentdave May 14, 2020
4af04cb
Continue lowering for unsupported async generator instead of returnin…
marmeladema May 16, 2020
6b96d17
Dumb NRVO
ecstatic-morse May 14, 2020
966df3e
Bless MIR tests that inline functions qualifying for NRVO
ecstatic-morse May 15, 2020
2cba138
Add simple NRVO test
ecstatic-morse May 15, 2020
e369d7f
Expand comment with possible improvements
ecstatic-morse May 16, 2020
c38283d
Test that Miri can handle MIR with NRVO applied
ecstatic-morse May 16, 2020
b19d5c0
Name return place in debuginfo if it is a user variable
ecstatic-morse May 16, 2020
8c71011
Disable MIR optimization for alignment codegen tests
ecstatic-morse May 16, 2020
2fe1170
`ret` has been optimized away in debuginfo test
ecstatic-morse May 16, 2020
e65d49d
Fix incorrect ordering
Nadrieril May 6, 2020
4a1772e
Factor the code that generates TyErrs
Nadrieril Apr 13, 2020
a5294b6
We already handle arrays of unknown length correctly
Nadrieril Apr 13, 2020
160eebe
Only need TyErr for uninhabited types
Nadrieril Apr 13, 2020
76dea86
Factor out a struct that holds subfields of a pattern
Nadrieril May 9, 2020
3551f1a
Use Fields as output to specialize_one_pattern
Nadrieril May 9, 2020
c3d3727
Clarify specialize_one_pattern
Nadrieril May 9, 2020
70b3872
Make all field-handling go through Fields
Nadrieril May 9, 2020
59fa40a
Filter out fields that should not be seen
Nadrieril May 9, 2020
8f08b16
Small allocation improvement
Nadrieril May 9, 2020
e5a2cd5
We don't use tyerr anymore
Nadrieril May 9, 2020
079400c
Fix bug just discovered
Nadrieril May 9, 2020
4f7a378
typo
Nadrieril May 9, 2020
aff073e
Cache len in Fields
Nadrieril May 17, 2020
1deaaa6
Don't unleash NRVO const-eval test
ecstatic-morse May 17, 2020
856cd66
Test that NRVO elides the call to `memcpy`
ecstatic-morse May 17, 2020
c6f0947
Improve comments
Nadrieril May 17, 2020
4b7c3d8
Make `fold` standalone.
nnethercote May 13, 2020
c2abf8f
Tweak `partition`, `unzip`, `try_find`.
nnethercote May 14, 2020
f4b9dc3
Tiny Vecs are dumb.
nnethercote May 17, 2020
959bd48
Add some more `rfold` implementations.
nnethercote May 17, 2020
62d5784
Add RISC-V target features
Amanieu Mar 1, 2020
989edf6
Add inline asm register definitions to librustc_target
Amanieu Jan 22, 2020
813a9fc
Add asm! to AST
Amanieu Jan 22, 2020
a0adf53
Implement asm! in librustc_builtin_macros
Amanieu Feb 12, 2020
d5b1501
Add asm! to HIR
Amanieu Feb 12, 2020
ec1ad61
Implement AST lowering for asm!
Amanieu Feb 12, 2020
10510b5
HIR passes for asm!
Amanieu Feb 13, 2020
1e7b246
Add asm! to MIR
Amanieu Feb 14, 2020
342a64c
Check that asm const operands are actually constants
Amanieu Feb 17, 2020
abed45f
Implement asm! codegen
Amanieu Feb 17, 2020
8ab0f2d
Add tests for asm!
Amanieu Feb 20, 2020
ff97db1
Apply review feedback
Amanieu Mar 19, 2020
93e2946
Un-deprecate asm! macro
Amanieu Apr 24, 2020
7dfa486
Add support for high byte registers on x86
Amanieu Apr 28, 2020
19a0d14
Add notes about functions that are not currently used
Amanieu May 1, 2020
3590f4c
Work around more LLVM limitations
Amanieu May 1, 2020
0882254
Implement att_syntax option
Amanieu May 1, 2020
9ac4ef4
Update llvm-project submodule
Amanieu May 1, 2020
ddcdea4
The h modifier is only supported by reg_abcd
Amanieu May 6, 2020
330bdf8
Disable asm tests on system llvm
Amanieu May 6, 2020
a656349
Move InlineAsmTemplatePiece and InlineAsmOptions to librustc_ast
Amanieu May 6, 2020
1c6a935
Handle InlineAsm in clippy
Amanieu May 6, 2020
f10803c
Minor fixes
Amanieu May 7, 2020
2aa9aaa
Add borrow-check test
Amanieu May 8, 2020
6ba9696
Add documentation for asm!
Amanieu May 8, 2020
ac1fb93
Fix feature gate tests
Amanieu May 8, 2020
46db0df
Fix tests
Amanieu May 8, 2020
9215ead
Fix handling on InlineAsm for the unconditional recursion lint.
Amanieu May 8, 2020
6f8be8c
Fix docs
Amanieu May 8, 2020
cecffdc
Fix const handling and add tests for const operands
Amanieu May 11, 2020
3233565
Mark asm unstable book doctests as allow_fail since they don't work w…
Amanieu May 11, 2020
5a20f39
Update compiler_builtins to 0.1.28
Amanieu May 12, 2020
62ff543
Simplify register name output for x86
Amanieu May 14, 2020
32471f4
Update LLVM submodule
Amanieu May 18, 2020
09efea5
Update unstable book documentation with the latest RFC text
Amanieu May 18, 2020
cc91041
Always generated object code for `#![no_builtins]`
alexcrichton May 18, 2020
4c6510b
Typo
Nadrieril May 18, 2020
5da7430
correctly handle uninferred consts
lcnr May 9, 2020
159f48c
Don't mention function pointers
Nadrieril May 18, 2020
ef3f2c0
Fix ICE in -Zsave-analysis
doctorn May 18, 2020
c8443bb
Update cargo
ehuss May 18, 2020
5943351
Auto merge of #68717 - petrochenkov:stabexpat, r=varkor
bors May 19, 2020
914adf0
Auto merge of #71447 - cuviper:unsized_cow, r=dtolnay
bors May 19, 2020
aab144f
update select docs
lcnr Apr 2, 2020
9f7c5a8
update libcore, add `discriminant_kind` lang-item
lcnr Apr 5, 2020
b6975bf
auto impl`DiscriminantKind` for every type
lcnr Apr 5, 2020
25930e4
update codegen of `discriminant_value`
lcnr Apr 5, 2020
3188ca7
update `discriminant_value` usage in the compiler
lcnr Apr 5, 2020
ff2940a
update `discriminant_value` usage in tests
lcnr Apr 5, 2020
d6cb540
add tests for enum discriminants
lcnr Apr 5, 2020
08b9b97
add test for repr(128) enum derives
lcnr Apr 28, 2020
5b65c0f
Assert doc wording
kornelski May 19, 2020
56c494a
Clean up E0593 explanation
GuillaumeGomez May 19, 2020
4c48f5a
Rollup merge of #71886 - t-rapp:tr-saturating-funcs, r=dtolnay
Dylan-DPC May 19, 2020
12040cf
Rollup merge of #72066 - lcnr:const-type-info-err, r=varkor
Dylan-DPC May 19, 2020
79ac73a
Rollup merge of #72068 - estebank:mut-deref-hack, r=oli-obk
Dylan-DPC May 19, 2020
8178808
Rollup merge of #72338 - doctorn:trait-object-ice, r=ecstatic-morse
Dylan-DPC May 19, 2020
745ca2a
Rollup merge of #72344 - kornelski:assertdoc, r=Mark-Simulacrum
Dylan-DPC May 19, 2020
42acd90
Auto merge of #72346 - Dylan-DPC:rollup-vp418xs, r=Dylan-DPC
bors May 19, 2020
fc4c9a6
Make intra-link resolve links for both trait and impl items
May 19, 2020
ed84780
Fix going back in history to a search result page on firefox
GuillaumeGomez May 16, 2020
672b272
Auto merge of #72227 - nnethercote:tiny-vecs-are-dumb, r=Amanieu
bors May 19, 2020
d7e1d5f
Make caveat more precise
Nadrieril May 19, 2020
1cfdc7e
Update dlmalloc dependency to 0.1.4
Amanieu May 19, 2020
3a7dfda
Auto merge of #69171 - Amanieu:new-asm, r=nagisa,nikomatsakis
bors May 19, 2020
84a4421
Suggest fixes for `use foo::self`
mibac138 May 3, 2020
d190e10
Add error recovery for `use foo::self`
mibac138 May 3, 2020
46159b3
split_inclusive: add tracking issue number (72360)
golddranks May 19, 2020
aaeea7f
Alter wording for `use foo::self` help
mibac138 May 19, 2020
508e3f2
Remove unused dependencies
jsgf May 17, 2020
9b2b8a5
Break tokens before checking if they are 'probably equal'
Aaron1011 May 17, 2020
fdc4522
Remove unused `StableHashingContext::node_to_hir_id` method
marmeladema May 19, 2020
abc2364
Implement `#[ffi_const]` and `#[ffi_pure]` function attributes
neocturne Apr 13, 2020
a7d7f0b
Add tests for `#[ffi_const]` and `#[ffi_pure]` function attributes
neocturne Apr 13, 2020
a114a23
Document `#[ffi_const]` and `#[ffi_pure]` function attributes in unst…
neocturne Apr 13, 2020
4a8ccdc
Use a fixed-point iteration when breaking tokens
Aaron1011 May 19, 2020
9eb0399
Adjust the zero check in `RawVec::grow`.
nnethercote May 19, 2020
daea09c
Add `MaybeInitializedLocals` dataflow analysis
ecstatic-morse May 4, 2020
fc964c5
Clean up generator live locals analysis
ecstatic-morse May 6, 2020
3508592
Update tests with new generator sizes
ecstatic-morse May 6, 2020
157631b
Remove `MaybeRequiresStorage`
ecstatic-morse May 6, 2020
90da274
Add comment explaining the extra `record_conflicts`
ecstatic-morse May 6, 2020
d8e0807
Add comment for strange conditional
ecstatic-morse May 8, 2020
def207e
Look for storage conflicts before terminator effect
ecstatic-morse May 8, 2020
dd49c6f
Document assumptions made in generator transform for analyses
ecstatic-morse May 13, 2020
3ff9317
Document why we don't look at storage liveness
ecstatic-morse May 13, 2020
564ebbb
Use fcntl-based file lock for non-Linux unix
nbdd0121 May 20, 2020
692a26e
Auto merge of #72339 - ehuss:update-cargo, r=ehuss
bors May 20, 2020
64ad709
Auto merge of #71769 - petrochenkov:crto, r=cuviper
bors May 20, 2020
f182c4a
Auto merge of #71923 - csmoe:issue-70818, r=tmandry
bors May 20, 2020
e9ae64c
Improve E0599 explanation
GuillaumeGomez May 20, 2020
f5b4957
FIX - Char documentation for unexperienced users
May 20, 2020
8ac1699
[self-profling] Record the cgu name when doing codegen for a module
wesleywiser May 20, 2020
14c4391
Rollup merge of #71863 - mibac138:self-import, r=estebank
Dylan-DPC May 20, 2020
5c52f9f
Rollup merge of #72139 - nnethercote:standalone-fold, r=cuviper
Dylan-DPC May 20, 2020
68fd4e0
Rollup merge of #72275 - marmeladema:fix-issue-71104-2, r=ecstatic-morse
Dylan-DPC May 20, 2020
2bfbc05
Rollup merge of #72361 - golddranks:split_inclusive_add_tracking_issu…
Dylan-DPC May 20, 2020
c93ddbf
Rollup merge of #72364 - jsgf:remove-unused-deps, r=Mark-Simulacrum
Dylan-DPC May 20, 2020
51f80b7
Rollup merge of #72366 - nnethercote:tiny-vecs-are-dumb-followup, r=A…
Dylan-DPC May 20, 2020
cad8fe9
rename `Predicate` to `PredicateKind`, introduce alias
lcnr May 11, 2020
034c25f
make `to_predicate` take a `tcx` argument
nikomatsakis May 7, 2020
f316479
introduce newtype'd `Predicate<'tcx>`
lcnr May 11, 2020
57746f9
intern `PredicateKind`
lcnr May 11, 2020
6544d7b
change `Predicate::kind` to return a reference
lcnr May 11, 2020
3dd830b
ptr eq for `Predicate`
lcnr May 11, 2020
2fd504c
Suggest installing VS Build Tools in more situations
ChrisDenton May 17, 2020
6778c7a
Show default values for debug-assertions & debug-assertions-std
tmiasko May 20, 2020
2d4d0db
Workaround MSYS2/chocolatey issue again
mati865 May 20, 2020
8858a43
Auto merge of #72384 - mati865:ci-fix, r=pietroalbini
bors May 20, 2020
9f12823
Update LLVM submodule
nikic Dec 31, 2019
b2bf0cd
Set CMAKE_CXX_STANDARD when compiling LLD
nikic May 19, 2020
ed1297c
rustc_target: Avoid an inappropriate use of `post_link_objects`
petrochenkov May 17, 2020
ee7a35a
Rename some types describing native libraries
petrochenkov May 17, 2020
529d488
Factor out `NativeLibKind::Dylib` from `NativeLibKind::Unspecified`
petrochenkov May 17, 2020
8dbe4d9
Eliminate some `Option<NativeLibKind>`s
petrochenkov May 17, 2020
0aa6751
Auto merge of #72378 - Dylan-DPC:rollup-m87bp2d, r=Dylan-DPC
bors May 20, 2020
633293f
Fix tests
Aaron1011 May 20, 2020
c7813ff
llvm: Expose tiny code model to users
petrochenkov May 20, 2020
dc3de7c
Add fast-path optimization for Ipv4Addr::fmt
Lucretiel May 20, 2020
82911b3
Auto merge of #67759 - nikic:llvm-10, r=Mark-Simulacrum
bors May 20, 2020
9c97b3c
Move the target libLLVM to llvm-tools-preview
cuviper May 8, 2020
a05acbf
Comment flock usage on Linux
nbdd0121 May 21, 2020
963bf52
Auto merge of #70705 - lcnr:generic_discriminant, r=nikomatsakis
bors May 21, 2020
f509862
Bail out if new return place has different type than old
ecstatic-morse May 21, 2020
7f79e98
Auto merge of #72205 - ecstatic-morse:nrvo, r=oli-obk
bors May 21, 2020
20b499c
Fix anchor display when hovering impl
GuillaumeGomez May 21, 2020
25028ad
Rollup merge of #71854 - eduardosm:assoc-char-funcs-and-consts, r=Ama…
RalfJung May 21, 2020
e2c05d1
Rollup merge of #72111 - petrochenkov:docstrip, r=ehuss
RalfJung May 21, 2020
e279bd5
Rollup merge of #72272 - GuillaumeGomez:fix-back-on-page-with-search-…
RalfJung May 21, 2020
85d712c
Rollup merge of #72296 - ChrisDenton:msvc-link-check, r=petrochenkov
RalfJung May 21, 2020
4f9fe91
Rollup merge of #72365 - marmeladema:remove-node_to_hir_id, r=ecstati…
RalfJung May 21, 2020
0e88712
Rollup merge of #72371 - Elrendio:char_documentation, r=steveklabnik
RalfJung May 21, 2020
e5a4550
Rollup merge of #72397 - petrochenkov:tiny, r=Amanieu
RalfJung May 21, 2020
06c9fef
Auto merge of #72422 - RalfJung:rollup-u81z4mw, r=RalfJung
bors May 21, 2020
94aa028
fix discriminant sign extension
RalfJung May 21, 2020
148c125
Auto merge of #71718 - NeoRaider:ffi_const_pure, r=Amanieu
bors May 21, 2020
a81e9a7
Improve documentation of `slice::from_raw_parts`
danielhenrymantilla May 19, 2020
67e0755
Typo
RalfJung May 21, 2020
9310e3b
Auto merge of #71930 - Nadrieril:exhaustiveness-remove-tyerr, r=varkor
bors May 21, 2020
d0a48d1
rustllvm: Fix warnings about unused function parameters
petrochenkov May 21, 2020
22438fc
Rollup merge of #72055 - lcnr:predicate-kind, r=nikomatsakis
RalfJung May 21, 2020
dc65fd4
Rollup merge of #72149 - estebank:icemation, r=eddyb
RalfJung May 21, 2020
3d5f130
Rollup merge of #72347 - xliiv:72340-impl-for-default, r=GuillaumeGomez
RalfJung May 21, 2020
261505a
Rollup merge of #72350 - danielhenrymantilla:doc_warn_against_adjacen…
RalfJung May 21, 2020
503a2fd
Rollup merge of #72382 - tmiasko:config-toml-debug-assertions, r=niko…
RalfJung May 21, 2020
fc729d0
Rollup merge of #72421 - GuillaumeGomez:fix-impl-hover-anchor, r=kinn…
RalfJung May 21, 2020
74b5c50
Rollup merge of #72425 - RalfJung:discr-sign-ext, r=nikomatsakis
RalfJung May 21, 2020
93abdd7
Add some teams to prioritization exclude_labels
spastorino May 20, 2020
4a10f6c
Enable ARM TME (Transactional Memory Extensions)
vertexclique May 21, 2020
d9417b3
Auto merge of #72433 - RalfJung:rollup-srft8nx, r=RalfJung
bors May 21, 2020
e9fed69
Impl Ord for proc_macro::LineColumn
dtolnay May 22, 2020
5a4bf44
Add test for proc_macro::LineColumn
dtolnay May 22, 2020
458a3e7
Auto merge of #71956 - ecstatic-morse:remove-requires-storage-analysi…
bors May 22, 2020
6a3aae8
Add flag to open docs: x.py doc --open
dtolnay May 22, 2020
c60b675
Auto merge of #72000 - cuviper:dist-llvm, r=Mark-Simulacrum
bors May 22, 2020
407958a
Replace obligation construction with deref_steps()
ldm0 May 17, 2020
a819f42
Rollup merge of #71607 - RalfJung:pin-drop-panic, r=nikomatsakis
RalfJung May 22, 2020
ee0c7d4
Rollup merge of #72125 - tshepang:broken-link, r=nikomatsakis
RalfJung May 22, 2020
715f1e8
Rollup merge of #72133 - bdbai:master, r=joshtriplett
RalfJung May 22, 2020
0eba152
Rollup merge of #72304 - petrochenkov:sgxunwind, r=nikomatsakis,jethr…
RalfJung May 22, 2020
afbbb86
Rollup merge of #72309 - petrochenkov:linkunspec, r=matthewjasper
RalfJung May 22, 2020
64beaff
Rollup merge of #72438 - vertexclique:vcq/aarch64-tme-features, r=Ama…
RalfJung May 22, 2020
de6060b
Auto merge of #72458 - RalfJung:rollup-g1w1vws, r=RalfJung
bors May 22, 2020
e776121
Using `!span.from_expansion()` instead of snippets
kper May 22, 2020
9ff5020
Add core::future::IntoFuture
yoshuawuyts May 22, 2020
2059112
Rollup merge of #71610 - divergentdave:InvalidUndefBytes-range, r=Ral…
RalfJung May 22, 2020
a8018e2
Rollup merge of #72161 - nbdd0121:master, r=cuviper
RalfJung May 22, 2020
62d4e9e
Rollup merge of #72306 - Aaron1011:feature/turbo-spacing, r=petrochenkov
RalfJung May 22, 2020
1119421
Rollup merge of #72325 - alexcrichton:ignore-linker-plugin-lto, r=nne…
RalfJung May 22, 2020
a9ca1ec
Auto merge of #72460 - RalfJung:rollup-28fs06y, r=RalfJung
bors May 22, 2020
6e5cb37
Clean up E0600 explanation
GuillaumeGomez May 22, 2020
985ebf2
Clean up E0590 explanation
GuillaumeGomez May 15, 2020
fc0675b
Allow using `Self::` in doc
May 22, 2020
9c34481
Rollup merge of #71829 - kper:issue71136, r=matthewjasper
RalfJung May 22, 2020
53d0046
Rollup merge of #72123 - jsgf:stabilize-arg0, r=sfackler
RalfJung May 22, 2020
02eb002
Rollup merge of #72235 - GuillaumeGomez:cleanup-E0590, r=Dylan-DPC
RalfJung May 22, 2020
f7ed13b
Rollup merge of #72345 - GuillaumeGomez:cleanup-e0593, r=Dylan-DPC
RalfJung May 22, 2020
a116e7b
Rollup merge of #72376 - wesleywiser:record_cgu_name, r=Mark-Simulacrum
RalfJung May 22, 2020
37587af
Rollup merge of #72399 - Lucretiel:ipv4-display-fast, r=kennytm
RalfJung May 22, 2020
e7503ca
Rollup merge of #72435 - petrochenkov:cratetypesopt, r=Mark-Simulacrum
RalfJung May 22, 2020
dc4b9fd
Allow rust-highfive to label issues it creates.
Elinvynia May 20, 2020
215f2d3
Auto merge of #72464 - RalfJung:rollup-xhm7w7u, r=RalfJung
bors May 22, 2020
07b1de4
Report error from opener in bootstrap
dtolnay May 22, 2020
dd78839
Rollup merge of #71289 - xliiv:70802-intra-self, r=GuillaumeGomez
Dylan-DPC May 22, 2020
47f3c44
Rollup merge of #72375 - GuillaumeGomez:cleanup-e0599, r=Dylan-DPC
Dylan-DPC May 22, 2020
84fbbde
Rollup merge of #72385 - spastorino:add-exclude-labels, r=Mark-Simula…
Dylan-DPC May 22, 2020
01adfe1
Rollup merge of #72395 - Elinvynia:highfive, r=Mark-Simulacrum
Dylan-DPC May 22, 2020
3083ce7
Rollup merge of #72453 - dtolnay:open, r=Mark-Simulacrum
Dylan-DPC May 22, 2020
141ce5f
Rollup merge of #72459 - yoshuawuyts:into-future, r=nikomatsakis
Dylan-DPC May 22, 2020
bf1b998
Rollup merge of #72461 - GuillaumeGomez:cleanup-e0600, r=Dylan-DPC
Dylan-DPC May 22, 2020
9f82785
Replace `rustc_data_structures::sync::Once` with `OnceCell`
ecstatic-morse May 16, 2020
c282c1c
Use `OnceCell` instead of `Once`
ecstatic-morse May 16, 2020
f17e2c9
Use `OnceCell` for predecessor cache
ecstatic-morse May 16, 2020
307153e
Switch to non-doc comment
ecstatic-morse May 16, 2020
7f940ef
Auto merge of #72256 - ecstatic-morse:once-cell, r=Mark-Simulacrum
bors May 23, 2020
75b0a68
Auto merge of #72478 - Dylan-DPC:rollup-vval8du, r=Dylan-DPC
bors May 23, 2020
58fe05a
Add test for #69415
JohnTitor May 23, 2020
47e35cb
Add test for #72455
JohnTitor May 23, 2020
749d9e7
Correct small typo: 'not' -> 'note'
shepmaster May 23, 2020
1c9b96b
add warning sign to UB examples
RalfJung May 21, 2020
b24030f
Rollup merge of #72292 - ldm0:derefsteps, r=estebank
Dylan-DPC May 23, 2020
d5e3009
Rollup merge of #72431 - RalfJung:ub-warning, r=shepmaster
Dylan-DPC May 23, 2020
67759b7
Rollup merge of #72446 - dtolnay:ord, r=petrochenkov
Dylan-DPC May 23, 2020
e91897d
Rollup merge of #72492 - JohnTitor:add-tests, r=matthewjasper
Dylan-DPC May 23, 2020
a03bf3f
Rollup merge of #72496 - shepmaster:typo, r=Dylan-DPC
Dylan-DPC May 23, 2020
8970e8b
Auto merge of #72504 - Dylan-DPC:rollup-6wi1ifz, r=Dylan-DPC
bors May 23, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
[submodule "src/llvm-project"]
path = src/llvm-project
url = https://github.com/rust-lang/llvm-project.git
branch = rustc/9.0-2019-12-19
branch = rustc/10.0-2020-05-05
[submodule "src/doc/embedded-book"]
path = src/doc/embedded-book
url = https://github.com/rust-embedded/book.git
31 changes: 17 additions & 14 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ dependencies = [
"lazy_static 1.4.0",
"libc",
"num_cpus",
"opener",
"pretty_assertions",
"serde",
"serde_json",
Expand Down Expand Up @@ -635,9 +636,9 @@ dependencies = [

[[package]]
name = "compiler_builtins"
version = "0.1.27"
version = "0.1.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38f18416546abfbf8d801c555a0e99524453e7214f9cc9107ad49de3d5948ccc"
checksum = "439a6fab343b1dab347823537734a5cd4ae6ae2000b465ab886f64cdb723bd14"
dependencies = [
"cc",
"rustc-std-workspace-core",
Expand Down Expand Up @@ -1012,9 +1013,9 @@ dependencies = [

[[package]]
name = "dlmalloc"
version = "0.1.3"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f283302e035e61c23f2b86b3093e8c6273a4c3125742d6087e96ade001ca5e63"
checksum = "35055b1021724f4eb5262eb49130eebff23fc59fc5a14160e05faad8eeb36673"
dependencies = [
"compiler_builtins",
"libc",
Expand Down Expand Up @@ -1625,9 +1626,9 @@ dependencies = [

[[package]]
name = "im-rc"
version = "14.0.0"
version = "15.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9ad726dce25993be6352b0bff048e4d2647440c0a673d32257c4fac49356d18"
checksum = "3ca8957e71f04a205cb162508f9326aea04676c8dfd0711220190d6b83664f3f"
dependencies = [
"bitmaps",
"rand_core 0.5.1",
Expand Down Expand Up @@ -2327,6 +2328,9 @@ name = "once_cell"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6a04cb71e910d0034815600180f62a95bf6e67942d7ab52a166a68c7d7e9cd0"
dependencies = [
"parking_lot 0.9.0",
]

[[package]]
name = "opaque-debug"
Expand Down Expand Up @@ -3625,6 +3629,7 @@ dependencies = [
name = "rustc_ast"
version = "0.0.0"
dependencies = [
"bitflags",
"log",
"rustc_data_structures",
"rustc_index",
Expand Down Expand Up @@ -3678,6 +3683,7 @@ dependencies = [
"log",
"rustc_ast",
"rustc_span",
"rustc_target",
]

[[package]]
Expand Down Expand Up @@ -3789,6 +3795,7 @@ dependencies = [
"libc",
"log",
"measureme",
"once_cell",
"parking_lot 0.10.2",
"rustc-hash",
"rustc-rayon",
Expand Down Expand Up @@ -4086,7 +4093,6 @@ dependencies = [
"log",
"measureme",
"polonius-engine",
"rustc-rayon",
"rustc-rayon-core",
"rustc_apfloat",
"rustc_ast",
Expand Down Expand Up @@ -4149,7 +4155,6 @@ dependencies = [
"rustc_hir",
"rustc_index",
"rustc_infer",
"rustc_macros",
"rustc_middle",
"rustc_session",
"rustc_span",
Expand Down Expand Up @@ -4293,7 +4298,6 @@ dependencies = [
"rustc_errors",
"rustc_feature",
"rustc_fs_util",
"rustc_index",
"rustc_span",
"rustc_target",
"serialize",
Expand Down Expand Up @@ -4326,7 +4330,6 @@ dependencies = [
"rustc_ast",
"rustc_data_structures",
"rustc_hir",
"rustc_metadata",
"rustc_middle",
"rustc_session",
"rustc_span",
Expand Down Expand Up @@ -4719,9 +4722,9 @@ checksum = "0df90a788073e8d0235a67e50441d47db7c8ad9debd91cbf43736a2a92d36537"

[[package]]
name = "sized-chunks"
version = "0.5.0"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62db64dd92b3b54314b1e216c274634ca2b3fe8da8b3873be670cb1ac4dad30f"
checksum = "1ec31ceca5644fa6d444cc77548b88b67f46db6f7c71683b0f9336e671830d2f"
dependencies = [
"bitmaps",
"typenum",
Expand Down Expand Up @@ -5413,9 +5416,9 @@ dependencies = [

[[package]]
name = "typenum"
version = "1.10.0"
version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"

[[package]]
name = "ucd-parse"
Expand Down
4 changes: 2 additions & 2 deletions config.toml.example
Original file line number Diff line number Diff line change
Expand Up @@ -312,11 +312,11 @@

# Whether or not debug assertions are enabled for the compiler and standard
# library.
#debug-assertions = false
#debug-assertions = debug

# Whether or not debug assertions are enabled for the standard library.
# Overrides the `debug-assertions` option, if defined.
#debug-assertions-std = false
#debug-assertions-std = debug-assertions

# Debuginfo level for most of Rust code, corresponds to the `-C debuginfo=N` option of `rustc`.
# `0` - no debug info
Expand Down
1 change: 1 addition & 0 deletions src/bootstrap/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ toml = "0.5"
lazy_static = "1.3.0"
time = "0.1"
ignore = "0.4.10"
opener = "0.4"

[target.'cfg(windows)'.dependencies.winapi]
version = "0.3"
Expand Down
2 changes: 1 addition & 1 deletion src/bootstrap/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,7 @@ impl<'a> Builder<'a> {
Subcommand::Check { ref paths } => (Kind::Check, &paths[..]),
Subcommand::Clippy { ref paths } => (Kind::Clippy, &paths[..]),
Subcommand::Fix { ref paths } => (Kind::Fix, &paths[..]),
Subcommand::Doc { ref paths } => (Kind::Doc, &paths[..]),
Subcommand::Doc { ref paths, .. } => (Kind::Doc, &paths[..]),
Subcommand::Test { ref paths, .. } => (Kind::Test, &paths[..]),
Subcommand::Bench { ref paths, .. } => (Kind::Bench, &paths[..]),
Subcommand::Dist { ref paths } => (Kind::Dist, &paths[..]),
Expand Down
16 changes: 9 additions & 7 deletions src/bootstrap/compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -125,15 +125,16 @@ fn copy_third_party_objects(
target_deps.push(target);
};

// Copies the crt(1,i,n).o startup objects
// Copies the CRT objects.
//
// Since musl supports fully static linking, we can cross link for it even
// with a glibc-targeting toolchain, given we have the appropriate startup
// files. As those shipped with glibc won't work, copy the ones provided by
// musl so we have them on linux-gnu hosts.
// rustc historically provides a more self-contained installation for musl targets
// not requiring the presence of a native musl toolchain. For example, it can fall back
// to using gcc from a glibc-targeting toolchain for linking.
// To do that we have to distribute musl startup objects as a part of Rust toolchain
// and link with them manually in the self-contained mode.
if target.contains("musl") {
let srcdir = builder.musl_root(target).unwrap().join("lib");
for &obj in &["crt1.o", "crti.o", "crtn.o"] {
for &obj in &["crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o"] {
copy_and_stamp(&srcdir, obj);
}
} else if target.ends_with("-wasi") {
Expand Down Expand Up @@ -772,7 +773,8 @@ impl Step for Assemble {

// Ensure that `libLLVM.so` ends up in the newly build compiler directory,
// so that it can be found when the newly built `rustc` is run.
dist::maybe_install_llvm_dylib(builder, target_compiler.host, &sysroot);
dist::maybe_install_llvm_runtime(builder, target_compiler.host, &sysroot);
dist::maybe_install_llvm_target(builder, target_compiler.host, &sysroot);

// Link the compiler binary itself into place
let out_dir = builder.cargo_out(build_compiler, Mode::Rustc, host);
Expand Down
47 changes: 28 additions & 19 deletions src/bootstrap/dist.rs
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ impl Step for Rustc {
// components like the llvm tools and LLD. LLD is included below and
// tools/LLDB come later, so let's just throw it in the rustc
// component for now.
maybe_install_llvm_dylib(builder, host, image);
maybe_install_llvm_runtime(builder, host, image);

// Copy over lld if it's there
if builder.config.lld_enabled {
Expand Down Expand Up @@ -2228,27 +2228,18 @@ impl Step for HashSign {
}
}

// Maybe add libLLVM.so to the lib-dir. It will only have been built if
// LLVM tools are linked dynamically.
//
// We add this to both the libdir of the rustc binary itself (for it to load at
// runtime) and also to the target directory so it can find it at link-time.
//
// Note: This function does no yet support Windows but we also don't support
// linking LLVM tools dynamically on Windows yet.
pub fn maybe_install_llvm_dylib(builder: &Builder<'_>, target: Interned<String>, sysroot: &Path) {
/// Maybe add libLLVM.so to the given destination lib-dir. It will only have
/// been built if LLVM tools are linked dynamically.
///
/// Note: This function does not yet support Windows, but we also don't support
/// linking LLVM tools dynamically on Windows yet.
fn maybe_install_llvm(builder: &Builder<'_>, target: Interned<String>, dst_libdir: &Path) {
let src_libdir = builder.llvm_out(target).join("lib");
let dst_libdir1 = sysroot.join("lib/rustlib").join(&*target).join("lib");
let dst_libdir2 =
sysroot.join(builder.sysroot_libdir_relative(Compiler { stage: 1, host: target }));
t!(fs::create_dir_all(&dst_libdir1));
t!(fs::create_dir_all(&dst_libdir2));

if target.contains("apple-darwin") {
let llvm_dylib_path = src_libdir.join("libLLVM.dylib");
if llvm_dylib_path.exists() {
builder.install(&llvm_dylib_path, &dst_libdir1, 0o644);
builder.install(&llvm_dylib_path, &dst_libdir2, 0o644);
builder.install(&llvm_dylib_path, dst_libdir, 0o644);
}
return;
}
Expand All @@ -2262,11 +2253,23 @@ pub fn maybe_install_llvm_dylib(builder: &Builder<'_>, target: Interned<String>,
panic!("dist: Error calling canonicalize path `{}`: {}", llvm_dylib_path.display(), e);
});

builder.install(&llvm_dylib_path, &dst_libdir1, 0o644);
builder.install(&llvm_dylib_path, &dst_libdir2, 0o644);
builder.install(&llvm_dylib_path, dst_libdir, 0o644);
}
}

/// Maybe add libLLVM.so to the target lib-dir for linking.
pub fn maybe_install_llvm_target(builder: &Builder<'_>, target: Interned<String>, sysroot: &Path) {
let dst_libdir = sysroot.join("lib/rustlib").join(&*target).join("lib");
maybe_install_llvm(builder, target, &dst_libdir);
}

/// Maybe add libLLVM.so to the runtime lib-dir for rustc itself.
pub fn maybe_install_llvm_runtime(builder: &Builder<'_>, target: Interned<String>, sysroot: &Path) {
let dst_libdir =
sysroot.join(builder.sysroot_libdir_relative(Compiler { stage: 1, host: target }));
maybe_install_llvm(builder, target, &dst_libdir);
}

#[derive(Clone, Debug, Eq, Hash, PartialEq)]
pub struct LlvmTools {
pub target: Interned<String>,
Expand Down Expand Up @@ -2314,6 +2317,12 @@ impl Step for LlvmTools {
builder.install(&exe, &dst_bindir, 0o755);
}

// Copy libLLVM.so to the target lib dir as well, so the RPATH like
// `$ORIGIN/../lib` can find it. It may also be used as a dependency
// of `rustc-dev` to support the inherited `-lLLVM` when using the
// compiler libraries.
maybe_install_llvm_target(builder, target, &image);

// Prepare the overlay
let overlay = tmp.join("llvm-tools-overlay");
drop(fs::remove_dir_all(&overlay));
Expand Down
59 changes: 58 additions & 1 deletion src/bootstrap/doc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,35 @@ book!(
RustdocBook, "src/doc/rustdoc", "rustdoc";
);

fn open(builder: &Builder<'_>, path: impl AsRef<Path>) {
if builder.config.dry_run || !builder.config.cmd.open() {
return;
}

let path = path.as_ref();
builder.info(&format!("Opening doc {}", path.display()));
if let Err(err) = opener::open(path) {
builder.info(&format!("{}\n", err));
}
}

// "src/libstd" -> ["src", "libstd"]
//
// Used for deciding whether a particular step is one requested by the user on
// the `x.py doc` command line, which determines whether `--open` will open that
// page.
fn components_simplified(path: &PathBuf) -> Vec<&str> {
path.iter().map(|component| component.to_str().unwrap_or("???")).collect()
}

fn is_explicit_request(builder: &Builder<'_>, path: &str) -> bool {
builder
.paths
.iter()
.map(components_simplified)
.any(|requested| requested.iter().copied().eq(path.split("/")))
}

#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct UnstableBook {
target: Interned<String>,
Expand Down Expand Up @@ -200,6 +229,12 @@ impl Step for TheBook {

invoke_rustdoc(builder, compiler, target, path);
}

if is_explicit_request(builder, "src/doc/book") {
let out = builder.doc_out(target);
let index = out.join("book").join("index.html");
open(builder, &index);
}
}
}

Expand Down Expand Up @@ -338,6 +373,13 @@ impl Step for Standalone {
}
builder.run(&mut cmd);
}

// We open doc/index.html as the default if invoked as `x.py doc --open`
// with no particular explicit doc requested (e.g. src/libcore).
if builder.paths.is_empty() || is_explicit_request(builder, "src/doc") {
let index = out.join("index.html");
open(builder, &index);
}
}
}

Expand Down Expand Up @@ -418,10 +460,25 @@ impl Step for Std {

builder.run(&mut cargo.into());
};
for krate in &["alloc", "core", "std", "proc_macro", "test"] {
let krates = ["alloc", "core", "std", "proc_macro", "test"];
for krate in &krates {
run_cargo_rustdoc_for(krate);
}
builder.cp_r(&my_out, &out);

// Look for src/libstd, src/libcore etc in the `x.py doc` arguments and
// open the corresponding rendered docs.
for path in builder.paths.iter().map(components_simplified) {
if path.get(0) == Some(&"src")
&& path.get(1).map_or(false, |dir| dir.starts_with("lib"))
{
let requested_crate = &path[1][3..];
if krates.contains(&requested_crate) {
let index = out.join(requested_crate).join("index.html");
open(builder, &index);
}
}
}
}
}

Expand Down
Loading