Remove -Z coherence
Fixed a minor typo.
Fix missing code map entry for uses of `include_str!`.
proto is gone

The following files need to be adjusted, too (i can't do it now):
- doc/po/ja/rust.md.po
- doc/po/rust.md.pot
Some rustdoc manual fixes

Clarify that it's sundown, and that we don't support magic
Disable all unwinding on -Z no-landing-pads LTO

When performing LTO, the rust compiler has an opportunity to completely strip
all landing pads in all dependent libraries. I've modified the LTO pass to
recognize the -Z no-landing-pads option when also running an LTO pass to flag
everything in LLVM as nothrow. I've verified that this prevents any and all
invoke instructions from being emitted.

I believe that this is one of our best options for moving forward with
accomodating use-cases where unwinding doesn't really make sense. This will
allow libraries to be built with landing pads by default but allow usage of them
in contexts where landing pads aren't necessary.

cc #10780
Embed Windows application manifest.
Add std::io::util

This adds a bunch of useful Reader and Writer implementations. I'm not a
huge fan of the name `util` but I can't think of a better name and I
don't want to make `std::io` any longer than it already is.
Don't always modify the symbol table in rlibs

Turns out that one some platforms the ar/ranlib tool will die with an assertion
if the file being added doesn't actually have any symbols (or if it's just not
an object file presumably).

This functionality is already all exercised on the bots, it just turns out that
the bots don't have an ar tool which dies in this situation, so it's difficult
for me to add a test.

Closes #10907
Fixed "unused variable" errors and trailing whitespace.
Add --dep-info to write Makefile-compatible dependency info.

When --dep-info is given, rustc will write out a `$input_base.d` file in the
output directory that contains Makefile compatible dependency information for
use with tools like make and ninja.
Add test for --dep-info.
auto merge of #10878 : vadimcn/rust/manifest, r=alexcrichton

In order to avoid UAC installer detection silliness...

Closes #10512
auto merge of #10698 : metajack/rust/dep-info, r=alexcrichton

This isn't super useful for libraries yet without #10593.

Fixes #7633.
auto merge of #10895 : sfackler/rust/io-util, r=alexcrichton

This adds a bunch of useful Reader and Writer implementations. I'm not a
huge fan of the name `util` but I can't think of a better name and I
don't want to make `std::io` any longer than it already is.
auto merge of #10908 : alexcrichton/rust/issue-10907, r=cmr

Turns out that one some platforms the ar/ranlib tool will die with an assertion
if the file being added doesn't actually have any symbols (or if it's just not
an object file presumably).

This functionality is already all exercised on the bots, it just turns out that
the bots don't have an ar tool which dies in this situation, so it's difficult
for me to add a test.

Closes #10907
auto merge of #10909 : sanxiyn/rust/coherence, r=alexcrichton

Now coherence checking is always done.
auto merge of #10912 : DiamondLovesYou/rust/master, r=alexcrichton
auto merge of #10913 : cmr/rust/rustdoc_man, r=huonw

Clarify that it's sundown, and that we don't support magic
auto merge of #10916 : alexcrichton/rust/nounwind, r=pcwalton

When performing LTO, the rust compiler has an opportunity to completely strip
all landing pads in all dependent libraries. I've modified the LTO pass to
recognize the -Z no-landing-pads option when also running an LTO pass to flag
everything in LLVM as nothrow. I've verified that this prevents any and all
invoke instructions from being emitted.

I believe that this is one of our best options for moving forward with
accomodating use-cases where unwinding doesn't really make sense. This will
allow libraries to be built with landing pads by default but allow usage of them
in contexts where landing pads aren't necessary.