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

Rollup of 9 pull requests #41115

Closed
wants to merge 28 commits into from
Closed

Rollup of 9 pull requests #41115

wants to merge 28 commits into from

Conversation

cuviper and others added 28 commits April 3, 2017 13:46
With `-mcpu=power4`, code might use instructions like `fcfid`, excluding
older CPUs like the PowerPC G4, which apparently some users would like
to use.  The generic `-mcpu=powerpc` should stick to pure 32-bit PowerPC
instructions.

Fixes rust-lang/cargo#3852.
This is a random stab towards rust-lang#38618, no idea if it'll work. But hey more
up-to-date software is better, right?
Travis failures indicated the OuterVisitor#visit_item method caused a
panic. The Visitor's inner visitor actually relies on the visitor
visiting every item's NodeId. I forgot to perform that call in the
ItemGlobalAsm match arm, leading to build breakage. The fix is
simple: call visit_id(...) for ItemGlobalAsm
Tuple fields don't have an `&T` in their declaration that can be changed
to `&mut T` - skip them..

Fixes rust-lang#41104.
* Since the switch to pulldown-cmark reference links need a blank line
before the URLs.
* Reference link references are not case sensitive.
* Doc comments need to be indented uniformly otherwise rustdoc gets
confused.
Implement global_asm!() (RFC 1548)

This is a first attempt. ~~One (potential) problem I haven't solved is how to handle multiple usages of `global_asm!` in a module/crate. It looks like `LLVMSetModuleInlineAsm` overwrites module asm, and `LLVMAppendModuleInlineAsm` is not provided in LLVM C headers 😦~~

I can provide more detail as needed, but honestly, there's not a lot going on here.

r? @eddyb

CC @Amanieu @jackpot51

Tracking issue: rust-lang#35119
…komatsakis

On demandify reachability

cc rust-lang#40746

I tried following this guidance from rust-lang#40746:
> The following tasks currently execute before a tcx is built, but they could be easily converted into queries that are requested after tcx is built. The main reason they are the way they are was to avoid a gratuitious refcell (but using the refcell map seems fine)...

but the result of moving `region_maps` out of `TyCtxt` and into a query caused a lot of churn, and seems like it could potentially result in a rather large performance hit, since it means a dep-graph lookup on every use of `region_maps` (rather than just a field access). Possibly `TyCtxt` could store a `RefCell<Option<RegionMap>>` internally and use that to prevent repeat lookups, but that feels like it's duplicating the work of the dep-graph. @nikomatsakis What did you have in mind for this?
Only use cargo-vendor if building from git sources

The only time we need to vendor sources is when building from git.  If one is
building from a rustc source tarball, everything should already be in place.
This also matters for distros which do offline builds, as they can't install
cargo-vendor this way.

This adds a common `Build::src_is_git` flag, and then uses it in the dist-src
target to decide whether to install or use `cargo-vendor` at all.

Fixes rust-lang#41042.
… r=alexcrichton

Re-enable appveyor cache

After breaking the queue last time, I'm cautiously back with a PR to re-enable caching on appveyor.

If you look at https://ci.appveyor.com/project/rust-lang/rust/build/1.0.2623/job/46o90by4ari6gege (one of the multiple runs that started failed, there are actually two errors - one for restoring the cache, one right at the bottom for creating a directory. I only noticed the restore error at the time as I was a bit rushed to revert and didn't stop to wonder why it continued - turns out appveyor [does not abort on cache restore failure](appveyor/ci#723).

Turns out the cause of the build failures was the cache directory existing and me being thinking that because mkdir on windows is [recursive by default](http://stackoverflow.com/a/905239/2352259), it ignores the error if the directory already exists. Apparently this is not true, so now it checks if the directory exists before attempting to create.

In addition, I've added some more paranoia to double check everything is sane.
…hton

dist-powerpc-linux: use a pure 32-bit CPU profile

With `-mcpu=power4`, code might use instructions like `fcfid`, excluding
older CPUs like the PowerPC G4, which apparently some users would like
to use.  The generic `-mcpu=powerpc` should stick to pure 32-bit PowerPC
instructions.

Fixes rust-lang/cargo#3852.
travis: Update musl for i686/x86_64

This is a random stab towards rust-lang#38618, no idea if it'll work. But hey more
up-to-date software is better, right?
don't try to blame tuple fields for immutability

Tuple fields don't have an `&T` in their declaration that can be changed
to `&mut T` - skip them..

Fixes rust-lang#41104.

r? @nikomatsakis
…umeGomez

Fix Markdown issues in the docs

* Since the switch to pulldown-cmark reference links need a blank line
before the URLs. (rust-lang#40912)
* Reference link references are not case sensitive.
* Doc comments need to be indented uniformly otherwise rustdoc gets
confused.
.gitmodules: use the official Git URL w/o redirect
@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @arielb1 (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@frewsxcv
Copy link
Member Author

frewsxcv commented Apr 6, 2017

@bors r+ p=10

@bors
Copy link
Contributor

bors commented Apr 6, 2017

📌 Commit 709f614 has been approved by frewsxcv

@bors
Copy link
Contributor

bors commented Apr 6, 2017

⌛ Testing commit 709f614 with merge 0e0153a...

@bors
Copy link
Contributor

bors commented Apr 6, 2017

💔 Test failed - status-appveyor

@aidanhs
Copy link
Member

aidanhs commented Apr 6, 2017

[01:45:20] failures:
[01:45:20] 
[01:45:20] ---- [run-pass] run-pass\simple_global_asm.rs stdout ----
[01:45:20]      
[01:45:20] error: compilation failed!
[01:45:20] status: exit code: 101
[01:45:20] command: PATH="C:\projects\rust\build\i686-pc-windows-gnu\stage2\bin;C:\projects\rust\build\i686-pc-windows-gnu\stage2-tools\i686-pc-windows-gnu\release\deps;C:\projects\rust\build\i686-pc-windows-gnu\stage2\lib\rustlib\i686-pc-windows-gnu\lib;C:\Program Files 
(x86)\Inno Setup 5;C:\Python27;C:\projects\rust\mingw32\bin;C:\msys64\usr\bin;C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\7-Zip;C:\Program Files\Microsoft\Web Platform Ins
taller;C:\Tools\GitVersion;C:\Tools\PsTools;C:\Program Files\Git LFS;C:\Program Files (x86)\Subversion\bin;C:\Program Files\Microsoft SQL Server\120\Tools\Binn;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn;C:\Program Files (x86)\Microsoft SQL Server
\120\Tools\Binn;C:\Program Files\Microsoft SQL Server\120\DTS\Binn;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio;C:\Tools\WebDriver;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Commo
n7\IDE\PrivateAssemblies;C:\Program Files (x86)\Microsoft SDKs\Azure\CLI\wbin;C:\Ruby193\bin;C:\Tools\NUnit\bin;C:\Tools\xUnit;C:\Tools\MSpec;C:\Tools\Coverity\bin;C:\Program Files (x86)\CMake\bin;C:\go\bin;C:\Program Files\Java\jdk1.8.0\bin;C:\Python27;C:\Program Files\n
odejs;C:\Program Files (x86)\iojs;C:\Program Files\iojs;C:\Users\appveyor\AppData\Roaming\npm;C:\Program Files\Microsoft SQL Server\130\Tools\Binn;C:\Program Files (x86)\MSBuild\14.0\Bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\
SQLDB\DAC\120;C:\Tools\NuGet;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files\Microsoft DNX\Dnvm;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn;C:\Program Files (x86)\Microsoft SQL
 Server\130\Tools\Binn;C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn;C:\Program Files\Microsoft SQL Server\130\DTS\Binn;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn;C:\Program Files (x86)\Apac
he\Maven\bin;C:\Python27\Scripts;C:\Tools\NUnit3;C:\ProgramData\chocolatey\bin;C:\Program Files\Mercurial;C:\Program Files (x86)\Yarn\bin;C:\Program Files\LLVM\bin;C:\Program Files\dotnet;C:\Program Files\erl8.3\bin;C:\Tools\curl\bin;C:\Program Files\Microsoft Service Fab
ric\bin\Fabric\Fabric.Code;C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager;C:\Program Files (x86)\nodejs;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\Amazon\AWSCLI;C:\Users\appveyor\AppData\Local\Yarn\.bin;C:
\Users\appveyor\AppData\Roaming\npm;C:\Program Files\AppVeyor\BuildAgent;C:\projects\rust;C:\projects\rust\handle" C:\projects\rust\build\i686-pc-windows-gnu\stage2\bin\rustc.exe C:\projects\rust\src/test\run-pass\simple_global_asm.rs -L C:\projects\rust\build\i686-pc-win
dows-gnu\test\run-pass --target=i686-pc-windows-gnu --error-format json -L C:\projects\rust\build\i686-pc-windows-gnu\test\run-pass\simple_global_asm.stage2-i686-pc-windows-gnu.run-pass.libaux -C prefer-dynamic -o C:\projects\rust\build\i686-pc-windows-gnu\test\run-pass\simple_global_asm.stage2-i686-pc-windows-gnu.exe -Crpath -O -Lnative=C:\projects\rust\build\i686-pc-windows-gnu\native\rust-test-helpers
[01:45:20] stdout:
[01:45:20] ------------------------------------------
[01:45:20] 
[01:45:20] ------------------------------------------
[01:45:20] stderr:
[01:45:20] ------------------------------------------
[01:45:20] {"message":"foreign function is never used: `foo`","code":null,"level":"warning","spans":[{"file_name":"C:\\projects\\rust\\src/test\\run-pass\\simple_global_asm.rs","byte_start":617,"byte_end":626,"line_start":21,"line_end":21,"column_start":5,"column_end":14,"is_primary":true,"text":[{"text":"    fn foo();","highlight_start":5,"highlight_end":14}],"label":null,"suggested_replacement":null,"expansion":null}],"children":[{"message":"#[warn(dead_code)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":null}
[01:45:20] {"message":"linking with `gcc` failed: exit code: 1","code":null,"level":"error","spans":[],"children":[{"message":"\"gcc\" \"-Wl,--enable-long-section-names\" \"-fno-use-linker-plugin\" \"-Wl,--nxcompat\" \"-nostdlib\" \"-Wl,--large-address-aware\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\stage2\\\\lib\\\\rustlib\\\\i686-pc-windows-gnu\\\\lib\\\\crt2.o\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\stage2\\\\lib\\\\rustlib\\\\i686-pc-windows-gnu\\\\lib\\\\rsbegin.o\" \"-L\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\stage2\\\\lib\\\\rustlib\\\\i686-pc-windows-gnu\\\\lib\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\test\\\\run-pass\\\\simple_global_asm.0.o\" \"-o\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\test\\\\run-pass\\\\simple_global_asm.stage2-i686-pc-windows-gnu.exe\" \"-Wl,--gc-sections\" \"-nodefaultlibs\" \"-L\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\test\\\\run-pass\" \"-L\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\test\\\\run-pass\\\\simple_global_asm.stage2-i686-pc-windows-gnu.run-pass.libaux\" \"-L\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\native\\\\rust-test-helpers\" \"-L\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\stage2\\\\lib\\\\rustlib\\\\i686-pc-windows-gnu\\\\lib\" \"-L\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\stage2\\\\lib\\\\rustlib\\\\i686-pc-windows-gnu\\\\lib\" \"-l\" \"std-4d6881ec6132b951\" \"-Wl,-Bstatic\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\stage2\\\\lib\\\\rustlib\\\\i686-pc-windows-gnu\\\\lib\\\\libcompiler_builtins-7ac5a34e9b48514f.rlib\" \"-Wl,-Bdynamic\" \"-l\" \"advapi32\" \"-l\" \"ws2_32\" \"-l\" \"userenv\" \"-l\" \"shell32\" \"-lmingwex\" \"-lmingw32\" \"-lgcc\" \"-lmsvcrt\" \"-luser32\" \"-lkernel32\" \"C:\\\\projects\\\\rust\\\\build\\\\i686-pc-windows-gnu\\\\stage2\\\\lib\\\\rustlib\\\\i686-pc-windows-gnu\\\\lib\\\\rsend.o\"","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"C:\\projects\\rust\\build\\i686-pc-windows-gnu\\test\\run-pass\\simple_global_asm.0.o:(.text+0x1): undefined reference to `baz'\r\ncollect2.exe: error: ld returned 1 exit status\r\n","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":null}
[01:45:20] {"message":"aborting due to previous error","code":null,"level":"error","spans":[],"children":[],"rendered":null}
[01:45:20] 
[01:45:20] ------------------------------------------
[01:45:20] 
[01:45:20] thread '[run-pass] run-pass\simple_global_asm.rs' panicked at 'explicit panic', src\tools\compiletest\src\runtest.rs:2621
[01:45:20] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[01:45:20] 
[01:45:20] 
[01:45:20] failures:
[01:45:20]     [run-pass] run-pass\simple_global_asm.rs

Seems valid, I guess from the global asm PR?

@frewsxcv frewsxcv closed this Apr 6, 2017
@Centril Centril added the rollup A PR which is a rollup label Oct 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup
Projects
None yet
Development

Successfully merging this pull request may close these issues.